Software Project Delivery

Lifecycle

Software Development Life Cycle

A practical explanation of discovery, requirements, analysis, design, development, testing, deployment, maintenance, and controlled improvement across the software lifecycle.

1 Discover and define
2 Analyze and design
3 Build
4 Verify and release
5 Operate and improve

What this resource covers

The software development life cycle organizes the work required to move from a business need to an operated and supported system. The phases may overlap or repeat, but their responsibilities should not disappear.

  • Discovery confirms the problem, outcomes, stakeholders, and constraints
  • Requirements and analysis define behavior, quality, data, rules, and boundaries
  • Design translates requirements into user experience, architecture, data, interfaces, and controls
  • Development implements reviewed work in manageable increments
  • Testing evaluates behavior and quality against approved criteria
  • Deployment releases controlled changes with monitoring and rollback preparation
  • Maintenance addresses issues, dependencies, operations, and approved improvements

Information to prepare

Prepare the delivery context: product or project type, stakeholders, governance, risk, release frequency, regulatory needs, environments, support model, and evidence required at each stage.

  • Business case and goals
  • Stakeholder, workflow, requirement, and risk information
  • Delivery methodology and release strategy
  • Architecture, design, data, integration, and quality needs
  • Operational ownership and support expectations

Expected planning outputs

Define lifecycle activities and entry or exit evidence for discovery, requirements, design, implementation, testing, release, operation, maintenance, and retirement.

  • Approved requirements and plans
  • Design and architecture decisions
  • Version-controlled software and configuration
  • Test evidence and release decision
  • Deployed system, operational documentation, and improvement backlog

Practical example

How it can be applied

An iterative healthcare portal project can repeat analysis, design, build, and testing for registration, appointment, messaging, and reporting increments. Security, audit, integration, and deployment planning continue across all increments.

Common mistakes to avoid

  • Treating SDLC as documentation instead of accountable work
  • Skipping analysis because development is Agile
  • Testing only after all features are built
  • Deploying without operations, monitoring, and rollback ownership
  • Ending the lifecycle at launch and ignoring maintenance

FAQ

Common questions

Does Agile replace the SDLC?

No. Agile organizes how lifecycle work is planned and delivered iteratively. Requirements, design, testing, release, and maintenance still occur.

Must every phase finish before the next begins?

Not in every methodology. Iterative delivery overlaps and repeats phases, while controlled dependencies and approvals still matter.

When does maintenance begin?

Operational planning starts before release. Active maintenance begins when software enters use and continues for its supported life.

Free consultation