Knowledge / Computer Science and Engineering / SDLC and Agile

SDLC and Agile

Computer Science and Engineering (B.E./B.Tech) · Software engineering · free study notes for exams, placements and interviews

In short

The Software Development Life Cycle (SDLC) is the structured sequence of phases - feasibility, requirements, design, coding, testing, deployment and maintenance - that a software product passes through from idea to retirement. A process model (waterfall, incremental, spiral, prototype, V model, RAD, agile) decides how those phases are ordered, repeated and overlapped. Agile is the dominant family today: short iterations, working software every few weeks, and change accepted late rather than frozen. This is the opening chapter of every Software Engineering paper, carries direct marks in university exams and in GATE (process models, cost of change, model comparison), and almost every Indian employer - TCS, Infosys, Wipro, Accenture, Cognizant, Capgemini, HCLTech, LTIMindtree, Zoho, Flipkart, PhonePe - asks a fresher to describe Scrum, a sprint and a standup in the HR or managerial round.

Explained

The SDLC phases (common to every model)

  1. Feasibility study / project initiation: is the system worth building? Technical, economic (cost-benefit, ROI), operational and legal feasibility. Output: feasibility report, go/no-go.
  2. Requirements gathering and analysis: elicit what users need, resolve conflicts, write the SRS (Software Requirements Specification, IEEE 830 / its successor ISO/IEC/IEEE 29148). Output: baselined SRS.
  3. Design: high-level design (HLD) - architecture, modules, interfaces, database schema; low-level design (LLD) - algorithms, class and function detail. Output: SDD (software design document).
  4. Implementation / coding: modules written to coding standards and unit-tested by developers.
  5. Testing / integration: integration, system, performance, security and UAT (user acceptance testing). Output: test reports, defect logs.
  6. Deployment / release: installation, data migration, training, go-live (big-bang, phased or pilot rollout).
  7. Maintenance: the longest and costliest phase - typically 60-70% of total lifetime cost. Four types: corrective (fix defects), adaptive (new OS, new tax law, new browser), perfective (improve performance or usability) and preventive (refactor to delay decay).
  8. Phase-wise effort rule of thumb quoted in texts: requirements + design ≈ 30-40%, coding ≈ 15-20%, testing ≈ 30-40% of development effort. Treat these as indicative ranges, not fixed constants.

Prescriptive (plan-driven) process models

The Agile Manifesto and principles

Scrum - roles, artefacts, events

Kanban, XP and Lean

DevOps, CI/CD and the modern delivery pipeline

Standards, maturity and the Indian practice context

Key points

Formulas and examples

Velocity V = (story points of items meeting the Definition of Done) / sprint
Sprints needed = total remaining story points / average velocity (round up)
Sprint capacity (hours) = team members × available hours per day × working days × focus factor
Focus factor = productive (sprint) hours / total available hours; typically 0.6-0.8
Ideal burndown slope = initial sprint points / number of sprint days (points to burn per day)
Little's Law (Kanban): Average WIP = Throughput × Average Cycle Time ⇒ Cycle time = WIP / Throughput
Lead time = time from request raised to delivered; Cycle time = time from work started to delivered
Defect Removal Efficiency DRE = defects found before release / (defects found before release + defects found after release) × 100
Cost of change ratio (Boehm, plan-driven): requirements : design : coding : post-release ≈ 1 : 5 : 10 : 100 (indicative)
Agile cost estimate = sprints × team size × cost per person-sprint

Example 1 - Release forecast from velocity. A team's last five sprints delivered 28, 32, 30, 26 and 34 story points. The remaining release backlog is 450 points.

Example 2 - Sprint capacity and cost. Six developers, 2-week sprint, 10 working days, 8 h/day, focus factor 0.7. Billing at ₹1,200 per person-hour.

Example 3 - Burndown check. Sprint backlog = 40 points, 10 working days. Ideal slope = 40/10 = 4 points/day. At end of day 6 the ideal remaining = 40 − 24 = 16 points; the team actually has 24 remaining.

Example 4 - Little's Law on a Kanban board. A support team keeps an average WIP of 12 tickets and closes 6 tickets per day.

Example 5 - Defect Removal Efficiency. Pre-release testing found 285 defects; customers reported 15 in the first three months.

AspectWaterfallIncrementalSpiralScrum (Agile)Kanban
RequirementsFrozen up frontKnown, delivered in slicesEvolve with risk analysisEmerge, reprioritised each sprintPulled as they arrive
DeliveryOnce, at the endSeveral incrementsAfter each loopEvery 1-4 weeksContinuous
Customer involvementStart and acceptance onlyAt each incrementEvery loop reviewDaily to every sprint reviewOn demand
Change costVery highMediumMedium (planned)LowLow
DocumentationHeavy, baselinedModerateHeavy (risk + plans)Just enoughMinimal, explicit policies
Risk handlingLate, poorModerateExplicit, primary driverEarly feedbackFlow-based
Team size suitedLargeMedium-largeLarge3-10 per teamAny
Best forStable, regulated, fixed-priceCore-first productsLarge, costly, high-riskEvolving productsSupport and maintenance
ScrumKanban
Timeboxed sprintsContinuous flow
Prescribed roles (PO, SM, Developers)No prescribed roles
Commitment to a Sprint GoalCommitment to WIP limits
Velocity, burndownLead time, cycle time, throughput
Board reset each sprintPersistent board
Change during a sprint discouragedChange any time, subject to WIP

Where it is used

Interview questions

Common mistakes

Related topics

Requirements engineering and UML · Software project management and estimation · Software testing basics · Test automation and TDD · Git and version control · Software architecture: monoliths and microservices

Open in the Knowledge reader →Find jobs →