I have a confession. I used to think agile was nonsense, an “all fun and games” fad built on thin air. Having worked with a waterfall model for over ten years, I was convinced of its superiority, offering clarity and predictability. Up until a year ago, I would have always chosen waterfall over agile.
Now, I am not so sure. Having recently worked on a successful agile transformation, I have seen agile work. Moreover, I have experienced its positive impact on team morale, efficiency and the overall product. At the same time, I have become increasingly skeptical about waterfall. I have seen how it can create a false sense of predictability, controlling bureaucracy, and organisational silos resulting in several hand-overs and a lack of accountability.
On a personal note, I love delivering products. So much so that even if I won the lottery, I could not imagine doing anything else. I love the pace, the focus and the resilience needed to continually improve whilst overcoming obstacles. I love the teamwork and relentless drive towards making the best possible product.
Agile challenges me to play my A-game and to do the best job I can. However, sometimes it also feels like a juggling act. You are trying to keep a number of balls up in the air whilst maintaining a balance between control and chaos. Here are some examples:
Present vs Future
In agile, the here and now always trumps the future. The work in the sprint has priority and needs safeguarding, because this is what you will be releasing to your customer next. Nevertheless, if you want to keep on delivering, it is crucial to look forward to see what is ahead and anticipate any obstacles in order to ensure a consistent delivery pipeline.
Experimentation vs Discipline
If you dislike ambiguity and uncertainty, agile will be a hard sell. Experimentation — and the uncertainty that coincides with it — is ingrained within the agile mindset of continuous improvement. In addition, it is essential to build a strong product.
On the other hand, to avoid agile turning into chaos, there is also a strong need for discipline. At a certain point, a decision needs to be made to shift from experimentation to delivery to ensure ideas are also built.
Flexibility vs Predictability
Flexibility — the ability to make changes to your scope and product — is one of the most sought-after outcomes of agile. Unfortunately, you cannot have your cake and eat it too. There is a clear trade-off between flexibility and predictability. If a team needs to be adaptive and flexible, this will undoubtedly result in changes to the roadmap and release goals.
Collaboration vs Accountability
A strong team forms the core of a successful agile delivery. Creating a culture of collaboration and trust significantly improves delivery efficiency and product quality. However, as Gary Pisano states, “collaboration often gets confused with consensus.” According to Pisano, consensus is a poison for efficient decision-making. This is because ultimately someone has to make a decision and be held accountable for it. In my experience, teams with accountability and clarity of roles and responsibilities collaborate better and build better products.
Due to its fast-pace and more fluid nature, I found that “being good at agile” is far more challenging than “being good at waterfall”. This is because agile is never finished; it is a constant balancing exercise. Your product evolves and so your delivery and team need to evolve as well.
You may think that waterfall needs balance too. This is correct, although the key differentiators — the rate of change and flexibility — are significantly higher in agile. A successful agile team is able to adapt quickly and continuously strives to optimise its game depending on the circumstances. This is why it is such a good match for me. Every sprint brings new opportunities or areas for development, and challenges me to do the best job I can.