Different organizations use different project management [and software development] approaches. Interestingly enough, there’s always a sense of rivalry between proponents of the Waterfall, Agile and Kanban methodologies. Truth is each approach has its pros and cons. But with Agile becoming the new industry standard, many companies are considering dropping the Waterfall approach and moving to Agile.
Transitioning to Agile Waterfall Methodology
Moving from Waterfall to Agile can be rough. It creates a disruption in the process and can lead to serious clashes within the organization due to existing mindsets. Moreover, implementing Agile usually requires training for team members. And an Agile coach to implement the new approach. Which can also be time-consuming and very pricey.
As a result, many companies refrain from taking up Agile and decide to stick with their more traditional Waterfall approach. But if they don’t move to Agile, they risk falling behind. The changing market dynamics requires making fast and swift changes and adaptations.
Yes, Agile offers amazing benefits, but truth to be told, sometimes using the Waterfall approach is necessary if you want to deliver a high-value product. You couldn’t, let’s say, continue to develop a website if you are doing incremental design. You must have the complete design and website’s functionalities defined and approved by the customer before continuing to the development phase. That is why instead of switching completely to Agile and discarding Waterfall, you can take a bit of both and move to an Agile Waterfall method. And you can achieve this with the help of Kanban and Lean.
Using Kanban to Add an Agile Layer
Kanban as a methodology is Agile in nature. When implemented, it creates minimal disruptions (if any) to the existing process. It only helps you establish a more efficient project management system. Kanban doesn’t care about the process and it doesn’t tell teams how to do their work. Kanban cares about delivering value to the customer while creating the least possible waste. Making it easy for Kanban to be implemented on top of your existing methodology as a means of managing the workflow.
The basic principles of Kanban advise stating where you are with what you have. Respecting the existing roles and responsibilities and encouraging acts of leadership. While making incremental, evolutionary changes. Which is very beneficial if you wish to gradually transition towards agility.
The core practices, on the other hand, serve as guidelines on how to practically use Kanban. And implement your Agile Waterfall methodology. They guide you through the process of setting your visual board and defining the team’s capacity in order to manage the workflow more effectively. And by making all management policies publicly visible, and implementing feedback loops to ensure things run smoothly. And of course, making collaborative improvements based on data.
Moving Your Waterfall to Kanban
The Waterfall methodology is a traditional, linear approach to software development, first introduced by Dr. Winston W. Royce in 1970. This model emphasizes the sequential movement of a project through logical steps that resemble the cascading steps down an incremental waterfall. It consists of a finite number of phases, usually six.
In the true Waterfall approach, there is typically a gate phase between each of the phases. Here, the customer reviews and approves the work before the next phase can begin. There can be no overlapping in the phases. The outcome of one phase is the input for the next, sequential phase.
Now, let’s try to understand how applying the Kanban principles and practices make the Waterfall model more Agile.
Make the Stages Visible
For starters, since both, Waterfall and Kanban, divide the process into phases, you can easily take your Waterfall project and put it onto a Kanban board. The Kanban board allows you to turn each Waterfall phase into a column. Even the gate phases. Additionally, the Kanban board will increase transparency and encourage safe-organization.
Identify your Customers and Define your Objective
Each team works in favor of someone. The legal department works for the company, the dev team usually works for a customer or end-users. So it is very important that each team understands who their actual or figurative customer is. Once people understand who they are working for, they can better understand the goal of their work. Hence, work more efficiently and deliver more value.
Create a Definition of Done
Now that you know what you need to do and for whom, you need to define when the tasks are completed. Team members need to know when their work on a task is completed so they can plan work better. You can think of the definition of done as the gate phase because it defines when you pass your work to the customers for approval.
Ensure a Fast and Healthy Workflow
The next step is setting a limit to how much work can be circulating the board at all times. When you create a healthy limit to work in progress and allow team members to pull in new work only when they have the capacity to do so, you ensure work gets done faster. But more importantly, it will minimize the amount of work not done.
Measure the Results and Improve the Process
With the use of a digital Kanban software, you can track your progress and create charts and reports for you. That will help you make informed decisions about the changes you should make to improve your process. And moreover, better plan your work and prepare for unpredictable situations.
Being Agile means being able to create and respond to change in order to stay competitive in a changing turbulent environment. But is the Waterfall methodology is the cornerstone of a steadfast workflow, there’s nothing wrong in sticking with it. So if you are considering making the change, but still want to keep some of your old ways, you can try adding Kanban on top of your process, and try the Agile Waterfall methodology. You’d be surprised with how much Kanban can do for you!