A software product's development lifecycle is comprised of five phases:
- Requirements: What features will the software have?
- Design: How will the software offer these features?
- Coding: How will the features be coded?
- Testing: How will the software be tested?
- Implementation & Delivery: How the software be implemented and delivered to the customer?
At VRVirtual, we usually follow following development process:
- Requirement analysis – VRVirtual will appoint a project manager to the project. The project manager will have 4-5 rounds of discussions/ meetings with the client. The client gives specifications of what all features are expected from the system. The meetings will continue till all aspects of the project are being discussed with the client.
- Functional Study Document & Design Template – Based on the initial discussions with the client, functional study document is prepared. The client is given a walkthrough of this functional study document. The functional study document is revised and changes are made (if any) after various discussions with the client.
- Approval of Functional Study Document along with Design Template – The functional study document is then sent to the client for approval. After a client sign off is received on the functional document, static screens and 2-4 design templates are created by VRVirtual. These static screens represent the process flow of the proposed application. These static screens normally covers input screens, report formats, profiling and access rights. During the time design templates are created for the proposed application and sent to client for approval.
- Development – After the approval of process and design templates, VRVirtual send the costing for the project. The cost estimation is done on the basis of number of man days required for the completion of the project. Once the costing is finalized, a detailed project schedule chart for the project is prepared and shared with the client. During the development of the project, there are continuous interactions with the client and a daily update is given on the project status.
- Unit & Integration Testing – After the functional specifications have been prepared, a walkthrough is given to the client and post approval detailed test cases are prepared. Functionality testing is carried out on the basis of these test cases. Errors and bugs are rectified at this stage. After one level of unit testing is done, validation testing is done by team lead. This helps in cross checking the testing done. After validation testing integration testing is done. Integration testing checks for process gaps or process failures while integration different units together.
- Acceptance Testing – Acceptance testing is carried out against supplied input data by the customer. The results obtained are then compared with the expected results. If there is correct match for every case, the test suit is said to be passed. If not, then system is modified as per the specifications given by the customer.
- Implementation/Deployment – During implementation phase, project is made live for the client. User manual of the software is prepared and handed over to client. Proper trainings are given to all who will be using the application under live data. Clients are requested to use the application for at least 7-10 days. Any feedback given by the client during this period is analyzed and implemented if feasible.
- Maintenance – This phase of software life cycle includes maintaining the project, giving support to the client both technical & functional, clearing the bugs/ errors in the application. If a defect is discovered, a change request (CR) is entered. Change request may also include requests for new features, enhancements, corrections and so on. Once the CR is completed it is submitted for approval. Once CR is approved by the project manager and client change is carried out.

|