Panacea provides a structured product development process to its clients to ensure that the released product is rock-solid and ready for deployment. The diagram below provides an overview of Panacea's Software Product development and Engineering Process.
Requirements and Specifications:
Software product requirements/specifications are analyzed and documented, which is reviewed by client. Various software usage scenarios are studied and documented in Use Case document. For user interface intensive applications, wire-frame model and page flow document is created.
Prototype is very important for user intensive applications, and as a proof of concept for various other applications. Clients get a chance to provide feedback early in software development cycle, which can be incorporated in actual design and development.
Architecture & Product Design:
Panacea development team architects and designs the software product taking into consideration various software product engineering attributes such as reliability, scalability, host-ability, etc. The team uses industry best-practices during the designing phase.
Coding is done in a phased manner by implementing some core components and then developing other components. During this stage component unit testing is completed and it is ensured that each component is fully working.
An "Alpha" product has most of the UI and functionality. Some backend components and interfaces may be missing. Integration testing team performs integration testing before releasing "Alpha" version of the product. Bugs are expected at this stage. The Alpha release provides the first look of the application, and is useful for the client's integration team. When Panacea makes the "Alpha" available to a client, the client installs and reviews Alpha code, and provides appropriate feedback.
The application is 100% complete as per requirements and specifications, and any approved change requests. Unit testing is 100% complete, with integration testing done for few modules, and system testing done by QA team. The application may still have few bugs. The application is exposed to a limited number of business users in a controlled environment. When Panacea makes the "Beta" available to the client (including the application as well as documented known bugs), the client installs and reviews it, and providing a full Beta Bug list through Panacea's internal bug tracking system.
The QA team at Panacea approves the application and releases it to the client. Alpha and Beta bugs are fixed. Bugs should be very rare at this time. The application should be available to limited set of end users who are going to perform User Acceptance Testing (UAT). These users are not general users. Clients frequently use the Limited Availability version for Train-the-Trainer sessions.
Panacea QA team approves the application, which has fixes for any (and all) bugs reported during UAT, and makes it available to the client for general use. Customer Care and Feedback: Once the application is in general use, Panacea works with clients to support end users, and manages the feedback loop to improve the functionality and develop enhancements. .