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 clients 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.
|