---
title: "Software Development Methodologies"
type: concept
related: [Software Development Methodologies]
source: https://www.jemoka.com/posts/kbhsoftware_development_methodologies/
confidence: high
status: active
---

The software development models, or Software Development Life-cycles (SDLCs), are methodologies to approach organizing a software project.
Waterfall The waterfall specification gets written before any code written. We hand off spec and code directly to tester, and code should behave like spec.
Code specification exactly Spec does not update Code happens only after stuff is done
Agile Agile are designed to work with minimum specification before code. Spec is updated constantly as code changes and get user feedback.
Spiral (Software Development) The Spiral model is as SDLC that combines the iterative development approach of Agile and the structure of Waterfall.
It focuses on Risk to mitigate it.
Waterfall style requirements detailing Preliminary design First prototype: scaled down system Second prototype Mitigates strengths, weaknesses, and risks of 1st prototype Augmented requirements that got scaled down during the firts prototype &ldquo;The entire project can be aborted if the risk is deemed too great.&rdquo; Budget Operating cost Repeat until customer likes it Construct final system using the prototype as a spec Other Non-Canonical SDLCs Test-Driven Development See Test-Driven Development
Extreme Programming TDD + continually integrating code and pair programming to review code
