January 19, 2015
So everyone seems to be on a bandwagon, saying that agile is dead. People like to go extremes to create unnecessary turbulence at times. I would not go that far. Agile did have a strong following for the last 10 years and we have seen several companies embracing it and building great products.
Yes, I agree that there are certain business situations that it does not encompass. For instance, it talks about development methodology that accommodates change. But what if launching on a date is more important?
We have had clients approach us who wanted to launch a product fast and on a specific immovable date. A customized agile methodology sounded fancy enough. But then we took a step back and thought it over: Did we really need to do the whole nine yards of Agile? Did all the agile ceremonies make sense?
We’ve developed certain hacks to deal with some issues we faced in agile and that’s what I’d like to share with you in this post.
The Iterative Nature of Agile
In agile development, you rinse and repeat at the end of each iteration. The stakeholders now think of making changes based on what is delivered. Since you know that you can change after an iteration, there is a possibility that you would have procrastinated and delayed decision making for as long as possible. This further slows down and pushes the launch date away.
Hack #1: When you know what you want and you know when you need it, the rinse-and-repeat process gets you nowhere. Cutting down on the number of cycles or implementing shorter cycles is one way I would suggest to speed up development. Additionally, commit to getting your work done within each iteration. Do not let work crossover from one iteration to the next. Consider what is of highest value to the client and focus on delivering that. For instance, delivering 5 complete stories is better than delivering 10 incomplete ones.
Agile ceremonies can be overly melodramatic
Let’s face it. Agile has too many ceremonies under its shiny wrapping. Every ceremony such as retrospectives, IPMs and others are time consuming and not always useful. For instance, the process of estimations itself is error prone. Developers will put a buffer to safeguard their commitments and this decides what can be delivered in the current iteration. As a result of this, when you enter an iteration, you go in with a mindset of this is all that needs to be completed this week and you do not get optimum utilization of your team.
Hack #2: Encourage your team to give correct estimates. To do this, you need to instill in them a sense of responsibility for their work and more importantly, a responsibility towards the client. On a tight deadline, overestimating ie adding too much of a buffer hurts the client, which in turn hurts your business.
Retrospective or Yesterday’s Weather
Yesterday’s weather is probably an agile term you’re familiar with. It tells you how much you delivered last week. Based on this, you plan your next week to deliver exactly that amount of work. This means your date to launch is dependant on yesterday’s weather. You might argue that if you want to meet the launch date, you simply have to descope some work. But what if next week’s weather is turbulent as well?
Hack #3: Agreed; this all sounds great for team happiness, but your business suffers as a result. The mindset in Agile is to see what can be done this week with a tentative plan. The mindset needs to be: What do we need to do to get this done this week?
Agile fosters changing as you build. However, if the project is a little more scrupulously planned throughout, you can build a release plan with minimal changes.
Hack #4: Agile fosters accommodating change. When developers are not reworking and continually delivering newer features, it does instill a sense of momentum. Now they can cling to the date of delivery instead of change.
Start Slow, Wrestle at the End
In most agile projects I have been a part of, I have seen that they are quite slow in the initial phases. As the customer pressure increases to launch on a date, everything agile goes for a toss and it boils down to burning out towards the end of the project. Also the process gets error prone as now they are suddenly cutting corners to meet the date.
Hack #5: Being date-centric from the beginning and having aggressive deadlines from the start keeps the team away from over-engineering and keeps you at a steady pace.
In the end, agile is a process. There is nothing wrong with following the process but there is such a thing as applying a principle too dogmatically. Understand why those processes were made and see how you can achieve the intended outcome without compromising on quality and time. And above all, put your key focus on building a team that has the right mindset.
Did you like this article?
Get more delivered to your inbox just like it!