Few topics in software make grown professionals behave more tribally than delivery methodology. Agile people speak of waterfall the way one speaks of a contagious disease. Waterfall people mutter that agile is an excuse to never write anything down. Somewhere in the middle, a business owner just wants to know when the system will be done and what it will cost, and nobody seems willing to answer.
Here is the unfashionable truth: agile and waterfall are tools, not religions. Each one buys you something specific, at a price. The skill is not picking a side, it is matching the tool to the job in front of you.
So let us put the jargon down and look at what you are actually buying with each.
What agile actually buys you
Strip away the ceremonies and agile is one idea: build a small piece, show it to real people, learn, adjust, repeat. What you are buying is fast feedback. That is enormously valuable in exactly one situation, when you do not fully know what you need yet. Most new software is like this. Nobody can specify a customer portal perfectly on paper, because nobody knows how customers will behave until they are clicking on something real. Agile turns "we were wrong" from a disaster discovered at the end into a cheap correction made in week three.
The price is that you give up certainty up front. You commit to a team and a direction, not to a fixed feature list with a fixed date. For work where requirements will genuinely move, that trade is a bargain. For work where they will not, you are paying for flexibility you will never use.
What waterfall actually buys you
Waterfall, specify everything, then build, then test, then deliver, gets sneered at, but it buys something real: predictability. When the scope genuinely is fixed, when change is genuinely expensive, waterfall is not old-fashioned, it is correct. Think of migrating a payroll system where the rules are defined by law, integrating with a bank that publishes an exact specification, or compliance work where the auditor's checklist is the scope. Nobody wants their payroll "iterated on" with surprises every two weeks. They want it specified, built, tested and signed off.
Agile is for when you don't yet know exactly what you need. Waterfall is for when you do, and pretending otherwise in either direction is where projects go to suffer.
The questions that actually pick the method
Forget the labels for a moment and answer three questions about the project in front of you:
- How clear is the scope, really? If you could hand a stranger a document and they would build the right thing, lean waterfall. If the honest answer is "we'll know it when we see it", you need iterations and feedback, lean agile.
- How expensive is change? Pure software is cheap to change, iterate freely. Work entangled with hardware, legal cut-over dates, third-party integrations or trained-up staff is expensive to change, so spend more time getting it right on paper first.
- Who is available to give feedback? Agile runs on a business person who shows up every week, looks at the work and makes decisions. If that person does not exist, and in busy SMEs they often do not, an agile process will starve. Be honest about this before you choose, not after.
Notice that none of these questions mentions fashion, what the last consultant preferred, or what a certification course said. The project picks the method. It was never supposed to be the other way around.
The hybrid most SMEs actually need
In practice, most real projects for mid-sized businesses are hybrids, and that is not a compromise, it is the point. A sensible shape we see again and again: a short, waterfall-flavoured phase up front to pin down the things that are genuinely fixed, the budget envelope, the integrations, the compliance constraints, the data model, followed by agile delivery inside that frame, building in slices, demonstrating every couple of weeks, adjusting the details as everyone learns. The frame gives the owner the certainty they need to sleep. The iterations give the team the feedback they need to build the right thing.
Warning signs of cargo-cult agile
The word "agile" on a proposal tells you nothing, plenty of teams perform the rituals without the substance. Watch for these:
- Standups without decisions. Fifteen people recite yesterday's activity to a project manager and nothing changes as a result. That is a status meeting wearing a costume.
- Sprints without releases. If "sprint 14" has come and gone and nothing has ever been put in front of a real user, you have waterfall chopped into two-week pieces, with extra meetings.
- Feedback that goes nowhere. Demos happen, comments are noted, the backlog never changes. The loop is the whole point, a loop that does not steer is decoration.
- "Agile" as an excuse. No estimates, no documentation, no committed dates, ever, justified by the methodology. Agile trades detailed long-range promises for short-range reliable ones. A team that offers neither is not agile, it is just unaccountable.
One question for your next software vendor
Ask: "When will we see the first working piece of this system, and how will our feedback change what you build next?" A good agile team answers in weeks and describes a real mechanism. A good waterfall team explains why upfront specification fits this particular job. A team that answers with ceremony names and certification acronyms has told you something too.
What we actually run on client projects
For what it is worth, here is our own answer. We start every engagement with a short discovery phase, fixed scope, fixed price, that produces the frame: what is being built, what it touches, what cannot move. Then we deliver in two-week cycles with something visible at the end of each one, a working screen, a live integration, a report with real data, and a short session where the client steers. Documentation is written as we go, not promised for later. Integration-heavy and compliance-heavy pieces inside a project get specified properly up front, because for those, change is expensive and surprises are not charming.
Is that agile? Mostly. Is it waterfall? In places, deliberately. The honest name for it is "whatever gets this client a working system with no nasty surprises", and we have yet to meet a business owner who wanted anything else. Pick your method the same way, by the job, not the tribe, and most of the methodology wars simply stop mattering.