Software Development Lifecycle (SDLC) – Simply Explained

SDLC stands for Software Development Life-cycle and it is a process through which any software or applications goes underway in certain procedures and in the end, we get that in the functional form to use it.

SDLC process make sure that whatever software or applications we are building are of high-quality and meeting the end user expectations, delivered within a certain time frame and costing.

It consists a well-structured flow of steps which we have described below, that helps an organization to release a quality software which is well-tested and ready for use within the deadline.

(Software Development Life-cycle – SDLC – Stages)

These are the followings steps or better say stages of SDLC process

– Requirement analysis (business analyst prepare SRS – software requirement specification, based on the client inputs):- This is the first phase where managers or business analysts gather all the relevant information like what client wants to build, purpose of the product, expectations from the product and who will be the end-user from the client to develop a product. Before taking any action to build a software – core understanding and expectation of the product from the client is very important.

Once the requirement is gathered and clearly understood, the SRS (Software Requirement Specification) document is created which will contain all the product requirements. And based on this document the SDLC process will work step by step.

– Designing and specification (screen, platform, UI, Theme, users..prototype):- In this phase after getting all the requirements, team will brainstorm on how to design and build the  software. This phase will contain the details about architectural module, User Interface, Platforms, Programming language to be used, Security measures of the product along with its communication and flow of the product.

– Coding (module wise):- After designing and specification phase, the next step is to write code. This is the step where actual development of the software starts and the product is built. Developers or Programmers start writing code using Designing and specification document where the predefined programming language is decided to build the entire product or application.

– Testing (working according to the client requirements – functional or non-functional):- After writing the code when software is ready, testing team tests the entire software thoroughly to check its working or not according to the customer requirement. IF the testing team will find bugs or defects in the software they will communicate this to the development team they will fix the issues and send again for re-test to the testing team. This process will go until the software is error-free, stable, and working according to the customer requirement.

– Implementation/Installation (After completing the software making process, team check it in realtime environment and observe working as client/user requirement or not):- Once the software is bug-free, stable and working according to the customer requirement software get deploy to the production environment where users can start using the product.

– Maintenance  (load testing stress – how many users can login  and use- security analysis):- Once customers or end users start using the software then the real issues will come up and needs to be solved from time to time. 100% testing can not be done in the testing phase – testing team tests the product is somehow different from the way end users will use the product. Users will discover bugs that weren’t found during testing phase. Not only the issues, if any enhancement will come from the client end then fixing all these comes in the maintenance phase.

Mantosh Singh