What Is Development Methodology?
Key points
- Development methodology is the approach to what order and cycle system development proceeds in.
- The two representative methods are "Waterfall" (moving through steps in sequence) and "Agile" (repeating short cycles).
- In practice, teams choose a methodology — or combine approaches — to fit the nature of the project.
on the situation
Teacher Pochi gets things done like this every day, too
What "development methodology" means
System development is built up from a series of tasks: deciding what to build, designing it, writing the code, checking that it works, and delivering it to users.
"Development methodology" is the set of rules and thinking behind "what order" and "what size of unit" these tasks are carried out in. Different methodologies lead to very different ways of working and collaborating, even for the same set of tasks.
Teacher Pochi's hintThink of moving house. Some people pack everything up and carry it all in one continuous sequence, while others tackle one room at a time, checking how things go before moving on. The destination is the same, but there's more than one way to get there.
Why you need to decide on an approach
When a team develops software together, if each member proceeds however they personally see fit, it quickly becomes unclear who is finishing what by when — and that makes rework and coordination mistakes far more likely.
Agreeing on a development methodology up front lets the whole team share the same assumptions about how work proceeds, which makes it much easier to check progress and adjust schedules.
Teacher Pochi's hintIf a group trip has no agreed meeting time or route, everyone heads off in their own direction and never manages to regroup. Deciding in advance — "meet at the station first, then move together" — is what makes the trip go smoothly.
The basic flow of development
Different methodologies proceed differently, but there is a set of task types that shows up in system development no matter which one you use.
(what to build)
(how to build it)
(build it)
(check it)
(deliver it)
The difference between methodologies comes down to whether this sequence of tasks is worked through just once, or split into small pieces and repeated many times.
Waterfall basics
Waterfall is a methodology that moves through requirements, design, implementation, testing, and release from upstream to downstream, just once, in order. The rule is that you move on to the next stage only once the previous one is complete — named after the way water flows from high ground to low ground and never back up.
Because planning happens thoroughly before work begins, the overall schedule and staffing needs are easier to estimate. We'll cover this in more depth in its own topic.
Agile basics
Agile is a methodology that splits the whole run of work — from requirements through implementation and testing — into short periods called "iterations" or "sprints" (typically one to a few weeks), repeating planning, development, and review many times over.
Because each cycle produces something working that can be checked, feedback from one cycle can feed directly into the next — making it easier to adapt when circumstances or requests change partway through. We'll cover this in more depth in its own topic.
Side by side: Waterfall vs. Agile
Teacher Pochi's hintWaterfall is like following a recipe to prepare a full-course meal in one continuous pass. Agile is like simmering a stew, tasting it, and adjusting the seasoning little by little. Both aim to finish a great dish, but they differ in how easy it is to adjust along the way.
Which one should you choose?
Waterfall suits projects where the requirements are clear from the start and unlikely to change much, or large-scale systems where the cost of going back is high (for example, overhauling a large core business system).
Agile suits situations where requirements are likely to change along the way, or where you want to release early and improve based on how users respond (for example, web services or smartphone apps).
In real-world practice, teams often don't stick rigidly to just one or the other — it's common to blend both ways of thinking to fit the project's characteristics.
Summary
Development methodology is the blueprint for how system development proceeds. The two representative methods are "Waterfall," which moves straight through in order, and "Agile," which repeats short cycles.
Understanding the traits of each makes it much easier to read the intent behind how a project you're on is being run. You can learn more about each method in the individual topics below.
Related topics: