DEV Community

CraigSmith789
CraigSmith789

Posted on

SDLC Review

I recently found myself a bit flustered during an interview conversation about SDLC. It seemed like it might be a good time for a review.

What is the software development life cycle?

SDLC or the Software Development Life Cycle is a process that utilizes stages or phases to produce software with the highest quality and lowest cost in the shortest time possible. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, maintenance, and evaluation.

Let’s take a quick look at each stage.

Requirement Analysis
In this phase information is gathered from the eventual end user. This information is then used to plan the basic project approach.

Design
In this phase decisions are made regarding the architecture of the software solution. This can involve creating design documents, coding guidelines, and discussing the tools, practices, runtimes, or frameworks that will help meet the software requirement specification and goals defined in the requirements gathering phase.

Development
This is when the actual code is written. Each member of the project adheres to the requirements that were developed in the previous phases and sticks to an agreed upon timeline. Testing is also performed in this phase.

Implementation
This is the final stage of development, where the software is put into production. This may initially be on a limited scale or with only a small number of users.

Maintenance
This stage involves reviewing, understanding, and monitoring network settings, infrastructure configurations, and performance of application services in production. This is also where user issues will be addressed, and software is updated.

Evaluation
This is where the system that was developed, as well as the entire process, is evaluated. Did we meet the clients requirements? What did we do well? What can we improve on for the next project?

These phases can also be applied inside various models. Some of the more popular models are Agile, Big Bang, Iterative, V-shaped and Waterfall. These models could fill an entire post on their own so, perhaps that will be our next topic.

Top comments (0)