Maintenance of operational systems with poor support

Problem statement

We have this system that was developed for us, but we do not have enough documentation or knowledgeable staff. We virtually 'cannot touch it' safely. How do we maintain, develop further or integrate it?

Underwater Adventures method

In any similar situation, there are 4 major components: the system itself in a production and test environment, source code, documentation and people with expertise. The fewer the components present, the tougher the job for the new developer. Still, in many cases, it is possible to analyze and 'open' the system even when only one component is present – the system itself. We combine our practical experience with fundamental knowledge of computer science principles in analyzing complex systems. The process follows the following phased approach:

"Exploration"
Depending on information available, we use advanced blackbox and whitebox analysis methods to probe the system. Input and output files are scrutinized and environment altered to 'scope' possible behavioral changes. Usually, exploration is deployed using two kinds of people:

* 'Hackers' – brilliant investigators who think out of the box and find original and creative ways to    uncover missing details;
* 'Documentators' – systematic, focused individuals, who ensure that nothing is overlooked and    interpreted incorrectly. They usually make excellent product managers when the project moves    into production;

"Experimenting"
Once our research team has found ways to modify or integrate the system, a multi-threaded testing stage is conducted, ensuring that alterations are always in-line with expectations and that none of the previously working functions are broken.

"Documentation"
In parallel with the first two phases, this step provides an extensive information library, covering each aspect of the system. The library includes regular technical documentation, along with code samples and prototypes. All existing documentation is brought to the client’s standard formats.

"Production"
At this phase, or client teams have enough information to make reliable decisions and set realistic goals for the system.


Underwater Adventures resources

People
Underwater Adventures has successfully completed over 20 'exploration' projects and our experts are available for new challenges. It is the combination of advanced education and real-life projects that makes a researcher capable of solving tasks of this magnitude.

Technology
Our Software Development Center maintains a large multi-platform R&D server farm that enables us to replicate virtually any production environment or system architecture running on Windows, UNIX and mobile platforms.