Stands for "System Development Lifecycle." SDLC is a structured approach to creating and maintaining a system used in information technology. It can be applied to networks and online services, but is most often used in software development.
When applied to software, the SDLC is also called the "application development life-cycle." Some SDLC models have as few as five stages, while others have as many as ten. A typical SDLC framework used for developing a software application might include the following seven stages:
- Planning - The most fundamental part of the SDLC is planning. This includes steps like determining a need for a specific program, who will be the end users, what the development will cost, and how long it will take.
- Defining - In this stage, the general development plan is funneled into specific criteria. The specific requirements of the program are defined. At this stage, the development team may also decide what programming language should be used to build the program.
- Designing - This process involves creating the user interface and determining how the program will function. For larger applications, it is common to create a design document specification (DDS), which may need to be reviewed and approved before the actual development begins.
- Building - The building stage typically comprises the bulk of the software development process. It includes programming the source code, creating the graphics, and compiling the assets into an executable program. Small projects may involve a single programmer, while larger projects may include multiple teams working together. For example, one team might design the user interface, while another team writes the source code. For multiplatform applications, individual teams may be assigned to different platforms.
- Testing - The all-important testing phase allows the developer to catch unknown issues and fix any bugs that arise in the program. Some testing may be done internally, while a beta version of the software might be provided to a select group of users for public testing.
- Deployment - Once a program has passed the testing phase, it is ready for deployment. In this stage, the software is released to the public. It may be provided via an electronic download or as boxed software, which comes on a CD or DVD.
- Maintenance - After a software application has been released, there may still be additional bugs or feature requests submitted by users. The development team must maintain the software by fixing bugs and adding new features. Commercial software programs often include some level of technical support.
The reason the above stages are referred to as a cycle is because these stages are repeated each time a new major version of the software is released. While the maintenance stage may encompass minor updates, most software companies stay in business by regularly releasing paid updates (version 2, version 3, etc). Before embarking on a new major version, the development team must first create a plan (stage 1) and then continue through the other stages of the SDLC.