Agile SDLC Model (source: ProductTribe)
What are the phases of SDLC?
No matter what project management methodology you choose, there are some certain phases of software development life cycle that you need to go through. These are:
1. Planning and requirement analysis
How do you imagine your software? What do you want it to be like? Is there a similar solution on the market? What functionalities are you considering? How do you see the project’s goals? What are the pain points? Who are the potential users? What are your thoughts about potential milestones? At this stage, you need to define your requirements, estimate the costs and required resources. Focus on your potential users’ needs, think about the key business requirements, and try to map your business ideas.
2. Designing product architecture
It’s time to decide on the deadlines and priorities, project scope, and technology stack. From then on, you can plan the development of your product.
This phase of the SDLC is about turning your requirements & specifications into a high-level architecture and a clear project roadmap. You need to get an overview of the entire system and identify the main components that will be developed for the product.
3. Development and programming
Simply put, the third SDLC phase is about delivering what you’ve planned.
Note that the process of software development life cycle does not indicate that you have to finish one part before moving to the next SDLC phase. In the case of the development phase, your development team will focus on delivering some working part of the software product (it may be a small, single feature or iteration), then testing it, deploying, and going back to sprint planning, development, testing, and deployment of another part of the project.
In this stage of SDLC, the Quality Assurance team steps in the process to make sure that the application is of the highest quality and that it meets the requirements.
This part of the SDLC process often happens in a limited way at first. You don’t deploy the whole software product at once! You do it step by step, delivering a new part of the project with every deploy. Your goal is to give your customers the simplest and the fastest way to discover your application and recognize the value it brings. Then, depending on feedback from the end-users, you are able to adjust the initial project roadmap to their actual needs.
SDLC phases vs Lean software development
And how does this SDLC process relate to the Lean development strategy and the stages mentioned in the introduction of this article (proof of concept, prototype, MVP)? At the beginning of every stage of Lean software development, you will need to gather the requirements, plan the overview of a project life cycle roadmap, design whatever you plan, build it, test, deploy, and… repeat. The same SDLC process will apply both to the whole life cycle of your application development and to the development of the smallest pieces of your software. Working in sprints? Perfect. Most of the SDLC phases can be applied there as well: you plan the sprint, you develop the feature, you test it, deploy, and go to the new planning.
Basically, you will apply SDLC phases to different stages of Lean development process – starting with building a proof of concept (even if there is no actual application yet), through the prototype, MVP, up to developing and maintaining a fully-featured product.
Stages of lean software development