Work Related | 1st August 2019
Software Development Life Cycle or SDLC in short is a term used to describe the steps which are, or should be, taken during the development of software. In this article I will talk about my thoughts on what SDLC should be.
SDLC serves a very specific purpose: quality control. No matter what steps are taken or for what reason, the entire process is meant to control the quality of the software which is deployed to production and on which the business will run. My definition for SDLC is: A series of steps taken during the development of a solution to adhere to a certain set of quality requirements and a process surrounding those steps.
I have created a scale in which I divide maturity in SDLC.
In my mind the best and most efficient way to work is a change based method. By this I mean a developer changes something and that "change" is pulled through the process. Another way to do this is by collecting all changes into a release and pulling the release through the entire process. This has a couple of inefficiencies though: There is a reason for every change to be made, this is one of the first steps in the process and this means you start individually per change and later bundle them. Second reason is every change can fail somewhere in the process and will block the other changes from progressing. By handling every change independently the developers are able to work more independently, have more control over their "own" work and the business can possibly get fixes and features faster.