From A Different Angle: Agile or Waterfall
Not another definitions post: when I choose Agile (products, time-and-material, early delivery, experiments) and when Waterfall wins (fixed budget, compliance, sequential work), from years in the field.
Happy reading and drop comments if you have something to add or something needs change. Thanks in advance.
Introduction
This article is not about definitions — plenty of videos, certifications, and articles cover the basics and the differences, benefits, and appropriate contexts for each approach. Instead, I want to share my personal experience and the lessons I've learned, hoping to spare others from common pitfalls and help them build stable, successful projects and lives.
When to Use Agile
Agile is rapid, quick delivery, and small team; it is about the product, collecting feedback, and agile.
Building a product
When you are working on building a product in a rapidly changing market (something on top of LLM these days — for example).
Time and material delivery
If the project is outsourced on a time basis — for instance, if the contract between the client and your company is time and material, or you are an internal IT department.
The client will need your development delivered to them as soon as possible. They paid for it, and it is more secure to make sure everything is delivered in case they want to terminate the contract.
Early and continuous delivery
Agile is ideal if delivering parts of the project early and continuously adding functionality is beneficial.
The client is in need of short deliveries: like an event is coming, and they need the registration page very quickly, then they will need the "Choose your speaker" page, then they will need the login page, then… etc. You can deliver something every week or two, collect feedback, enhance and build.
Trying something new
When the project is innovative, exploration and experimentation are required. It's hard to define the final product from the beginning for projects with a high level of complexity and uncertainty.
When to Use Waterfall
Waterfall is a sequential, structured, and larger team. It is about the process, about detailed planning, and it's linear.
Usually governments prefer waterfall: they have a fixed budget, they need a timeline, and they definitely need compliance and regulatory requirements which mandate a structured and documented approach.
Fixed timeline and budget (most important)
If the project has strict deadlines and budget constraints, Waterfall's structured approach can help manage them effectively.
Mixing that with a demanding client and agile will result in a catastrophe.
Clearly defined requirements
Waterfall is suitable if the project requirements are well-understood, clearly defined, and unlikely to change. In addition, when detailed documentation is required for each phase of the project.
Sequential process
For projects that follow a linear and predictable path, each phase must be completed before moving on to the next, or when the project is milestone-driven.
For example, the civil work projects.
Team structure
When teams are organized by function and sequentially work on specific tasks, or when less frequent collaboration is acceptable, tasks are more independent.
From my experience
Use Agile when you need flexibility and incremental delivery and can handle changing requirements with a collaborative team.
Use Waterfall when requirements are stable, the project is well-defined, and a sequential, structured approach is necessary.
In my last 16+ years of experience, I have visited so many companies that I nearly have a solution or more for each problem! And if there's anything you think I've missed or gotten slightly off track, drop a comment. Let's keep the learning going!
Where Taqdim fits
Methodology matters less than knowing what you're walking into — whether that's a project or a job posting. Taqdim helps job seekers read a role's real requirements before they commit their effort. Taqdim is in closed beta. Join the waitlist.
Originally published on Medium on 21 May 2024.