Agile development seems to be the silver bullet for better development, better products, more focussed teams and improved product delivery. Developers love it because they finally get realistic plans from management which they can actively influence. Estimating the actual amount of work that needs to be done says good bye to unrealistic plans and creepy schedules. Suddenly they control the process and it no longer controls them.
This is what books, blogs and agile evangelists tell us. Reality however is very different. Agile development makes the life of developers much harder. First they think that they gained freedom and then they realize that this actually comes at a high price. They have to take responsibility and others start to think agile too. Suddenly product management can change their minds. It is even a central part of the agile process. This doesn’t sound anymore as cool as only build what we know we need.
The great days of coding all day are gone. You have to figure out what to code first. Try out many different approaches. Throw away that great implementation you did last week. Find out after a sprint that you totally went the wrong direction. Weeks of work for … nothing? You have to do it all again … and again. There are no perfect plans any more. Suddenly the people who told you exactly what to do say “Well let’s try this in this sprint and see where it takes us”. Developers realize that while they can define the stories it is the product owner, who decides what is important. They are expected to take more responsibility and what did they gain? Less security, more pressure and the inherent feeling that nobody has the ultimate answer any more. They arrived in the true reality of software development. Agile starts to feel like working on a galley ship rather than being the ultimate freedom for developers.
They wish back the great times of their waterfall development times where everything was like in a fairy tale. They got everything pre-defined and things simple couldn’t change but the process did not allow it. They could blame somebody else when things went the wrong direction. Now it is their decision. Times were much less stressful when you could plan everything ahead of time. The products might not have been great, but life was.
So here we stand between an easy going life and great products and hard work. Which path do you choose?