Software development life cycle (SDLC)
The standard stages or phases of a software project include the following:
- Planning & Requirements Gathering
- System analysis
- Design & Development
- Includes Coding
- Testing
- Maintenance
Life-cycle of a programming project
A generic software development life cycle (SDLC) includes several phases: define, design, develop, deploy, maintain.
There are many models of SDLC, a few are mentioned here without description of advantages and disadvantages1. In choosing the best model for your project, you should consider the following attributes:
- The task at hand
- Risk Management
- Quality / cost control
- Predictability
- Visibility of progress
- Customer involvement and feedback
Without further ado, see the following examples presented.
Waterfall Model
Oldest and most straightforward -- finish one phase then move onto the next. It’s not flexible, other models have since been created.
Boehm’s Spiral Model (Boehm, 1988)
One of the most flexible SDLC methodologies, inspired by iterative model in that the project passes through phases over and over again.
Big Bang Model
There is no specific process, and very little time spent on planning. Likely found with hackathon projects where there is a tight deadline. Not recommended for large or complex projects.
Slide deck on “Software development lifecycle” from CSE 403 Software Engineering Spring 2016 from University of Washington https://courses.cs.washington.edu/courses/cse403/16sp/lectures/lecture-03-software-lifecycle.pdf ↩