The ongoing journey from Waterfall to Agile
If you have been in IT, you may have heard the words Waterfall, Agile, Transformation, Kanban, Customer-Centric, Fast, and Nimble by now. And it’s also possible that you have worked through one of these transformations or are currently in the middle of one. It is almost inevitable to be in IT and not have suffered from the transformation fever. For good or not — and by choice or not — we all have been or are still in some phase of this transformation.
Let me start by explaining why I call it the inevitable phase for anyone in IT at this point.
Organizations are going from bigger-budgeted projects that would change business once every 2–3 years to an ever changing customer-centric world, causing the need to be austere and fast. This requires teams to be
- Ready to respond to the ever-changing need of customers
- Improving in quality, teamwork, and commitment
- Faster Innovation
Agile is an answer to this new world for most organizations that are trying to achieve the above-mentioned model and hence they start on the journey of transformation from a more rigid Waterfall framework to flexible Agile processes. Most of what I will refer to below will speak to this journey.
Excluded from this analysis are the set of businesses that go through this transformation not because of what they want their business to be but because it’s the latest buzzword in the industry. They want their stakeholders to think they are following modern practices of businesses without essentially leveraging the actual framework.
Irrespective of why your organization decided to set foot on this journey, if they are walking on this one-way street, so are you, and it is difficult to ignore bumps along the way. In case you hate this journey or think that you would rather stick to your own way of doing things, you might want to evaluate if you are in the right place.
Like Bill Clinton once said- “The price of doing the same old thing is far higher than the price of change.”
Let’s evaluate now what this journey is comprised of. I would consider changes at these 3 levels-
- Mindset Shift
- Technical Shift
Let’s examine these areas in detail–
- Role-based — I have personally been in multiple roles during my tenure in IT. For the most part of the transformation years, I have been mostly in the role of a Scrum Master/Agile Coach, helping teams on this transformation journey.
To put things under a comparative lens, I have worked with my peers in different roles such as developers, stakeholders, Business Analysts, and testers as both traditional PM on the customary Waterfall projects and also have led the teams as SM on the Agile teams. This allowed me to observe and live through the differences first hand e.g. I have been a BSA on Waterfall projects and Agile teams. Here are some of my thoughts on how these roles change with transformation-
- Our responsibilities might be the same but how we perform them might be different
- The role we play doesn’t change but how we execute is very different.
2. Mindset Shift — When you start a new sport, you must force your mind to learn, practice, and execute your skills. In the same manner, transformation requires a considerable mindset change. As an everyday example of habit, when you change a storage spot for your favorite coffee mug, how many times have you subconsciously gone to the old storage spot to get it?
Because you have been doing things a certain way for a while, it comes naturally to you. Transformation changes that. It requires you to stop, think, and act — which requires a considerable amount of effort.
3. Technical Shift — Last but not least, this is another important factor that adds up to the change during the transformation journey. Let’s think about how this transition will shift the landscape and timing of the technologies and technical skills being used. E.g.
- In Waterfall, you are used to doing all the design upfront whereas in Agile you are adhering to the goals of building incrementally and assuming variability.
- In Waterfall developers and testers are in their swim lanes but Agile takes the TDD or BDD approach and requires developers and testers to work together.
- In Agile you might be leveraging DevOps to deploy smaller and faster.
This might not only make you think about how things fall in place differently but also might require you to learn and adopt some new skill sets.
In addition to the above quantitative factors, there is a psychological side to any change — the comforts of knowing what we are doing. The transformation tends to take those comforts away and puts us in new and cold unchartered territories which we need to learn and conquer all over again to the state of perfection.
During transformation, the support we have from our managers and leaders might be a bit wavery since they are on the same journey with us and new to the unknown world. This might leave us feeling unsupported or misdirected at times.
While this transformation can be a bit daunting and challenging, we can’t deny that it is an important one. Let’s see what we can do to support our teams and each other.
As Charles Darwin said-
“It is not the strongest or the most intelligent who will survive but those who can best manage change.”
As an Agile coach below are some of my recommendations
- Patience is a virtue — Remember this journey’s pace is set by the approach your organization is taking and it might be a slow one. Even if you are moving faster than others, you can’t be done unless everyone around you is across the finish line. If you are in a good spot, take the lead and help others. Be a coach to others!! Innovate new ways to help your team and learn to adapt.
- Resources are your true assets- It would pay to invest in training for your team members. There are a number of ways to do this, starting from hiring Agile coaches to making Agile classes available for teams. If in the journey there are new skill sets to learn, getting your teams professional help will fast track their progress and help them feel supported. This is one of the simplest ways of equipping your teams with knowledge on what to expect during this journey while being productive.
- Define Metrics — Remember that employee satisfaction should always be of paramount importance. If you are in a manager role, try to be empathetic and check on your team members. As Agile says, fail fast and learn fast. Let your team members fail and help them get up and start again without penalizing them but make sure to encourage them to try harder and use different tactics. Give them metrics to measure themselves and see how they are comparing to those metrics at the organization level.
- Create the Culture- As leaders, try to adopt the “House of Lean” and lead by example. Encourage a culture that is supportive, innovative, and continuously improving.
- WiiFM (What’s in it For Me) — Help your teams understand how to best leverage this journey and personalize it. Agile brings in values and methods that not only help organizations go nimble but also instill some new habits in individuals that can support well into their personal lives. Agile values such as thinking of smaller goals, creating smaller and faster feedback loops, and continuous improvement have been described by many successful people as their trademark success traits used on their journey.
- Be a part of the journey — In the end, no matter what level you are at, you are part of this journey.Share your experience and your insecurities so that people around you can feel safe and included.
- Make it your business- Treat transformation like a business product and plan it like another other product with milestones and a roadmap to ensure the teams know the itinerary to this trip.
In the end remember, change is a journey and Agile transformation will help you set the path for this journey. Agile encourages change and, like they say, the only constant thing these days is change itself. So go on, embrace this journey and share your stories with others.