What economic curve justifies the existence of all SDLC models?
The cost-of-change/defect curve — fixing a defect gets ~10× more expensive each later phase (cp≈c0kp), so models try to push detection earlier.
Define Waterfall in one line.
A linear, sequential model where each phase is fully completed and signed off before the next begins, with no going back.
When is Waterfall actually the right choice?
When requirements are stable/frozen and change is forbidden or costly anyway (e.g. regulated, safety-critical, fixed contracts).
What does the V-Model add to Waterfall?
It pairs every development (left arm) phase with a corresponding testing (right arm) phase at the same level.
V-Model pairing: requirements ⟷ ? and module design ⟷ ?
Requirements ⟷ acceptance testing; module/detailed design ⟷ unit testing.
Verification vs Validation?
Verification = "did we build it right?" (against spec). Validation = "did we build the right thing?" (against user need).
Core idea of the Iterative model?
Build the whole system in repeated cycles, each yielding a running but crude version refined over loops; tackles risky parts early.
Why does iteration reduce defect cost?
It detects defects one iteration deep (running software) instead of phases deep, collapsing the cost-of-change curve.
Is Agile a single process?
No — it's a mindset/family (Scrum, XP, Kanban) based on the Agile Manifesto, working in short sprints with continuous feedback.
State the 4 Agile Manifesto values.
Individuals & interactions > processes & tools; working software > comprehensive docs; customer collaboration > contract negotiation; responding to change > following a plan.
The single question that picks an SDLC model?
How stable are the requirements and how costly is late change?
Common Agile myth and its correction?
Myth: "no docs/no planning." Correction: prefer working software in trade-offs, but still plan (sprints/backlog) and document just enough.
Recall Feynman: explain to a 12-year-old
Imagine building a LEGO castle for a friend.
Waterfall: your friend describes the whole castle once, you go to your room, build the entire thing in secret, and show it at the end. If they wanted a drawbridge — too bad, you have to tear off the wall you glued.
V-Model: same, but for every part your friend describes, you also agree how you'll check it ("the gate must open" → "we'll push it to test"). So you don't forget to test anything.
Iterative: you build a tiny rough castle fast, show your friend, then keep improving it round after round.
Agile: your friend sits next to you the whole time; every few minutes you show progress and they say "more towers!" so you never build the wrong thing for long.
Big lesson: the longer you wait to show your work, the more expensive your mistakes get.
Dekho, SDLC ka matlab hai software banane ki recipe — vague idea se chalu hua, working aur maintained software tak. Saare models ek hi sawaal ka alag-alag jawab dete hain: "Decisions kab lock karein, aur feedback kab milega?" Iske peeche ek hard fact hai — cost-of-change curve: agar bug ko requirement phase me pakdo to 1x kharcha, aur deployed hone ke baad wahi bug 1000x mehnga pad jata hai, kyunki uske upar design, code, test sab build ho chuke hote hain (isliye exponential, cp≈c0kp).
Waterfall ek seedhi line hai — har phase pura karke, sign-off lekar agle pe jao, peeche nahi aate. Ye tab best hai jab requirements frozen hain (medical device, government contract). V-Model wahi waterfall hai par mod ke "V" bana diya: left arm pe banao (requirements → design → code), right arm pe test karo, aur har dev step ka ek testing twin hai (requirements ⟷ acceptance test, module design ⟷ unit test). Fayda: requirement likhte waqt hi sochna padta hai "isko test kaise karenge?", to vague wishes turant pakde jate hain.
Iterative model bolता hai — pura system ek baar me mat banao, chhote-chhote loops me banao, har loop me running (par rough) version aata hai, jise improve karte jao. Scary/risky part pehle iteration me karo taaki problem sasti me pata chale. Agile ek mindset hai (Scrum, XP, Kanban) — chhote sprints (1–4 hafte), har sprint me shippable cheez, customer saath me. Jab requirements roz badalte hain, Agile sabse aage nikalta hai kyunki kuch bhi door tak lock nahi karta — change bas agle sprint ke backlog me ~1x cost pe ghus jata hai.
Yaad rakhne ki ek hi master-key: requirements kitne stable hain + late change kitna mehnga hai? Stable + regulated → Waterfall/V-Model. Bada + risky → Iterative. Volatile + customer paas → Agile. Aur do myth mat phaslo: "Waterfall hamesha bekaar" (galat — frozen reqs me best), aur "Agile = no docs/no planning" (galat — Agile bhi plan aur document karta hai, bas just enough).