Projects and companies will always be more successful when people understand each other better. You could do that with team-building away days, with an open plan office, or a specific technical practice. I’ve also had a lot of success closing the gaps by focusing people on quantified outcomes.
As Tom Gilb regularly points out, when delivering projects, or developing products, ambiguity is a common source of failure. There are problems partly in (mis)understanding what people want in the first place, and also in when it’s sufficient to stop work to avoid over-engineering. A great approach, then, is to quantify what success looks like. A statement like “improve usability” seems clear, but it’s wide open to interpretation. It could mean “number of clicks to perform (given) specific tasks”; it could mean “time for a complete beginner to perform specific tasks”; it could mean “time to train new clients”; it could mean “how many questions a new user can successfully answer about the product following five minutes of unaided use”. Unless everyone agrees on those things to begin with there is vast scope for going off-track.
But quantifying goals provides enormous focus. Suddenly everyone is aiming at exactly the same results, and it is no longer ambiguous. Conversations are more about those (business) outcomes, not technical details. Questions are less about “how many features have we delivered?” and more about “What have we done to move the needle?”. When the acceptable levels of achievement are met, everyone is clear that it’s time to move on to the next priority.
There may be challenges in believing all kinds of outcomes are quantifiable (they are, but people often need convincing), and there is a real exercise to be done in capturing what the metrics are. But once achieved the results are hugely beneficial.