What is SDLC?
As the name implies- SDLC stands for Software Development Life Cycle.
When you are developing your software/application, it is important that you are guided with some specifications. These specifications help you develop and deliver a software that is in-line with the quality standards across the world.
The specification or the guideline that helps you in this process is called the SDLC. SDLC is a framework that talks about the various phases that your project would go through – staring from finding your requirements, designing, implementing, testing and maintenance.
What are te different phases found?
As a software professional it is important to understand the importance of each phase of the project and deliver the best in each of these phases.
- Gathering the requirements: First and foremost, you need to know what you need to work on. “Requirements” phase of the project is the time when you gather what you need to do. It can be done by talking to the end customer and understanding the problems that they are facing. A clear understanding of the existing problems will guide you through the improvement process. Generally this is done by a set of people who are in constant interaction with the end customers.
- Design: Once the requirements are finalized, it is important that we do not jump into implementing the requirements. A through understanding of the existing architecture of your system is important. If it is a new system or application, a thoughtful design is an implicit requirement. Your design should be robust enough to accommodate future realistic changes. Backward and future compatibility are something’s that you need to keep in mind while designing your system.
- Implementation: The next step is to start implementing your system as per your design. Conceptualizing your design concepts is the key to the success of any project. It is not just a phase where you make your code changes. Constant monitoring, communicating and accommodating any changes if required might be the realistic challenges of this phase. Ideally, no new changes need to come up during this phase of the project. But realistically, it is a phase where you realize that your end customer desires for more. In such cases, it becomes implicit for you to be flexible enough to accommodate new changes. Time lines, deadlines, monitoring and reviews are key things to consider.
- Testing: Bugs bugs and bugs – Showstopper, critical, medium or low. These are the different types of defects that can come up once your system is tested. Testing is a critical phase of the project. It is critical to do a thorough testing of your system. It is important that new feature testing and regression testing on your system is done before it is delivered to the end customer. Testing is usually done is different phases – unit testing which is performed by the developer. Then there is integration testing to check if it integrated well with the existing system. It is then time for regression or stress testing to make sure that every aspect of your system is tested and ready for use.
- Maintenance: Your work does not end after you have delivered a quality component to the customer. Maintenance and support of your product is also very important if you want to make sure that your end customer is happy with your deliverable. This phase of the project makes market leaders. Quality support and maintenance makes sure that your happy customer comes back to you for more and more.
Every project runs its development process in-line with the SDLC. However, there are different models that are followed to make sure that the project is delivered in the best possible way – in terms of quality, money and time.
Read my next post to see the different models followed in SDLC.