HomeAbout Me

SDLC Software Development Lifecycle

By Cecilia Caselli
Published in Fundamentals
December 10, 2023
1 min read
SDLC Software Development Lifecycle

SDLC: Software Development Life Cycle

The SDLC aims at developing high quality softwares, by defining the necessary activities to achieve so. A good SDLC reduces the risks that derive from a lack of planning, it ensures a better management of costs, it involves all the stakeholders, delivers a higher user experience, and addresses security.

The SDLC identifies six main activities that create a software:

  1. Plan; as it is fundamental to define the whole work in advance. In this phase, the team proceeds to write a document containing important information such as the cost/benefit rate, scheduling, and common objectives. This document establishes the requisites of the future software.
  2. Design; in this phase, software engineers work on the possible solutions according to the delineated requisites.
  3. Implement; in this phase, the development team starts coding.
  4. Test; it aims at verifying the presence of possible bugs and to solve them. Often, these tests are run while the code is being written.
  5. Deploy; in this phase, a copy of the software is being developed in a different environment known as build environment. In this way, the users are still able to access the software (called production) while changes and updates are being made.
  6. Maintain; In the maintenance phase, among other tasks, the team fixes bugs, resolves customer issues, and manages software changes. In addition, the team monitors overall system performance, security, and user experience to identify new ways to improve the existing software.

Organizations use models to optimize the implementation of a SDLC, since it helps to better visualize each of six phases. Some of the most popular models are:

  • Waterfall; in this model, all the phases are put in sequence, so that each new phase depends on the outcome of the previous one. In this way, the waterfall model ensures that each phase is completed, yet resulting in the almost impossibility to change something if needed. Any change could negatively affect the software’s delivery time, cost, and quality, for this reason, this model fits better small-size-companies.
  • Agile; in this model, the team doesn’t focus on each phase at once. On the contrary, it iterates through the phases, every time working on small tasks in each cycle. In this way, they are always aware of the “big picture” and are able to make adjustments.

Sources: https://aws.amazon.com/it/what-is/sdlc/


Tags

#sdlc#software#lifecycle

Share

Previous Article
Business Intelligence vs Data Science
Cecilia Caselli

Cecilia Caselli

Topics

Fundamentals

Related Posts

Software Engineer
September 10, 2023
2 min
About Me

Social Media