Waterfall or Agile: Which Will Work Best For You?
As a business analyst it is my task to ensure my clients get the support they need to meet their objectives. The processes I’ve been closely involved with, and that I’ve initiated, are all about making sure that the form of business analysis fits each specific set of needs.
Enterprises and organisations come in many different forms, so it follows that there is no one-size-fits all to business analysis.
In this blog, I’m going to look at both waterfall and agile approaches to problem-solving.
While it’s true that the agile mindset is gaining in popularity, it may not always be the most appropriate solution.
Also, although it’s true that waterfall is generally less flexible, for some companies it may still be the right answer for them at a given stage in their development.
What is Waterfall?
Waterfall used to be the main method for managing change in businesses. Why is waterfall called waterfall? Because the idea is that progress cascades steadily downwards, like a waterfall (obviously).
It should flow down through these project stages:
- Requirements
- Design
- Development
- Testing
This is a series of dependent phases. Waterfall involves you gathering your requirements together upfront, then execute your project, in sequence, based on these requirements.
As the name suggests, it is very much a top-down methodology for carrying out projects and achieving change.
When is Waterfall Appropriate?
Waterfall can work well:
- If your project is short and controllable
- If it works for you to define an entire solution upfront rather than incrementally
- If you want to introduce change to your business in one large wave.
There are things I think waterfall project management can accomplish well:
- It is straightforward, because there is a clear start and end to each phase, and for some clients, this is reassuring
- As a technique, you can plan resources in advance, and therefore determine development costs
- You can communicate a definite delivery date to stakeholders and manage expectations
- You can regulate the process at each stage with detailed procedures
- Waterfall’s design-weighted approach puts a firm emphasis on discipline when it comes to development.
What it doesn’t easily accommodate is making changes as you work through its defined stages, in the same way as attempting to go up a waterfall would present significant obstacles.
This highlights the main issue many organisations have experienced with waterfall, its inflexibility.
Are You Moving in the Right Direction?
Waterfall moves in one direction.
At each phase or stage, you complete, you move along to the next one, and you cannot reverse this forward-motion without incurring cost and jeopardising your original completion deadline.
However, one of the most satisfying aspects of being a business analyst is identifying how any team works together most effectively. It’s not simply about hitting milestones and ticking boxes.
Therefore, if, in a given situation, the way to get the best out of a team, and meet the objectives of the goal, is to take the waterfall approach, then that’s what I’m happy to do.
It’s about Identifying strengths and harnessing this energy to drive a project forward, through identifying and delivering efficient outcomes.
Waterfall distils this effort into one big outcome at the end of the project, which can be hugely satisfying.
The agile approach, on the other hand, involves multiple, cumulative outcomes, as we shall see.
What is Agile?
Agile is very different to waterfall.
Where waterfall is a top-down, controlled flow of progress, agile is a much more flexible project management technique.
Agile is a mindset that sits behind a methodology. It involves breaking down large, complex projects into smaller, more manageable component parts.
And an important aspect of this is that each of these smaller parts has achievable, functioning deliverable outcomes.
Unlike waterfall, where you can only really gauge success at the end of a project, if you the agile mindset, there are multiple measurements of success.
Rather than a marathon, agile is a series of sprints, and each sprint invites feedback and analysis, and incorporates thorough testing.
This enables the working teams to better understand overall progress, and it provides plenty of flexibility and scope for making changes during the process itself.
Agile is a mindset that provides an environment in which teams can flourish:
- It is a belief in the strength of working as a team, respecting and considering the views of other team members, even if they are different from your own
- It seeks out collaboration, to enable the completion of tasks to the highest standards by drawing on multiple input and expertise
- The agile mindset appreciates the value of change and understands that the process is all about learning along the way, making improvements where you need to.
What are the Principles Behind Agile?
The principles of agile are about getting people involved and taking ownership of tasks at different levels, rather than being a top-down process:
- Agile is very people focused, valuing face-to-face interactions and gaining understanding of stakeholders’ needs over processes and tools. In agile working, clients are involved every step of the way, and the mindset encourages their feedback. This minimises the chance that the client will reject the project’s final outcomes, because they will have been so much a part of shaping them.
- It is a creative process, based on gaining insight and knowledge about the workings of the client business, looking at different facets of the company culture, both its business and technical aspects. It draws on analysis, exploration and discovery.
Does Agile Lack Structure?
For those more used to a hierarchical, phased model of project development, agile can seem a little alien at first.
Some criticise it for lacking in structure, and for being more time-consuming because of how it involves stakeholders in regular decision-making.
But its flexibility and openness is the key to its success. It invites and encourages collaboration and feedback, and motivates teams to achieve success.
Agile offers these benefits:
- It provides early visibility of different working components of an overall solution
- It works well for projects where requirements are unclear or unknown initially, or which change during the journey towards achieving an outcome
- It promotes and can incorporate better risk management.
The agile principles do not exist in isolation from the real world, but rather are tried and tested when it comes to problem-solving and development.
Here’s something Albert Einstein said:
“Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.”
Why Transition from Waterfall to Agile?
I’ve explained how waterfall and agile each work, and how they differ, but why would you make the transition from waterfall to agile?
Agile may not work for all organisations or enterprises, but it has such flexibility that is applicable across a wide range of sectors, benefitting different businesses.
The perfect waterfall situation can exist, where you know your customers’ needs and your team has committed fully to a shared vision to meet your objectives.
But in today’s volatile, changeable world of commerce and business interdependencies, I think this kind of perfect situation is increasingly rare.
Your customers are much more likely to have changing needs, and the big advantage of agile is that it enables you to shift your teams’ efforts in line with these changing needs.
What Does Agile Enable You to Do?
Agile principles can drive significant and beneficial cultural changes in organisations and businesses.
Going agile should:
- Result in more productive teams, able to deliver projects more rapidly
- Enable you to identify the root causes of problems, and to fix mistakes quickly, and help you to avoid going down the wrong path
- Give team members and stakeholders a voice throughout the process, encouraging genuine collaboration and enabling teams to react quickly, responsively and flexibly
- Save time, resources and money by delivering projects piece by piece, making vital ad hoc adjustments where necessary.
This is very different to the waterfall method, which calls for most of your planning to be in place upfront, followed by a much more rigid, sequential project delivery process.
How Should You Address Your Customers’ Needs?
The digital world and the convenience it offers individuals has influenced many walks of life.
Already, the internet of things is driving a crossover and blurring of the lines between the digital and physical realms and how we live and work.
This is changing customers’ expectations. They want to feel much more in control of the decisions they make. They expect to access services and products that feel tailored to fit their own specifications.
Agile businesses are the businesses that can more readily meet these expectations.
The whole structure of a project management approach and methodology that uses the agile mindset makes it easier for teams to collaborate with customers, to make them feel heard and in control.
Is Agile the Perfect Solution?
Agile relies heavily on the quality of the teams driving projects.
As a solution, it works well, but only if the individual team members involved all feel motivated to contribute and collaborate.
It is, therefore, as much about a cultural shift as a structural one.
Working as an agile business analyst, I know the value of teamwork, and its enormous potential. The vital thing is to help to motivate people, to embed a strong sense of its value within individuals.
It means transforming problems into learning curves and embracing constructive criticism.
Agile can’t be perfect, because people are not perfect. But flawed as we humans are, we are capable of achieving greatness.
What is Simple Progression?
I believe adopting the agile mindset can drive profound change in businesses, organisations and institutions.
My name’s Mauva, and for over 20 years I’ve specialised in understanding different companies and helping them manage change to achieve their objectives.
If you would like to find out more about the agile approach to project management, please contact me