What is Software development lifecycle?
The application development life cycle is widely known as the Software development life cycle . As the name suggests, is the stages within which the Software application goes through during its existence – its lifetime. The stages can be mainly divided into 4 phases. The design phase, the development phase, the testing phase and the maintenance phase. Wherever you read about the SDLC, the names of the stages may differ but they finally mean the same.
Let us understand each of the stages in a little detail.
The design phase: The first stage and probably the most important stage for any software product development or Software application development project. The software architect is the person who initialises this phase. The software application comes into existence either because of a client requirement or an innovative idea. Product prototypes are created in this phase to show the understanding of the to-be software product. Once the client or originator of the product confirms the prototype, the product enters the next phase. Many products and ideas fail to come into existence because of a weak design phase. Proper documentation of requirements and assumptions need to be made. This document is called the SRS – software requirement specification. It is in this phase that the cost and resource requirements are estimated. Once a design is finalised, it should not be changed in the next phases as it may harm both the cost and resource requirements.
The development phase: The product now starts to take form. As per the requirements stated in the Product documentation, developers start to build the product. The development phase and next phase, the testing phase go hand in hand.
The testing phase: As the product development progresses, the testing team tests to assure that the product works as desired. Bugs or defects are maintained in a bug tracking tool. After each testing phase, bugs are fixed and re-tested; after which the product enters the next stage of its life cycle. User Manual, Product installation and other documentations are also created in this phase.
The maintenance phase: There may be changes and enhancements required in the product after it has been released. These changes are made in the form of service packs and new releases. This phase is hence called the maintenance phase for the product.
Software Development Methodologies: The most commonly followed methodologies for Application development are Waterfall model and the Agile model. In the waterfall model, the product is developed in the sequence as mentioned above. Where as in the Agile methodology the product is developed in parts or iterations with all phases working together or simultaneously. The product may also be released as iterations.
Today Agile methodology has gained a lot of attraction in the develop community.