The Software Development Life Cycle

Quick lil’ guide to the SDLC

Kristina Mancini
4 min readMay 2, 2023

Have you ever decided to build a shelf at 2:32 AM without instructions and then ended up with a weirdly shaped table and 13 missing screws?

Yes, yes I have.

Well, look no further because I have the solution for you!

I actually don’t. You may want to figure out a process like reading the instructions or something before trying to build a shelf randomly.

That’s why having a defined system of doing things is so important in building things, and by building things I mean building software. It has a name, and it’s called the Software Development Life Cycle (or SDLC for short).

What is it?

The SDLC is a process that involves following a sequence of steps in order to build a software product. This detailed process is used to help guarantee that a software application is of high quality, functional, and meets the expectations for a final product.

Here’s the rundown:

Planning

  • the first step of the SDLC
  • assignments, goals, costs, resources
  • project value and purpose
  • can help identify product strengths and weaknesses for current systems

Analysis/Requirements

  • SRS (Software Requirements Specification) document created, has all product requirements to be developed during life cycle
  • depicts team responsibilities and expectations
  • roles for team members involved
  • establishes timeline and costs
  • identifies what finished product should do and how it should work

Design

  • software architecture/UML Diagrams
  • assign what programming language to use, type of methods, decide where platform will be deployed
  • use of DDS (Design Document Specification) document

Development

  • coding
  • usually longest phase
  • can catch bugs early in this stage
  • earlier the bugs found, better chance of achieving higher quality product

Testing

  • test product to ensure it works by SRS
  • QA (quality assurance team) detects bugs or not, sends to dev team to fix bug, this cycle continues until free of error
  • rubber duck debugging
  • TDD (test-driven development)

Deploy/Maintenance

  • launch product
  • might be released to smaller set of users in beta testing (or UAT — User Assessment Testing)
  • discover even more bugs
  • getting feedback and improve product functionality
  • updates

Here’s a visual:

Six arrows pointing in a clockwise direction connecting to each other, showing words such as planning, analysis/requirements, design, development, testing, and deploy/maintenance above each arrow to depict the software development life cycle as a cyclic diagram
Made by me in Figma

Why is it important?

The SDLC provides instructions for each phase of the software development process to maximize the success of a high quality product. It is important because it decreases risks, accelerates product deployment, and advances the goals for each team member to reach expectations for the final product.

Different Models

The process above is not always followed that way exactly. Here are different models (and their links provided) used in the SDLC:

Waterfall

  • old model but still used today
  • linear, rigid, not flexible
  • each step must be completed before moving onto the next
  • delays might happen

Agile

  • newer and popular today
  • flexible, small time frames (1–3 weeks)
  • repetitive
  • each build is incremental
  • respond to changes
  • customer satisfaction
  • specific features built
  • final product has all features collectively
  • always improving
  • popular methodology: Scrum
  • there’s even an agile manifesto

V-model

  • every step in the cycle has a testing process attached to it
  • next step starts only when prior step is completed
  • has a lot more phases, and testing is done for each one
  • verify and validate
  • prevents bugs
  • can take a long time

Iterative

  • like waterfall method but repetitive
  • smaller portions over time
  • builds small prototypes and increment features (like ++)
  • get feedback and repeat process
  • find bugs faster, quicker way to market

Spiral

  • 4 steps: identify, design, develop, evaluate (risk analysis)
  • repetitive, like iterative method
  • start with small concept, work outward to final product
  • analysis of risk involved with software changes
  • input a small feature, if received good feedback, then more time set aside to develop that feature, if received bad feedback, saved from wasting time

Big Bang

  • not much planning, broad idea creation
  • identify requirements even if not fully understood
  • make changes as the process goes
  • can end up changing the software entirely
  • better for smaller projects and teams
  • no timeframe
  • flexibility, more teamwork
  • good for practice/academic work

So, now that you have an idea of what the SDLC is, do you think it is possible to build a shelf using one of these models? Well, I’ll have to test them out and see for myself!

Sources:

Kenzie Academy. (2022, August 25). What is the Software Development Life Cycle? Southern New Hampshire University. https://kenzie.snhu.edu/blog/what-is-the-software-development-life-cycle/

SDLC — Agile Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-7/module7page.html

SDLC — Big Bang Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-6/module6page.html

SDLC — Iterative Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-3/module3page.html

SDLC — Overview. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-1/module1page.html

SDLC — Spiral Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-4/module4page.html

SDLC — V-Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-5/module5page.html

SDLC — Waterfall Model. (n.d.). University of Houston Clear Lake. Retrieved May 1, 2023, from https://sceweb.sce.uhcl.edu/helm/SWEN5432-SDLC/myfiles/TableContents/Module-2/module2page.html

Software Development Life Cycles. (2023, January 12). Kansas State University. Retrieved May 1, 2023, from https://textbooks.cs.ksu.edu/cc410/iii-web/20-extras/04-software-development-life-cycle/

What is SDLC (Software Development Life Cycle)? (n.d.). Amazon Web Services. Retrieved May 1, 2023, from https://aws.amazon.com/what-is/sdlc/

What is SDLC? Understand the Software Development Life Cycle. (2023, March 10). Stackify. Retrieved May 1, 2023, from https://stackify.com/what-is-sdlc/

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Kristina Mancini
Kristina Mancini

Written by Kristina Mancini

I write about different topics in computer science and technology.

No responses yet

Write a response