Application
Maintenance
The Problem
Typically 70% of the costs of software are spent during the maintenance phase. Everyone is well aware that better documentation and automated support means a more easily maintained system which in turn lowers the cost of ownership.
Research has shown that that the programmers who had little or no documentation spent 21.5% longer understanding the code. This means that undocumented code is 5 times more expensive to analyse and change. Another interesting observation is that without documentation, differences in skill levels between good and bad programmers disappear. With documentation, good programmers do better work than poor programmers. Without documentation, they both do equally bad work. So spending money on the best people is a waste without documentation.
Despite these facts, IT managers struggle to justify the cost of generating documentation for existing applications and to motivate developers to actually do such labour intensive work.
Our Solution
Objektum Modernization can help: We have analysed all the issues and have developed an automated, consistent solution for application maintenance needs. Our solution provides the tools necessary to document and gain an in depth understanding of the current implementation ensuring:
- Confidence when making changes to the existing code base
- An understanding of what should be retested though impact analysis
- A rapid understanding of unfamiliar areas of code can quickly be achieved
- Redundant code and data is easily identifiable
If you feel like you have any of the following problems, please get in touch:
-
Lack Of Application Documentation
Either outdated or no documentation preventing people from having the high level view of the application structure, relationships and architecture. Our LegacyExplorer technology generates the documentation required to gain a comprehensive understanding of your application. We can generate reports showing the relationships between software components, functions, program modules, UI screens and data.
-
Fear to Touch the Application Code
If you cannot easily understand the full impact of changes, each modification results in a long time being spent analysing the consequences. This has a significant negative impact on people and the quality of their work often constraining them to operate in a continuously struggling “what-if” situation. LegacyExplorer can automatically generate the insight required to make changes with confidence.
-
Wasting Search & Discovery Time
People spend time trying to discover what the application does for their specific change. The results are often not retained or documented meaning that the search and discovery is restarting from scratch each time. LegacyExplorer builds a model of the application containing high level use cases that describe the systems prime capabilities. These use cases are traced to their implementing software components to build a picture of how the application works. This graphical representation and knowledge repository is vital when analysing changes and significantly reduces the ‘search and discovery’ time.
-
Unsure what testing to perform
When a change is introduced, understanding what regression testing is required to ensure that newly modified code still complies with its specified requirements and that unmodified code has not been affected is a non-trivial activity. LegacyExplorer can provide an impact analysis report showing what areas of code might have been affected by the changes and identify the tests that must be re-executed.
-
Engineer Happiness & Turnover
People want to spend their time in creating new solutions. They are not happy spending the majority of their time locating where a variable is used or where a function is called. With little or no documentation, projects rely on a few experts who quickly become a critical resource. The models generated by the LegacyExplorer provide a multitude of views that detail information such as software components, relationships, data, interdependencies and code complexity. The information is generated into a UML model, using standard notation, removing the reliance on local experts. This innovative way of maintaining applications provides software engineers with a graphical, modern way to work which improves motivation and the ability to learn.