Hello everyone. Welcome to this session on DevOps training. So our topic for today is what is software development lifecycle? So let’s start with this topic now. So what is Software Development Lifecycle exactly?
Now, software development is the process of transforming customer requirements into software, right? So basically a customer would come into your company, you would lay down the requirements, and the process of converting those requirements into a complete software product is what is known as software development.
Now obviously there’s a process that is followed for the software development. And so let’s see what that process is exactly.
All right. So the whole process of the software development lifecycle is divided among these five stages.
Order the phases of the software development lifecycle
Now what are these five stages? The first stage is about the requirements gathering. The second stage of the Software Development Lifecycle is about designing that.
Now, designing deals with converting the requirements into specifications. Then we have implementation wherein we implement the specifications that we draw out from the requirements.
Then we have verification to understand what we have developed in the product. What we have developed in the software, is it matching with the requirements of what the customers said initially?
Towards the end, we then do maintenance, any version patches, and any bugs that were there in the earlier release.
If you have to fix that, we do that in the maintenance. Now let us look at all these phases particularly, or let us look at all these phases one by one, right?
Requirement Phase
So the first stage of the Software Development Lifecycle, as I said, is the requirements phase. Now what happens in the requirements phases?
Say a customer comes into your company and he meets the architect of the company and he says I want these and these features in my software.
For example, say he’s from an HR background and he wants HR software up and running. So he would specify the requirements. He would say he wants an attendance page. He wants to create a page for leaves. He wants to monitor the clock-in and clock-out time, et cetera, et cetera, right?
So these are all the requirements which he gives to the architect. Now the architect would be a person who basically can bridge the gap between the customer and the developers in the company, right?
So this was the requirements phase of the Software Development Lifecycle. The architect could take the requirements from the customer.
Design Phase
The next phase of the Software Development Lifecycle is the design phase. Now this design phase is also implemented by the architect of the company.
So what he does is he either with the help of his subordinates who are some other architects in a company or by himself, he designs the specification for the software, technical specification of the software based on the requirements given by the customer, right?
These specifications would be basically like what all parameters should be there in the software. How many functions do we need in the software, how many classes do we need in the software, et cetera? A
nd this all is written down in documentation and then it’s made available to the developers.
Implementation Phase
Right? Now the developers are the people who would be implementing this particular specification which is given by the architect, right?
So developers, get a straightforward job, they know exactly what has to be done, and the architect makes sure that the work is divided among people, the people who specialize in their territory, right?
And that particular work from that specification is given to that particular developer or a group of developers, right? So this is the implementation phase.
Now the developers would see the specifications, they would create the software product and then the software product would be joined together or clubbed together. And it will come up to be one particular suit, right? Once the software has been developed and before sending it to the customer.
Verification Phase
Now the next phase of the Software Development Lifecycle is testing or verification. Now we check, now the architect checks what all requirements were specified by the customer. Are they being fulfilled by the software? Right.
Now obviously the functional checking is done by the testers. They check all the functions. Are the functions working properly? According to the specifications which were given by the architect.
Towards the end, the architect checks whether the requirements specified by the customer are being fulfilled by the software that we have developed, right? So this is the verification phase
Maintenance Phase
So once the software goes out to the customer and then he’s using it there could be some additional features that the customer might require or might come up in the future, right?
So all that comes in the maintenance phase as well as any bug fixes. Now see, no software is perfect in this world. There are bound to be bugs.
Even the OS, the Mac OS, or the Windows that we use, all have bugs, right? And they are fixed incrementally.
You might have seen that you get Windows updates frequently, and you get your phone updates frequently, and if you read the specification of those updates, it specifies fixed major bugs or fixed minor bugs or updated the security patch.
The Bottom Line
I think now you have got the detail on this topic which is called “What are the 5 Stages of the Software Development Lifecycle?”
Because the world of software development is dynamic and security risks are ever-changing, so too must our methods of development. By smoothly incorporating security into each stage of the SDLC, DevSecOps provides a proactive approach.
The Software Development Lifecycle comprises five crucial stages: requirements gathering and analysis, design and architecture, development and implementation, testing and quality assurance, and deployment and maintenance.
Thanks for the reply sir. Please check my second article related to your query. I have described In a very easy language.