This workflow is used to establish the project scope and primary working conditions.
During this phase, case analysis, elaboration and detailing of technical requirements are performed to the extent sufficient for the development, and then design efforts start, in particular, user interface for all applications is designed at this stage.
During the first several weeks, analysts and subject matter experts prepare the first requirements specifications for developers and when it is ready the whole project team joins in. Since this moment the programmers begin to work and the first system code is written with analysis and design being performed at the same time. Since the same moment QA-specialists start writing strategies for testing and test case descriptions for successful testing in the future.
It is a stage of active development in accordance with requirements determined at the Elaboration stage. Developers develop and improve application in accordance with requirements specification written by analysts. Developers also write documentation for the code they’ve created as well as technical documentation for developed elements of the system during the process of development. Besides that, developers also write automated tests (which make it possible to reduce costs for software testing and start its commercial operation faster) and run them until the system works in accordance with the automated tests. After that the developed functional block is forwarded to QA-Specialists for further testing.
By the beginning of this stage, analysts have finished designing and writing of technical requirements according to development priorities specified by the Client. After that analysts start to write user documentation so that the whole documentation is ready at this stage. Analysts also develop training program (if necessary). Besides that analysts work with the Client on current issues and changes in requirements, if such changes occur.
In the beginning of the construction phase QA-specialists finish writing testing strategies and test cases description, and after that they test developed applications and function units for compliance with functional requirements (in addition to automated tests). Then developers fix all detected bugs, and the cycle of testing starts again until all bugs are completely fixed.
In case if interaction with other components or systems (e.g. interaction with other simulators using HLA) is necessary during development of a simulator, it is necessary to start integration testing in order to ensure that our solution functions in compliance with requirements and in combination with other applications.
Performance Testing and Stress Volume Testing are also performed at this stage in order to ensure compliance of the solution with non-functional requirements with subsequent software improvement. Reports on results are provided to the Customer.
This stage begins with acceptance testing by the Customer. By this time the system is ready for acceptance, all functional and non-functional requirements have been met, their development is finished, and all significant bugs are fixed. All technical and user documentation is also ready by this time.
During acceptance testing the representatives of the Customer examine the developed system and evaluate its compliance with requirements. The Developer can amend requirements in the course of testing.
The Customer finishes user acceptance testing when they are convinced that the system completely complies with the requirements established before. If any bugs or inconsistencies are detected the Developer’s team fixes corrects them.If the Customer puts forward new requirements the Developer’s team undertakes to assess these requirements and improve the solution in accordance with new requirements.