4.5.1 · HinglishSoftware Engineering

SDLC — waterfall, V-model, iterative, agile

2,473 words11 min readRead in English

4.5.1 · Coding › Software Engineering


SDLC exist kyun karta hai?


Phases (woh vocabulary jo har jagah reuse hoti hai)

Phases mein split kyun karte hain? Kyunki insaan ek saath "sab kuch" apne dimag mein nahi rakh sakta. Phases = time mein separation of concerns.


1. Waterfall


2. V-Model (Verification & Validation model)

Figure — SDLC — waterfall, V-model, iterative, agile

3. Iterative (aur Incremental)


4. Agile


CHOOSE kaise karein (80/20 decision)

Model Feedback timing Best when Weakness
Waterfall Late (testing ke baad) Frozen reqs, heavy docs Late discovery = cost
V-Model Test pehle design hota hai, run late Safety-critical, traceability Change ke liye abhi bhi rigid
Iterative Har cycle ke baad Bada, high-risk, evolving Achhi iteration planning chahiye
Agile Har sprint (continuous) Volatile reqs, close customer Fixed contracts mein scope/budget mushkil

Flashcards

Sabhi SDLC models ke existence ko kaun sa economic curve justify karta hai?
Cost-of-change/defect curve — defect fix karna har baad wale phase mein ~10× zyada expensive ho jaata hai (), isliye models detection ko pehle push karne ki koshish karte hain.
Waterfall ko ek line mein define karo.
Ek linear, sequential model jahan har phase poori tarah complete aur sign off hoti hai agli shuru hone se pehle, koi wapas jaana nahi.
Waterfall actually sahi choice kab hota hai?
Jab requirements stable/frozen hoon aur change forbidden ya waise bhi costly ho (e.g. regulated, safety-critical, fixed contracts).
V-Model Waterfall mein kya add karta hai?
Yeh har development (left arm) phase ko same level par ek corresponding testing (right arm) phase ke saath pair karta hai.
V-Model pairing: requirements ⟷ ? aur module design ⟷ ?
Requirements ⟷ acceptance testing; module/detailed design ⟷ unit testing.
Verification vs Validation?
Verification = "kya humne ise sahi banaya?" (spec ke against). Validation = "kya humne sahi cheez banayi?" (user need ke against).
Iterative model ka core idea?
System ko baar baar cycles mein banao, har baar ek running lekin crude version milta hai jo loops mein refine hota hai; risky parts pehle tackle hote hain.
Iteration defect cost kyun reduce karta hai?
Yeh defects ko phases deep ki jagah ek iteration deep (running software) mein detect karta hai, cost-of-change curve ko collapse karta hai.
Kya Agile ek single process hai?
Nahi — yeh ek mindset/family hai (Scrum, XP, Kanban) jo Agile Manifesto par based hai, chhote sprints mein continuous feedback ke saath kaam karta hai.
4 Agile Manifesto values batao.
Individuals & interactions > processes & tools; working software > comprehensive docs; customer collaboration > contract negotiation; responding to change > following a plan.
SDLC model choose karne ka ek sawaal?
Requirements kitni stable hain aur late change kitna costly hai?
Common Agile myth aur uska correction?
Myth: "no docs/no planning." Correction: trade-offs mein working software prefer karo, lekin phir bhi plan karo (sprints/backlog) aur just enough document karo.

Recall Feynman: ek 12-saal ke bacche ko samjhao

Socho apne dost ke liye LEGO castle banana. Waterfall: tumhara dost poore castle ko ek baar describe karta hai, tum apne kamre mein jaate ho, poori cheez secretly banate ho, aur end mein dikhate ho. Agar unhein drawbridge chahiye tha — toh ab kuch nahi ho sakta, tumhe woh wall todhni padegi jo tumne glue ki thi. V-Model: same, lekin har part ke liye jo tumhara dost describe karta hai, tum yeh bhi agree karte ho ki tum ise kaise check karoge ("gate khulna chahiye" → "hum ise push karke test karenge"). Toh tum kuch bhi test karna nahi bhoolte. Iterative: tum jaldi se ek chhota rough castle banate ho, dost ko dikhate ho, phir baar baar improve karte rehte ho. Agile: tumhara dost poore time tumhare saath baithta hai; har kuch minutes mein tum progress dikhate ho aur woh kehta hai "aur towers chahiye!" toh tum kabhi zyada der tak galat cheez nahi banate. Badi seekh: jitna zyada tum apna kaam dikhane mein wait karte ho, utni zyada expensive tumhari galtiyan hoti hain.

Connections

  • Cost of Change Curve — har model ke peeche economic engine.
  • Verification and Validation — V-model ki backbone.
  • Scrum / Kanban / Extreme Programming — concrete Agile flavours.
  • Requirements Engineering — woh phase jिसकी stability model decide karti hai.
  • Software Testing — Unit Integration System Acceptance — V ka right arm.
  • Risk Management — iterative scary parts ko front-load kyun karta hai.

Concept Map

drives

formula

reuse

include

then

type

type

type

type

linear no going back

extends

pairs design with

re-loops to improve

locks nothing constant feedback

Cost-of-change curve

SDLC models

c_p = c_0 * k^p

5 classic phases

Requirements

Testing V and V

Waterfall

V-Model

Iterative

Agile