In software development, the handoff of work from Product Manager to Engineer to QA was always an anti-pattern. It’s a shame it’s taken AI to wake people up to that organisational religion. One size fits all is never true.
With methodologies, each one has its context and place in an organisation. The same is true for organisation design. There are times when creating departments focused around a specialisation makes sense but they shouldn’t be the dominant pattern in a company’s structure. Throughout history, success has arisen from multidisciplinary teams. When an activity is well defined and repetitive, a single skill might suffice. Building a brick wall, for example, requires only skilled bricklayers, but building a house demands a variety of trades.
When you’re building a housing estate, treating trades as separate teams and coordinating the build via a project manager can result in reasonable efficiency. Building a bespoke house is different, and trying to treat it as mass production will result in delays, mistakes, rework and budget overrun.
The same is true for any activity where something new is created; software is a classic example of that. Despite this, most companies create departments for each of the trades, then try to coordinate them to deliver a single thing. The results are rarely pretty.
The answer is simple. Bring people with a range of skills together in one team and give them the autonomy to deliver.
The reason this doesn’t happen is because their’s already a multidisciplinary team in a company, and that’s the executive team. That team has one of each trade, but that’s not how they organise the rest of the company. Instead they build mini empires based on their personal skillset.
This is what the organisation expects of them and how they’re measured, so this is what they do. Unfortunately, a structure like this creates separation, misalignment and ultimately dysfunction. Add to this the tension introduced by each leader being set their own independent objectives, and the problem amplifies.
All this stems from a belief that the only growth that matters is that of production. To scale mass production, hierarchy is the most effective option. Direction and task allocation needs to come from a few and be disseminated to the majority. Variety is counterproductive.
This doesn’t work if you want to scale intelligence, creativity or agility. Quite the opposite. Hierarchy deliberately restricts independent thinking and variation. It has to in order to ensure consistency prevails. There is no room for creative thinking or divergent thinking when you have an order for a million identical widgets to deliver.
So, in those areas of your company where innovation is valued and new things need to be created, you need to loosen up on the hierarchy, bring different skills together, and give teams the autonomy to deliver your overall goals.
In the world of software development this means product, engineering and QA are all the same team, and none is more important than the others. Do this, and things will move faster and your products will improve. Better still, as a leader, you’ll have a lot more time to focus on strategic matters rather than management.
Wouldn’t that be nice for a change?
