In today’s blog i am going to explain Software development life cycle (SDLC)
A Software Development Life Cycle is a series of steps, stages involved in building any software/Product or we can say SDLC is a process followed to develop a software project, within a software organization.
There are six stages involved in SDLC:-
- Feasibility study
- Requirement Analysis and Design
- Development
- Software Testing
- Deployment
- Maintenance
Software Development Life Cycle (SDLC) Stages:-
- Feasibility Study: – The feasibility study is used to determine if the project should get the go-ahead. If the project is to proceed, the feasibility study will produce a project plan and budget estimates for the future stages of development.
- Requirement Analysis and Design: – Analyst gathers the requirements for the system. This stage includes a detailed study of the business needs of the organization. This is done by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the stage. Design focuses on high level design like, what programs are needed and how are they going to interact, low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data will be required. Analysis and Design are very crucial for SDLC. Any glitch/gap in the design phase could be very expensive to solve in the later stage of the software development. Much care should be taken during this phase. Design Document Specification (DDS) are reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. A document called anSRS (Software Requirement Specification) which consists of all the product requirements to be designed and developed during the project life cycle is prepared in this stage.
- Development: – In this stage the designs are translated into code and actual implementation is started. Computer programs are written using a conventional programming language or an application generator. Programming tools like Compilers, Interpreters, and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, Java are used for coding. According to the organization programming language is chosen.
- Software Testing:- The testing activities are mostly involved in all the stages of SDLC . The developed code is tested in this stage and responsibility of this stag eis to find defects and make sure that all steps for defects like reported, tracked, fixed and retested are done, until the product reaches the quality standards defined in the SRS. There are various type of testing and depending on software and organization we select testing strategies.
- Deployment: – Once the product/software is developed and tested successfully, it is ready for deployment and it is released formally to the Client. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in limited parts (or whole) and tested in the real business environment (UAT- User acceptance testing). Then based on the feedback from client, if it requires any changes or any defect found, Client will report to the engineering team, once those changes are made or the bugs are fixed then the final deployment will happen.
- Maintenance: – When we have deployed our product or software, and users start using it, at that time whenever any problem comes up, we need to resolve it and deploy it again. So in this stage we take care for our developed product and give full support. It involves continuous evaluation of the system in terms of its performance.