Software Development Life Cycle

Software Development Lifecycle

The result of a well-coordinated team effort is a product or software:

  • pizza delivery website
  • mobile banking app
  • web browser

Software Development Life Cycle (SDLC) describes the key stages of the software creation process. The earlier a QA engineer detects bugs, the cheaper they are to fix.

Stages of the Software Development Life Cycle

Example: launching online payment in a pizza delivery service

The team wants users to choose a pizza and pay for the order by card.

1. Planning

The team decides why online payment is needed, sets the launch timeline, assigns owners, and identifies key risks such as payment provider outages.

Stage result Launch plan: goal, timeline, owners, and risk list.
2. Analysis

We describe payment rules: when to show the button, which card data to validate, and what to do after a bank decline, repeated click, or empty cart.

Stage result Requirements, payment scenarios, and acceptance criteria.
3. Design

We prepare mockups for the cart, payment form, success and error screens, and Paid status.

Stage result Screen mockups, message copy, and transition flow.
4. Development

Developers add the payment button, payment provider integration, order status saving, and handling for approved or declined payments.

Stage result Working order payment in the test environment.
5. Testing

QA checks successful payment, bank decline, invalid card data, double-clicking the button, empty cart, mobile layout, and order status after payment.

Stage result Verified release candidate; after this check, payment can be shown to users.
6. Support

After the release, the team watches complaints, log errors, and disputed orders: fixing cases where money was charged but the order was not created.

Stage result Fixes and improvements in later versions.

Software Development Models

Development models show how a team moves through SDLC stages: sequentially from idea to release, or in short cycles with regular improvements.

Waterfall Model
Waterfall SDLC model

Waterfall Model is an approach where stages move one after another: requirements and design first, then development, testing, and release.

Works well when
  • The work order and responsibilities are easy to see
  • Timeline and scope are easier to estimate upfront
  • Works well for stable requirements
Watch out for
  • Late changes can lead to expensive rework
  • Feedback often arrives closer to release
Agile Model
Agile SDLC model

Agile Model is an approach where the team works in short iterations, regularly shows working versions, and adjusts next steps based on feedback. Scrum is one way to organize this work in sprints.

Works well when
  • Users and stakeholders see working results sooner
  • The team can adapt to new requirements more easily
  • QA checks changes more often and finds issues earlier
Watch out for
  • The team needs regular alignment
  • Without discipline, requirements and documentation drift apart
Task
The pizza delivery team has checked order payment: the card succeeds, bank decline is handled, and the order gets the correct status. After which stage can payment be shown to users?