The Software Development Life Cycle
Quick lil’ guide to the SDLC
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:

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/