System Development Life Cycle – SDLC
The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
It is a framework that describes the activities performed at each stage of a software development project.
Systems development is the process of defining, designing, testing, and implementing a new software application or program. It could include the internal development of customized systems, the creation of database systems, or the acquisition of third party developed software.[FCA]
Common SDLC Methodology Steps
In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement.
Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.
The new components and programs must be obtained/developed and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage.
This can be done in various ways. The new system can phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once.
Once the new system is up and running for a while, it should be exhaustively evaluated. Users of the system should be kept up-to- date concerning the latest modifications and procedures.
Software Development Life Cycle (Software)
“The systems development life cycle (SDLC), also referred to as the application development life–cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system.”[wikipedia]
- The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process.
- ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
- CMMI , a bench-mark for measuring the maturity of an organization’s software process. CMMI defines 5 levels of process maturity based on certain Key Process Areas (KPA).
Configuration Maturity Matrix (CMM) Levels
Level 5 – Optimizing (< 1%)
- — process change management
- — technology change management
- — defect prevention
Level 4 – Managed (< 5%)
- — software quality management
- — quantitative process management
Level 3 – Defined (< 10%)
- — peer reviews
- — intergroup coordination
- — software product engineering
- — integrated software management
- — training program
- — organization process definition
- — organization process focus
Level 2 – Repeatable (~ 15%)
- — software configuration management
- — software quality assurance
- — software project tracking and oversight
- — software project planning
- — requirements management
Level 1 – Initial (~ 70%)
Common SDLC Activities
- Stage 1: Planning and Requirement Analysis
- Stage 2: Defining Requirements
- Stage 3: Designing the product architecture
- Stage 4: Building or Developing the Product
- Stage 5: Testing the Product
- Stage 6: Deployment in the Market and Maintenance
- Waterfall Model
- Iterative Model
- Spiral Model
- Big Bang Model
- Agile Model
- Rapid Application Development (RAD) Model
- Rapid Application Development and Prototyping Model.