Development Methodology

While Project Management section discusses how SSA LTD interacts with the customers, this page explains our internal management rules.

The software development process is based on Rational Unified Process (RUP) and has the following stages:

1. Development of general architecture for whole system.
At this stage we create architecture of the system's core and define all the interfaces for interaction with other subsytems in a project.

2. Development of detailed architecture for each subsystem.
This process can be done simultaneously for each subsystem as we already defined general architecture of whole system and interaction protocols between its components.

3. Development of the systems's core and internal interfaces.
At this stage we create preliminary variant of bone classes and their interfaces. The code is written using object-oriented metodology and this is our basic principle.

4. Testing and checking.
We check main system functionality using testcases and fix any bugs in code if some occur.

5. Code development for all subsystems.
This stage can be performed in parallel mode involving additional developers if needed as far as susbsystems are mostly independent of each other and interfaces between subsystems are already defined.

6. Testing of all subsystems.
Any bugs or errors have to be fixed at this stage.

7. Final system testing.
Once whole system is ready, we check functionality and fix errors if they occur. At this step the stress tests of the system are perfomed to check the performance and reliability of the developed software product.

8. Installation scripts creation.
At this stage we create final installation package of the system and check it both in local and customer's environment. This allows us to define explicitly all mandatory components and libraries used by the system and avoid any possible problems in customer's environment.


Scheme 1. Development Methodology

SSA LTD Development Methodology

Using this metodology we achieve two main advantages. First of all, this methodology is based on standard software development process, which itself is created to minimises various organisational problems. And secondly, using concurrent subsystems development technique, we can optimise time of the development that paves the road to finish succesfully even time-limited projects.