Software development methodologies are the structured frameworks teams use to plan, build, test and deliver software. They define how work is broken down, how decisions get made, and how progress is measured. The right one reduces risk and waste; the wrong one quietly adds both. There is no universal best choice.
This guide is for CTOs, founders and engineering managers choosing how a team should actually work. We explain the major methodologies at a practical level, weigh their trade-offs honestly, and show how the decision changes when you build with an offshore or distributed team.
What a software development methodology actually is
A methodology is not a project plan and not a tool. It is a set of principles and practices that shape the flow of work from idea to production. It answers questions like: do we specify everything up front or discover as we go? How large is a unit of work before it ships? Who signs off, and when? How do we handle change once building has started?
Most methodologies sit somewhere on a spectrum between plan-driven and change-driven. Plan-driven approaches invest heavily in analysis and design before writing code, betting that a clear specification lowers risk. Change-driven approaches accept that requirements will shift, so they ship small increments and adjust continuously. Neither is inherently superior. The correct position on that spectrum depends on how much uncertainty your project carries, how tolerant your domain is of mistakes, and how quickly the market moves around you.
Most software development methodologies can be placed on this spectrum, which is why comparing them is more useful than ranking them. It also helps to separate three layers that often get conflated. A methodology is the overarching philosophy, such as Agile or Waterfall. A framework is a concrete implementation of that philosophy, such as Scrum. A practice is a specific technique, such as test-driven development or continuous integration. You can borrow practices across methodologies freely, and mature teams usually do. Understanding the layers keeps the conversation precise when you evaluate options. A methodology sits alongside the other big architectural choices in your tech stack and delivery model, and it deserves the same deliberate attention.
The major software development methodologies
Below we cover the methodologies you are most likely to encounter or choose in 2026. For each, we describe how it works, its honest pros and cons, and the situations where it genuinely fits. Read them as a menu, not a ranking.
Waterfall
Waterfall is the classic sequential model. Work flows in distinct, ordered phases: requirements, design, implementation, verification and maintenance. Each phase is completed and signed off before the next begins, and you generally do not revisit an earlier stage. The full scope is defined at the start, and the plan runs to a fixed end state.
How it works: analysts capture every requirement into a specification, architects design the system against it, developers build to the design, testers verify against the original spec, and the finished product ships in one release. Documentation is heavy and deliberate because later phases depend on the accuracy of earlier ones.
Pros: predictability is the headline benefit. Because scope, budget and timeline are set early, Waterfall is easy to estimate, contract and audit. It suits fixed-price arrangements, works well when the domain is well understood, and produces thorough documentation that survives staff turnover.
Cons: it handles change badly. A requirement discovered late is expensive to accommodate because it may force rework across every downstream phase. Users do not see working software until near the end, so a misunderstanding can go unnoticed for months. The model assumes you can know everything up front, which is rarely true for novel products.
When to use it: choose Waterfall when requirements are stable and well-defined, the technology is proven, regulatory sign-off demands a documented sequence, or a client genuinely needs a fixed scope and price. Think government systems, hardware-coupled firmware, or a straightforward migration where the target is unambiguous.
Agile
Agile is less a single method than a family of change-driven approaches built on a shared philosophy: deliver working software in short cycles, welcome changing requirements, collaborate closely with the business, and improve continuously. Rather than one big release, Agile teams ship small, usable increments and use each one to learn. Scrum and Kanban, covered next, are the two most common ways to actually run Agile.
How it works: the team maintains a prioritized list of desired outcomes and delivers the highest-value slice first, then reassesses. Feedback from each increment feeds the next round of planning, so the product evolves toward what users actually need rather than what someone guessed at the outset. For a deeper treatment of the mindset and its ceremonies, see our explainer on Agile methodology.
Pros: Agile shines under uncertainty. Early and frequent delivery reduces the risk of building the wrong thing, keeps stakeholders engaged, and lets you change direction cheaply. It tends to raise quality through continuous testing and shortens time-to-value because usable software reaches users sooner.
Cons: the flexibility that makes Agile powerful also makes fixed-scope contracting awkward, since the plan is meant to change. It demands an available, decisive product owner and disciplined engineering practices; without them, “Agile” degenerates into unplanned chaos. Documentation can thin out to the point of hurting maintainability if the team is careless.
When to use it: reach for Agile when requirements are uncertain or expected to evolve, when speed and responsiveness matter, and when you have genuine access to users and stakeholders. Most modern product development, especially startups and digital services, defaults here for good reason.
Scrum
Scrum is the most widely adopted Agile framework. It organizes work into fixed-length iterations called sprints, usually one to four weeks, each producing a potentially shippable increment. It defines clear roles, events and artifacts to give the flexibility of Agile a repeatable rhythm.
How it works: a product owner orders the backlog by value, the development team commits to a slice of it for the sprint, and a scrum master removes obstacles and protects the process. The sprint runs through planning, a short daily stand-up, the build itself, a review where working software is demonstrated, and a retrospective where the team improves how it works. Then it repeats.
Pros: the cadence creates predictable delivery and a natural inspection point every sprint. Roles are unambiguous, progress is visible, and the retrospective builds continuous improvement into the system. It scales reasonably with established patterns for coordinating multiple teams.
Cons: the ceremonies carry overhead that can feel heavy for very small teams. Scrum struggles when priorities shift mid-sprint or when a stream of unpredictable, interrupt-driven work does not fit neatly into fixed iterations. Poorly run, the meetings become ritual rather than value.
When to use it: Scrum fits product teams of roughly five to nine people building features against an evolving roadmap, where a steady delivery cadence and clear roles add value. It is the default for a great deal of commercial software.
Kanban
Kanban is a flow-based Agile approach that visualizes work and limits how much is in progress at once. Unlike Scrum, it has no fixed iterations, no prescribed roles and no sprint commitment. Work is pulled continuously as capacity frees up.
How it works: every work item is a card on a board with columns representing stages, such as to-do, in-progress and done. Each column carries a work-in-progress limit that caps how many items can sit there simultaneously. When a slot opens, the team pulls the next item. The goal is smooth, continuous flow, and the team watches metrics like cycle time to find and fix bottlenecks.
Pros: Kanban is flexible and low-ceremony. It adapts instantly to changing priorities because there is no sprint boundary to wait for, and its WIP limits expose bottlenecks that would otherwise stay hidden. It is easy to adopt incrementally on top of an existing process.
Cons: without the discipline of fixed iterations, Kanban gives you less built-in time-boxing and can make long-range forecasting harder. Undisciplined teams may drift without the regular planning and review rhythm that Scrum enforces.
When to use it: Kanban excels for continuous or interrupt-driven work such as support, maintenance, operations and bug-fixing, and for teams whose priorities change too often for sprint commitments to hold. Many teams run Scrum for feature work and Kanban for their support queue.
Lean software development
Lean adapts principles from Lean manufacturing to software. Its central idea is to maximize customer value while eliminating waste, where waste is anything that does not contribute to a working, valuable product: unnecessary features, partially done work, handoffs, delays and defects.
How it works: Lean is organized around principles rather than ceremonies. Eliminate waste, amplify learning, decide as late as responsibly possible to keep options open, deliver as fast as possible, empower the team, build integrity in, and optimize the whole system rather than local parts. In practice teams often express Lean through a build-measure-learn loop, shipping a minimum viable slice and validating it before investing further.
Pros: Lean sharpens focus on what actually delivers value and discourages the over-engineering that quietly consumes budgets. Its emphasis on fast feedback and validated learning suits environments where you must prove demand before committing heavily. It pairs naturally with Agile and Kanban.
Cons: Lean is a set of principles rather than a prescriptive process, so it offers less concrete guidance for teams that want a step-by-step framework. “Deciding late” requires judgement, and inexperienced teams can misread it as an excuse to avoid necessary planning.
When to use it: Lean thinking fits startups validating a new product, teams under real resource constraints, and any organization trying to strip waste out of an existing delivery process. It is often layered onto another framework rather than run alone.
Extreme Programming (XP)
Extreme Programming is an Agile methodology that pushes good engineering practices to their logical extreme to raise software quality and responsiveness to change. Where Scrum focuses on process and roles, XP focuses squarely on how the code itself is written.
How it works: XP is defined by concrete engineering practices done rigorously. Test-driven development means writing an automated test before the code that satisfies it. Pair programming puts two developers at one workstation, continuously reviewing as they build. Continuous integration merges and verifies changes many times a day. Short release cycles, collective code ownership, a sustainable pace and simple design round out the discipline. Requirements arrive as user stories and are refined through close customer collaboration.
Pros: XP produces high technical quality and a codebase that stays easy to change because it is heavily tested and continuously refactored. Its tight feedback loops catch defects early, when they are cheapest to fix, and its practices remain influential across nearly all modern teams even where the full method is not adopted.
Cons: XP is demanding. It requires strong developer discipline and buy-in, and practices like pair programming are sometimes seen as costly, though the quality gains often offset the apparent overhead. It needs a genuinely engaged customer, and it can be a hard cultural fit for teams unused to that intensity.
When to use it: XP suits projects with rapidly changing requirements where code quality is critical, and teams willing to invest in engineering excellence. Even if you never adopt XP by name, its practices, especially TDD and continuous integration, belong in any serious team.
DevOps
DevOps is a culture and set of practices that unify software development and IT operations to shorten the delivery cycle and improve reliability. It is not strictly a development methodology in the way Scrum is; it is better understood as an extension of Agile thinking across the whole delivery pipeline, from writing code to running it in production.
How it works: DevOps breaks down the wall between the people who build software and the people who operate it. Its engine is automation: continuous integration and continuous delivery pipelines automatically build, test and deploy changes; infrastructure is defined as code; and monitoring feeds real production data back to developers. The aim is small, frequent, low-risk releases rather than large, infrequent, high-risk ones.
Pros: DevOps dramatically speeds up and de-risks releases. Automated pipelines and shared ownership mean changes reach users faster, failures are detected and reverted sooner, and teams learn from production reality instead of guessing. It measurably improves both deployment frequency and stability when done well.
Cons: DevOps requires real investment in automation, tooling and, above all, cultural change; the technology is often the easy part. It can be over-applied to small projects that do not need elaborate pipelines, and a half-adopted DevOps effort delivers little of its promised value.
When to use it: adopt DevOps for any product that runs continuously and needs frequent, reliable updates, particularly cloud-native applications, SaaS and services at scale. In 2026 it is effectively the operating standard for modern product engineering, layered on top of an Agile framework.
Spiral
The Spiral model is a risk-driven methodology that combines iterative development with the systematic, controlled aspects of Waterfall. It is built around one central question repeated on every loop: what is the biggest risk right now, and how do we retire it?
How it works: the project moves through repeated cycles, or spirals, each with four activities: identify objectives and constraints, evaluate alternatives and analyze risks, develop and test that iteration, then plan the next. Each loop typically produces a prototype or increasingly complete version, and the highest-risk elements are tackled earliest so a doomed project fails cheaply rather than late and expensively.
Pros: Spiral’s explicit, front-loaded risk management is its defining strength. It suits large, complex, high-stakes systems where an undetected risk could be catastrophic, and it accommodates change better than pure Waterfall while retaining more structure than pure Agile.
Cons: Spiral is complex and can be expensive to run. The repeated risk analysis demands specialized expertise, and its overhead makes it overkill for small or low-risk projects. It is comparatively rare in everyday product work.
When to use it: reserve Spiral for large, expensive, high-risk projects where careful, staged risk mitigation justifies the overhead, such as major systems in aerospace, defense or critical infrastructure.
Rapid Application Development (RAD)
Rapid Application Development prioritizes fast delivery through rapid prototyping and iterative user feedback over extensive up-front planning. It emerged as a reaction against Waterfall’s slowness and shares much of its DNA with Agile.
How it works: RAD compresses the cycle by building working prototypes quickly and refining them through repeated rounds of user feedback. It leans heavily on reusable components, low-code or high-productivity tools, and intense user involvement so requirements are discovered by reacting to something tangible rather than specified in the abstract. Loose phases such as requirements planning, user design, rapid construction and cutover overlap and repeat.
Pros: RAD delivers usable software fast and keeps users engaged, which reduces the risk of building the wrong product. It is well suited to projects where speed to a working system matters more than exhaustive planning, and modern low-code platforms have given it new life.
Cons: RAD depends on highly engaged users and skilled developers, and it scales poorly to very large or highly complex systems. Its speed focus can shortchange architecture, performance and documentation if the team is not careful, creating problems that surface later.
When to use it: RAD fits smaller to mid-sized projects with tight timelines, clear user availability and requirements that are hard to pin down in advance, such as internal business applications and rapid MVPs.
Hybrid methodologies
Hybrid approaches deliberately combine elements of different methodologies to fit a specific context. In practice, most real-world teams in 2026 run some form of hybrid rather than a textbook-pure method. The point is to take what works and discard the dogma.
How it works: a hybrid picks practices to match the project’s constraints. A common pattern, sometimes called “water-scrum-fall,” runs an up-front planning and requirements phase like Waterfall to satisfy fixed budgeting and contracts, executes the build in Agile sprints, then wraps up with a controlled release and handover phase. Another common hybrid runs Scrum for planning cadence while using a Kanban board and WIP limits to manage flow, often described as Scrumban.
Pros: hybrids let you balance predictability with flexibility, satisfy organizational or contractual constraints that demand up-front planning, and adapt the process to your actual reality rather than an ideal. They are pragmatic and widespread.
Cons: combining methodologies risks inconsistency and confusion if the team does not clearly understand why each element is there. Done thoughtlessly, a hybrid inherits the weaknesses of both parents; done well, it inherits the strengths. Clarity of intent is everything.
When to use it: choose a hybrid when no single methodology fits cleanly, when an organization must reconcile Agile delivery with fixed-budget governance, or when different parts of a project have genuinely different needs. This is the honest default for most enterprises and mature teams.
How to choose the right methodology
None of the software development methodologies above wins on every axis, so the choice is really a set of trade-offs weighed against your situation. Work through these factors deliberately rather than defaulting to whatever is fashionable.
- Requirements clarity. If requirements are stable and well understood, a plan-driven approach like Waterfall can work and gives you predictability. If they are uncertain or likely to evolve, a change-driven approach like Scrum or Kanban protects you from building the wrong thing.
- Project size and complexity. Small projects favor lightweight approaches such as Kanban, XP or RAD. Large, complex or high-risk systems may justify the structure of Scrum at scale, Spiral or a governed hybrid.
- Risk and regulation. High-stakes or regulated domains reward explicit risk management and documentation, pushing you toward Spiral, Waterfall or a hybrid with strong governance. Low-risk products can move faster and lighter.
- Stakeholder availability. Agile, XP and RAD all assume an engaged, decisive product owner or customer. If your stakeholders cannot commit that time, an Agile method will stall, and a more plan-driven approach may fit reality better.
- Change frequency and speed to market. If the market moves fast and you must release often, Agile plus DevOps is close to mandatory. If the target is fixed and slow-moving, the pressure for continuous delivery drops.
- Team maturity and culture. XP and DevOps demand real engineering discipline; Scrum needs process buy-in. An immature team may need to grow into a methodology rather than adopt its most demanding form on day one.
A practical way to decide is to score your project honestly on uncertainty and risk. High uncertainty with tolerable risk points to Agile and its variants. High risk with clearer requirements points to Spiral or a governed hybrid. Low uncertainty and low change point to Waterfall or RAD. Then layer DevOps on top of almost anything that runs in production. The methodology decision also interacts with how you sequence work overall, which our guide to the phases of the SDLC covers in detail.
Common mistakes when adopting a methodology
The methodology you name matters far less than how faithfully you practice it. A few recurring mistakes undo the benefits of any framework.
- Cargo-culting the ceremonies. Running stand-ups and sprints without the underlying feedback loops produces the theater of Agile without the value. The rituals exist to serve outcomes, not the reverse.
- Choosing by fashion. Adopting Agile because it is expected, when your context genuinely calls for a plan-driven approach, sets the project up to fight its own process. Fit the method to the work.
- Skipping the engineering practices. Agile without automated testing, continuous integration and disciplined refactoring accumulates technical debt fast. The process frameworks assume the engineering practices are present.
- Confusing flexibility with no plan. “We’re Agile” is not a reason to skip architecture, security or documentation. Change-driven does not mean planning-free; it means planning continuously.
- Ignoring the team’s reality. Imposing a demanding methodology on a team without the maturity or tooling to sustain it guarantees a painful, half-hearted adoption. Meet the team where it is and grow.
Why methodology matters when you outsource
Methodology choice becomes even more consequential when part or all of your team is external or offshore, because process is what keeps a distributed team aligned when you cannot simply walk over to a desk. The wrong fit shows up as misunderstanding, rework and eroded trust across a time-zone gap.
Two questions dominate. First, does the engagement model match the methodology? A fixed-scope, fixed-price contract naturally pulls toward Waterfall or a governed hybrid, because both sides need agreed boundaries. A dedicated team working an evolving roadmap fits Agile far better, since scope is meant to flex. Getting this alignment right is central to choosing among software development engagement models, and a mismatch between contract type and methodology is one of the most common causes of friction in outsourced projects.
Second, how does the methodology cope with distance and time zones? Agile’s reliance on frequent, high-bandwidth communication is a genuine strength offshore, provided you invest in the practices that make it work asynchronously: written clarity, recorded demos, well-groomed backlogs and overlapping hours for the ceremonies that matter. A partner who runs disciplined sprints with transparent boards, clear definitions of done and reliable communication can be more predictable than a co-located team with poor process.
Ownership and continuity matter too. Whatever the methodology, insist on full source-code handover and clear intellectual-property assignment, a modern DevOps pipeline you can inspect, and documentation proportionate to the risk. These protect you regardless of which framework the delivery runs on, and they are the difference between a genuine partnership and a black box. Weighing these factors well is a core part of software outsourcing in Vietnam and any offshore decision.
How CIT builds with these methodologies
CIT, founded in 2015 with offices in Ho Chi Minh City (Thu Duc) and Dong Nai, is an offshore software team serving clients in the US, Singapore and beyond. We do not sell a single methodology as gospel. Instead we match the approach to your product, your risk profile and your engagement model, then run it with the transparency a remote partnership requires.
For most product work we default to disciplined Agile, typically Scrum or Scrumban, layered with a solid DevOps pipeline and the engineering practices, automated testing and continuous integration, that keep quality high across a GMT+7 offshore team. Where a client needs fixed scope and price, we run a governed hybrid that plans and contracts up front and delivers in sprints, so predictability and flexibility coexist. In every case you get clear English communication, transparent boards and demos, full source-code handover with IP assignment on delivery, and documentation sized to your domain’s risk. The methodology serves your outcomes, not the other way around.
Frequently asked questions
What are the main software development methodologies?
The most common are Waterfall, Agile and its frameworks Scrum and Kanban, Lean, Extreme Programming, DevOps, Spiral, Rapid Application Development, and hybrids that combine elements of several. Agile-based approaches dominate modern product development, usually paired with DevOps, while Waterfall and Spiral remain relevant for stable or high-risk domains.
What is the difference between Agile and Waterfall?
Waterfall is sequential and plan-driven: full scope is defined up front and phases run once in order, which gives predictability but handles change poorly. Agile is iterative and change-driven: software ships in small increments, feedback shapes each cycle, and requirements are expected to evolve. Waterfall suits stable, well-understood projects; Agile suits uncertain, fast-moving ones.
Is DevOps a software development methodology?
Not strictly. DevOps is a culture and set of practices that unify development and operations to deliver faster and more reliably. It is best seen as an extension of Agile across the whole delivery pipeline rather than a standalone methodology like Scrum, and it is typically layered on top of another framework rather than used alone.
Which methodology is best for a startup?
Most startups favor Agile, often Scrum or Kanban, combined with Lean thinking to validate demand before investing heavily, and DevOps for fast, safe releases. High requirement uncertainty and the need to change direction quickly make change-driven approaches a strong fit. The exact form should match your team’s size and maturity.
Can you combine multiple methodologies?
Yes, and most real teams do. Hybrids such as running Scrum with a Kanban board, or planning up front like Waterfall while building in Agile sprints, are common and pragmatic. The key is to combine deliberately, understanding why each element is there, so you inherit the strengths of each rather than the weaknesses.
How does methodology choice affect outsourcing?
It affects it significantly. The methodology should align with your engagement model, since fixed-price work suits plan-driven or hybrid approaches while dedicated teams suit Agile. It also determines how well a distributed team stays aligned across time zones. A partner running disciplined process with transparent boards and clear handover is often more predictable than a co-located team with weak process.
Choose the right software development methodologies with CIT
Picking among software development methodologies is a decision about risk, speed and how your team actually works, not a fashion contest. If you are weighing which approach fits your product and your engagement model, CIT can help you think it through and then run it well from Vietnam, with clear English, transparent delivery and full source-code and IP handover. Reach out to start the conversation.

