The Software Development Life Cycle - Introduction
The Software Development Life Cycle are the (what) phases involved in creating (why) high-quality software in (where) controlled environments during a (when) software design and development project through the (how) agile, iterative, or sequential methodologies and phase specific processes
As discussed earlier, the Software Development Life Cycle (SDLC) refers to the phases involved in creating a software system during a design and development project session. The aim of the SDLC is simple: Create high-quality software that meets customer expectations in a timely manner according to cost estimates.
The Software Development Life Cycle involves five (5) distinct phases i.e. planning, design, development, testing, and maintenance which are used in different orders, ways, and purposes called a SDLC methodology. Examples of popular SDLC methodology are the agile, iterative, and sequential methodologies.
Imagine this. An individual has an interesting idea, which he feels will generate lots of profits, does he go ahead and build it? Many individuals, companies, and governments have wasted time, and precious resources on software projects that are unfortunately abandoned. Other software projects are developed which do not meet up to the company’s objectives or user’s needs, and some are successful but with extraneous amounts of time and money poured into them.
This is why the planning phase is important, to make appropriate plans and guiding documents for the project and to use actual research, and data to make a decision for or against developing a software, deriving clear data (reasons, features) behind a software project’s expected success.
This high level research, data, etc, is now translated into what is called a software design document in the design phase. The software design document contains precise information that makes it possible to deliver the intended software as described in the planning phase.
Now that we have a software design document, it becomes necessary to convert this document into an actual software prototype. This is implemented by software developers through computer programming in the development phase.
However, the developed software often fails to meet up with the requirements as defined in the planning and design phase, with edge cases and several issues existing. This introduces us to the testing phase where we ensure that the software is as specified in the software design document.
Once it is proven that the software reliably fulfills the requirements and features as specified in the software system document, it is then necessary to prepare and implement the software into a production environment.
A production environment is a situation where actual users of the intended software interact with and use the software.
This phase is called the operation/maintenance phase as the software is now operated, maintained, and upgraded.
Now that we have an idea of what the SDLC is, we will consider each phase in more detail in subsequent posts.