One of the questions I got in my Agile Practitioners talk startled me. Actually, it wasn’t the question that startled me, it was how I answered.
I was talking about why you cannot say “our organization is going agile” while saying: “we’ll get our developers into that agile business in a year”. I know it sounds funny, but you can’t really get WORKING SOFTWARE without the developers. It’s been tried before and failed miserably.
The question asked was: “But in order to succeed, you need to train the C-Level, and then managers, etc. Only then you get real backing for the development team”. I started to air-draw a waterfall in which training goes from one level to the next, and thinking back I was probably even shouting at the person who asked it (mental note: don’t do that again). I also said that for this to work, you need to support top-down training (from management) and bottom-up training (from the dev team) at the same time.
But after thinking a bit more I came to the conclusion that it’s not enough. It could work, but it requires a special ingredient to succeed.
The Special Ingredient
Let’s take an example from my day-to-day life: Unit testing. When does unit testing implementation succeed? When you’ve got a team leader, or an architect that can drive the change in his team. Usually the team lead has the technical knowledge and language to convince the team about the investment’s worth.
But move up one or more levels. Can it work when a CTO requires her organization to move to unit testing, without some team leads or developers involved? Rarely.
A team can go through the transformation, and successfully stick with it. But this transition rarely jumps over to other teams.
What’s missing in the team next door? The proper leadership (technical and managerial) that exists in that first team. And that’s the special ingredient – the right people in place.
That is the conclusion I’ve come to: If you want to do a sweeping change across the organization, you need the right people in place. People ready, brave enough to jump through the hoop, and try out new things.
And there-in lies the problem: The right people are usually not there. We have not built our organization to accept “agile-oriented” people. We have not accepted only developers who are “above average”.
That’s A Tough Pill To Swallow
Because what it means is that even if the top brass is ready to embrace agile, making it actually work depends on recruiting and educating new and existing developers, and placing them across the organization. Organizations need to grow those leaders into place so when they introduce the change, it will actually catch on.
Successful organizations do it, because it makes business sense. They take time and adapt. They raise the bar on recruiting and they put in training programs in place to make sure that the transition in months, maybe years, will work.
The average organizations won’t. They’ll try “going agile”, and six months later will call it a failure and move back to how they usually (mis)manage projects. And agile will take the heat.
Do You Want To Succeed?
For developers it’s easy. Enough material is out there on what practices you can start doing today. Team leaders? Start recruiting smart people. Educate the rest of the team. Get rid of the weak ones, they are slowing you down.
Upper management and C-Levels: your task is the most crucial. You understand that processes take time. Processes need proper resources and management. It’s not just getting the agile consultant into the organization, and giving him a free hand. It helps. But for it to work in an organization level, you’ll need to direct and manage for better recruiting and education, to push down these message so the rest of the organization will move in the right direction.
Then you’ve done a clean sweep. Then you can really say: “Now we’re agile”.