Organization of process
Our development process for large-scale projects is based on the classic V-model, but implements useful elements of agile methods in individual phases. Different projects have different focuses and special features, which the development process must take into account. In that regard, our general methodology of the development process is presented below, which is adapted according to the respective orders.
After the order is placed, specifications of requirements are defined in close cooperation with the client. One of our requirement engineers is involved in this process. Prototypes can be designed to harmonise subtleties and discuss options. The result of this stage is a coordinated software requirement specification, usually a document. On this basis, one of our software architects develops the solution concept - the software architecture - and the software designer designs the user interface. Both are essential milestones and are usually agreed with the client. After this sub-step, one of the SW architects is assigned to the respective project as project manager, who is also responsible for further communication with the client.
The implementation and testing are planned by the project manager in factual sub-steps (iterations, sprints), whereby the roles of programmer and tester are assigned to each sub-step. The project manager enters the tasks into the ALM database, thus controlling the implementation and testing. Depending on the situation, source code reviews are performed. The project manager also determines for which components and to what extent unit tests are performed. They enter the components in the ALM database and control them. This ensures traceability of who developed which code, who tested that code and when it was tested.
System tests of the finished developed product are performed internally, before acceptance tests are performed with the client.