SDLC: System Development Life Cycle, is a software lifecycle management methodology that typically consists of five to seven phases (requirements gathering, design, construction/test, implementation, post-implementation support).
SHORT DESCRIPTION (by Bobbi Markley)
1) WHAT IS SDLC? SDLC: System Development Life Cycle, is a software lifecycle management methodology that typically consists of five to seven phases. It most often includes requirements gathering, design, construction/test, implementation and post-implementation support. It guides the software development process and prescribes various documents and deliverables for each phase. Each successive phase of SDLC leverages the documentation and knowledge gained from the previous phases. For instance, the detailed business requirements must be known in order to determine functional design followed by technical design and coding. The tenets of SDLC are not standards per se, but merely guideposts for managing software and systems from cradle to grave.
The State of Pennsylvania's (U.S.) application development home page introduces SDLC as follows:
"Proper engineering of any software application should involve the following distinct phases during the lifecycle of application systems development ............. Systems Development Methodology (SDM) is a set of guidelines, procedures and standards intended to ensure the development of quality application systems that meet the users' needs in an efficient manner."
2) WHAT SDLC IS NOT. SDLC is not a software engineering or a project man-agement methodology. It doesn't dictate software engineering quality standards or relate best practices, but rather serves as anenabler for them.
3) WHAT'S THE PURPOSE OF SDLC? The purpose of SDLC is to institute a standard practice, or methodology, that is both duplicatable and repeatable, leading high software quality. This translates into lower total cost of ownership and greater return on investment, resulting in direct savings to the corporate "bottom line". This is the real business case for SDLC. Cost effectiveness is the desired outcome, more favorably the end result if done properly. SDLC focuses on the steps required to ensure software quality (i.e., software that is engineered and developed in such a way as to be reliable, maintainable, and supportable in a cost effective manner for the life of the system). Robust software engineering and project management practices act in concert with a good SDLC model to make this happen.
4) WHAT IS THE SDLC APPROACH? Software development can be done in a linear fashion (waterfall) or more recursively/iteratively.
5) ADDITIONAL RESOURCES FOR A COMPREHENSIVE APPROACH. The Software Engineering Institute (SEI) at Carnegie Mellon University (partnered with the US Department of Defense) provides several capability maturity models, including one for software acquisition. Standards provided by organizations like SEI and IEEE and others form the technical foundation for software quality.