Wednesday, July 20, 2011

General Process(SDLC)


This post would give some Idea about process or SDLC(Software Development Life Cycle) followed in software organizations. Please note that there are multiple SDLC Models followed by different software organizations. This post is not to discuss about those different models but to discuss about the process in general.

A team of people also called as Business Team would speak with the client and gather the requirements(business needs) for developing the software and all this is done in Requirements Gathering phase. A document would be prepared in this phase and this document is known as BRS(Business Requirement Specification).

System Analysts would start analyzing BRS document for developing the software in Analysis phase. The document that comes out of this phase is called as SRS document(System Requirements Specification) document. This document would basically explain about the behavior of the software with the help of Use Cases(Use Case is a Graphical representation for showing the interaction of an User with the software). SRS Document also has information about the software/Hardware that is going to be used and a high level design of the software. This SRS Document is also known as HLDD(High Level Design Document).

Now comes the Design phase in which software Architects start designing the software at a lower level based on the BRS and SRS. The outcome of this phase would be LLDD(Low Level Design Document) or FRS(Functional Requirement specification) document.

Based on LLDD or FRS document, Development team and QA team would start their work simultaneously. Development team would start with understanding the requirements, and then start developing the software, and then would would do unit testing & integration testing of the software before it is delivered to QA team.

Mean while QA team would start with understanding the requirements, Creating test cases and test data, reviewing test cases and updating the same if required. Once QA team receives a new build(software which is under development is generally referred as Build), they would start testing the application. This testing would involve integration testing/System testing/Performance testing. If there are any bugs found in this phase, they would be sent to development team for fixing those and new build will be given for testing once the bugs are fixed. Once QA has completed its testing, software would be pushed from QA/Staging environment to UAT environment.

This is the place where Client side team would start testing the software. This testing is known as User accepting testing(UAT). If client side team finds any bugs in this phase, these bugs would be sent to Development team for the fixes. QA team would cross verify those bug fixes. Once the software passes UAT phase, software would be handed over to client(if client is going to maintain the software) or would be pushed to Production environment(if development company is going to maintain the software).

If any Additional Enhancements or features are needed to be added to the existing software, they would be going through all these phases once again.

Please note that some organizations may not have two separate documents as SRS & FRS. Instead they might have only one document.

No comments:

Post a Comment