Software and technology are bringing a lot of changes to our lives - just think of the things in the news set to make waves in the near future - robots, AI, blockchain, and self-driving vehicles.
If only part of the revolutionary claims for this tech comes true, the world will look very different.
This cocktail of technologies brings a lot of opportunity as well a great deal of upheaval.
One thing I've noticed about this digitally transformed world: every technical requirement of a project is also a business requirement.
I've often heard these words spoken: "That's just technical detail."
But I agree with less and less as time goes on.
It sounds wrong now. Just a technical detail? What product are we building here?
Yet it's true, in a way. It is a technical detail. But that doesn't mean that it isn't important or you can just ignore it or you can pretend to ignore it until it becomes a problem.
So how do we deal with this?
Over time we'll all benefit from current changes in eduction - more focus on reasoning, outcomes, and learning code will help. More people who know what code is and who have written a line or two will help demystify the whole thing a bit.
Business people: You need technical awareness and patience and you need to ask the good questions. Again, eduction will help.
Technical people: You also need patience and improved listening and communication skills. I've written before about the pain of the unasked question. Ignoring hard questions because you don't like the answer isn't OK. Ask the question you know is there.
We all need to get better at explaining trade-offs in non-technical ways. This really shouldn't be that hard.
But what is the quickest fix? What can happen now? Where do I see people stumble?
The answer is more agile adoption and commitment to great product owners.
Needed to spend half their time talking to people buying the product (getting their thoughts on the latest incremental release and how it delivered value) and half their time with the team creating the Backlog (showing them what the customers valued and what they didn't).
That would definitely help a team move fast and understand the right technical/business requirements very quickly.
It's why I believe so strongly that Agile is the right methodology and that following as closely as possible to the recommendations makes sense. I've seen a lot of product owners who did a lot of the first or a lot of the second, but only a few who did a great job of balancing both (and who were given the organizational bandwidth and charter to do it).
Today everything - every part of an application - is a business requirement. Waiting around for business experts to answer questions, when they have many other responsibilities, is a delay that almost no one can afford any more.
We all have to go fast.
And we all need the business expertise and customer awareness built into our teams.
I bring this up because it's something that I've heard a few times over the years (including recently) and I think it's worth examining the hidden anxiety behind this statement.
On one level, agile is not anything like communism. Agile practices extend some of the decision making in business to people close to the problem, people who will do the work. In this way, it's much more like a capitalist/democratic system than a communist/authoritarian model. In democracies individuals have agency/a vote/influence in the system (just like agile) and in capitalism individuals/businesses control the means of production and what work gets done, not a central authority (just like agile).
Looked at in this way, the answer to the question above is clearly 'No'. Agile equates to democracy and looks nothing like communist/authoritarian systems. But this doesn't get at the anxiety, which I think is important.
Why the comparison? Why do people say "Agile = Communism"
I think it's because in traditional businesses (a key feature of capitalism) the democratic principles of society don't extend inside the business. Inside the business the business owner and their appointed managers run the business and make key decisions. The businesses themselves demonstrate the authoritarian characteristics that the rest of society does not.
Looking at in this light, I think the anxiety could be expressed thus, "Agile is not like traditional business management and that makes me nervous. So, I will express my fear by equating it to something that also doesn't look like traditional business/capitalism, which is communism."
This fear is not unreasonable. Agile is different. It does distribute decision making differently. I think that it is hard to relinquish control and you should expect this type of reaction to change, as you should expect this reaction to ANY change at all. It's just one more manifestation of anxiety around change.
So, where does that leave you?
Understanding doesn't mean accepting. You understand the anxiety to facilitate the change, not give in to the resistors.
We've seen that the pace of change in life and business is accelerating. Predict and control structures become outdated too quickly. Your prediction will now almost certainly wrong because the assumptions that underlie your prediction lose their currency quite quickly.
Why rely on the assumptions of one person? Why not have a high functioning team working together? In this way, agile can be part of the antidote to the anxiety.
You (and your leadership team) need smart people working on effective teams with the ability to execute. Whether you call it Agile Management Practices or Holocracy or something else, it makes sense when the world changes quickly.
Of course, individual business owners and leaders are free to make decisions to run their companies in whatever way they see fit, that is capitalism.
But, as a leader, don't you want to hire the best people and get the most out of them? Empowering them is one way to do that. It does require you to let go of some control. And it does require you to have enough governance to ensure people don't bet the farm or the business without oversight.
But after that, you WANT people to feel ownership and make decisions. It's going to make them more loyal, successful employees, and it is going to help your business be more effective in the long run.