Custom Software Development Process
QArea uses effective methodologies in its software development process. Usually we suggest our clients to split the whole process into several stages or iterations. The stages, their duration and other details are always approved as the project is being discussed with a client, but the most common approach used within our company includes the iterations that are presented on the picture below.
This is the very first stage of the development. It usually includes such important processes as creation of the detailed specification of the system capability, timeline defining, computational processes types determination, identification of the specific operational scenarios.
Documents: System and Operations Concept document, System Concept Review, System Requirements Review.
At the next stage the information about project requirements and specifications is being analyzed by QArea project management. This stage also includes the identification of the reusable architectures, designs, codes and approaches.
Documents: Requirements Analysis Report, System Requirements Review.
This stage involves the definition of the software architecture and optimum design selection. All the project requirements are organized into major subsystems.
Documents: Preliminary Design Report, Preliminary Design Review.
This iteration is fully based on the previous one and involves such important processes as elaboration of the preliminary design to produce “code-to” specifications, creation of the project functional (object-oriented design diagrams) and identification of the operational procedures. Also the descriptions for all user input, system output, input/output files are being defined. The stage involves also processes concerning all the units of the project: functional and procedural descriptions of each unit are determined and all the internal unit's interfaces are described.
Documents: Implementation Plan, Detailed Design Document, Critical Design Review.
The implementation stage includes coding of the components from design specifications, revision of the existing components to meet new requirements, integration of the components into the system. Also at this stage different levels of software testing are being performed: unit and integration testing, testing of each subsystem, testing of the complete working system.
Documents: Implementation Plan, The User's Guide Draft.
This stage includes testing of the completely integrated system. If any bugs uncovered by system tests arise, they are corrected.
Documents: The User's Guide Draft, Initial System Description Document.
The final version of the software is being tested. If any bugs uncovered by the previous stages arise, they are corrected.
Documents: Acceptance Test Plan, Test Results Report, User's Guide, System Description.
The final stage of the software development process includes the identification of support and maintenance requirements and development of the help desk.
Documents: Patch Releases, Test Results Report, Software Upgrades.