sdlc-methodologies
| Model | Style | Best For… |
|---|---|---|
| Waterfall | Linear and rigid; you finish one phase before starting the next. | Projects with fixed requirements and no room for error (e.g., medical devices). |
| Agile | Iterative and flexible. Work is broken into “sprints.” | Most modern software. Allows for pivoting based on user feedback. |
| Iterative | Starts with a small version and adds complexity over time. | Large-scale systems where you need a functional core immediately. |
| DevOps | Focuses on the union of developers and Operations teams. | Fast-moving teams that deploy code dozens of times a day. |
Shift Left focuses on the idea of test early and test often. In the classic waterfall method, developers would code and test at the end, which poses a costly problem. You can find a costly bug at the very end, delaying delivery by weeks. With shift left, we find bugs sooner and avoid high-cost failures at the finish line.
The primary driver is the Cost of Change. A bug might cost $100 to fix during design, but $100,000 if it reaches the customer and causes an outage.
| Feature | Traditional Testing | Shift Left Testing |
|---|---|---|
| Timing | At the end of the dev cycle | Continuous, from day one |
| Responsibility | Dedicated QA team only | Shared: Developers, QA, and Ops |
| Feedback Loop | Slow (weeks or months) | Fast (minutes or hours) |
| Security | ”Pen-Testing” at the end | ”DevSecOps” (security from the start) |
Shifting Left requires a massive cultural shift: