What do Waterfall and Henry Ford have in Common?
As a project manager, I am constantly searching for new ways to manage my team more efficiently, utilize new tools and methods, and reduce any challenges that may arise. When thinking about about traditional practices for planning and executing tasks/work I am often reminded of Henry Ford and the familiar assembly line. Every component of a car is assembled one sequentially as it moves down a conveyor belt.
The Waterfall Methodology is very much the same approach in which tasks are completed sequentially and handed off step by step. This is a tried and true method that has been working since 1901 and still the most commonly used today.
Fun Fact: The assembly line is should actually be credited to Olds Motor Vehicle Company as the first mass-produced automobile rather than Ford Motor Company who only improved on Old’s idea. The Waterfall Methodology
We just want to code!
Agile is a newer approach to software development that was born from the prevalence against traditional methods that many consider heavily regulated, regimented, and micro-managed. Many former development methods paved the way, but Agile has become the common term in which they are collectively referred as now. Agile methods focus on putting cross-functional teams together for short burst of productivity called sprints, allowing rapid delivery and continuous improvement.
Fun Fact: Agile doesn’t claim to be a methodology and furthermore isn’t specifically relevant to project management.
The core values of Agile are outlined as:
- Individuals and Interactions over processes and tools
- Working Software over comprehensive documentation
- Customer Collaboration over contract negotiation
- Responding to Change over following a plan
So why are project managers talking about Agile?
As mentioned above, Agile isn’t a project management methodology, but nonetheless project management must adapt to Agile development methods. With all of the new terminologies, tools, team structures, etc it only makes sense to attempt adapting the same principles to project management as well. A lot of the core concepts from Agile are inherently the foundation of project management itself. Being able to facilitate and adapt a team and resources to meet the expectations of clients is the whole purpose of project management. You can also see very clear similarities between the Agile core values and:
PM Declaration of Interdependence
- Deliver reliable results by engaging customers in frequent interactions and shared ownership.
- Expect uncertainty and manage for it through iterations, anticipation and adaptation.
- Unleash creativity and innovation by recognizing that individuals are the ultimate source of value and creating an environment where they can make a difference.
- Boost performance through group accountability for results and shared responsibility for team effectiveness.
- Improve effectiveness and reliability through situationally specific strategies, processes and practices.”
The Turtle or the Hare?
Slow and steady won the race in the old tale, but if only the rabbit had focused on the race instead he clearly would have won. Right? I thought of many analogies comparing Agile versus Waterfall, but I will save them for another time. Each method does have its pros and cons respectively and it would be wise to consider each one throughout every project. The table below outlines the general scenarios in which each method would benefit over the other.
|Idea without a plan or set expectations||Planned and set expectations|
|Fast turnaround or Tight Deadline||Open turnaround or no set deadline|
|Immediate need for functional product||Long term goal, 100% completed on delivery|
|Open minded and flexible||Clear vision and less flexible|
|Available for constant cooperation||Available only for major milestones/approval|
|Flexible or undefined budget||Strict budget and resources|
So… Should we be Agile or stick with the flow of Waterfall?
Just as Agile was born from critics of traditional assembly line based methods it also faces similar criticism and resistance to adoption. Many feel that Agile is just a new fad that isn’t proven to be successful and will never fully grow into a true standard. While some criticism is always based in some truth, I am personally fascinated by the potential benefits that any new method, set of standards, idea, etc. can offer. I don’t believe that there is a single solution to any problem, and even if a problem is solved it doesn’t mean there isn’t a better way to solve the next one.
I challenge any team, and myself, to try to utilize the principles from both Waterfall and Agile methods and adapt them accordingly to drive success. We don’t have to say we are Agile or Waterfall, we can just say we are successful. We can use Agile for projects and/or clients that would benefit from the advantages Agile offers, but utilize the strengths of waterfall for projects that are more suitable for waterfall. Alternatively, we can use both by utilizing the strengths of Agile methods for creative aspects of a project, but maximize efficiency and budget management utilizing the strengths of Waterfall. For a new website as an example try segmenting the design and use Agile, but then use Waterfall for the development and launch of the site. An Agile approach to design will foster creativity and early customer satisfaction/buy-in. Waterfall for development will encourage proper standards use and timely delivery. Together the end product can be highly creative, clean coded, delivered on time, and end on/under budget. You can must be Agile while in a Waterfall.