Software Development Lifecyle (SDLC)
“If you can’t convice them, confuse them”
Hi Guys,
Welcome back and happy new year. Let’s begin it with some new content.
SDLC What the F*ck is SDLC?
SDLC also known as Software Development Life Cycle, is a methodology with defined processes for creating high-quality software.
It provides flows to help companies to (quickly) produce (high-quality) software which is (well) tested and ready for production use.
SDLC GOALS
SDLC is very important for every software company (yeah beacuse, like said by Microsoft’s CEO Nadella “every company is a software company, every company is a digital organisation”) and if SDLC processes are well understood can bring a lot of benefits like
- Meet Project's deadlines
- Keep IT Projects on budget
- Produce high-quality code
- Limit productive bugs and vulnerabilities
- Keep the business involved
- Have the correct taks prioritization
- Promote teams collaboration
As said before, SDLC is a methodology and is composed of different stages.
SDLC SSTAGES
The SDLC workflows may involve repeated iterations across the phases before reaching the final one.
The six phases are:
- Requirement Analysis
- Feasibility Study
- Architectural Design
- Software Development
- Testing
- Deployment
Requitement Analysis
In this phases there are different stakeholders involved from the organization. In this phase, business requirements are analyzed considering risks, cost, functionalities and performances to meet. This phase will produce the first idea that will evolve till the definition of the desired result (considering the factors above). This phase will produce also a document (software requirement specifications) to keep track of the needs (software, hardware, network, resources, …)
Feasibility Study
Goal of this stage is to quantify the opportunities and risk of addressing the analyzed requirements with the variety of resources available (economic, legal, technical and timing).
As for the previous phase, a document with the analysis will be produced before proceeding to the next phase.
Architectural Design
In this phase the Software Requirement Specification document produced in the previous stages will be turned into a more logical structure that will be used in the implementation stage. Developers will detail the overall application. specific aspects, such as UI, System Interfaces, Network, Databases and so on will be treated. At the end of this stage, a design document will be produced.
Software Development
During this phase, task will be assigned to different teams and individuals and they will collaborate on feature development and coding activities. During this phase, the development team can provide feedbacks and give some hints for potential changes.
Testing
Testing phase is one of the crucial phases of the SDLC. A guiding document created by the test team will be the driver of this phase During this phase it will be examined:
- Perfomances
- Code quality
- Potential Issues
At the end of this stage a document with test result will be produced.
Deployment
This is the final phase of the SDLC. If the previous phase confirm the quality of the product, it will be released to the end users.