ADM Optimization
Our ADM solution addresses two distincts areas of improvement:
- ADM sourcing by measuring software size, quality, risk and productivity.
- ADM implementation by providing the developer the tools and processes to recover lost knowledge of legacy application
ADM Sourcing Optimization
Gartner says optimizing Application Development and Maintenance can cut costs by more than 50 Percent
Application development and maintenance (ADM), inclusive of application support, constitute a large component of "run IT" and account for 34% of IT budgets across all industries.
The ADM unit cost can be significantly optimized over time, provided that best practices are followed including sourcing strategy, productivity and quality metrics, provider selection and negotiation, and ongoing operations and vendor management.
- Use the right tool and metrics to size application portfolio and development efforts, and determine the right size of the ADM teams when outsourcing.
- Redesign the application service sourcing strategy by performing an application portfolio and life cycle activity analysis.
- Drive continuous optimization of ADM activities by comparing with similar processes and using benchmarks and contractual KPIs/SLAs.
Our solution addresses the lack of tools needed to truly manage the maintenance effort, the process and the metrics to measure, evaluate and streamline bloated application portfolio.
The monitoring of the right metrics enable sourcing managers to
- decide sourcing strategies,
- Mirror maintenance effort and cost to the value of each asset,
- target cost-cutting projects and
- increase productivity of teams maintaining or changing applications
- managing application technical debt.

Application maintenance metrics benchmarking
Over time, this brings the potential application service unit cost savings up to 50% and prevents unreasonable expectations of savings that can be created by comparing FTE rates alone.
Consolidation of the suppliers and simplification of the application sourcing environment can provide cost reduction of 20% or more.
refine analytics populates and keep updated a centralized repository storing:
- a complete and easy-to-understand representation of software asset (artefacts inventory, size and cross-references)
- enhanced with fact based quality (robustness, maintainability, reliability, compliance, documentation) and compliance metrics (architecture, coding and documentation standards)
- and correlated with imported data related to cost, labor, defects, value.

refine™ provides an extremely powerful query facility to extract knowledge out of the repository and its domain model.

- Asset inventory: every software artefacts, properties, dependency relationship
- Measurement of code quality (GQM model) based on charter.
- Measurement of compliance to internal coding standard and practices: automated charter based code inspection.
- Metric analysis tools: Distribution, treemap, trending
refine Code-base Management System (CBMS)
The core technology is a new class of software called The Codebase Management Systems (CBMS). A CBMS shares many analogies with a DBMS. A relational DBMS stores data in its native form of tables; a CBMS stores code in its native form of trees. A DBMS requires gateways to load the database. A CBMS requires a set of Language Gateways to load the CBMS with code from a variety of languages and dialects. SQL accesses a DBMS to query and manipulate the data. A code query and manipulation language (CQML) accesses a CBMS to query and manipulate the code. A DBMS must be scalable, accomplished through scalable algorithms and on a scalable platform. A CBMS is no different.

The Refine CBMS is a revolutionary tree storage engine that stores complete information about a program, including:
- Abstract syntax tree (AST) representation of source code
- Data-flow information that describes how data moves through systems
- Control-flow information that describes the control structure of programs at several different levels of abstraction
- System-level information that describes how programs and modules are built
- Set/use and alias information that describes how data elements are used
- Quality metric information that measures programs according to a number of quality factors
Refine CBMS
[Brief Product description] [Data Sheet]Case studies:
ADM implementation industrialization
Integrated with the eclipse-based developer workstation and the DevOps tools and processes, metaware has developed additional tools to increase developer productivity and code quality in the context of legacy assets.
ADM process industrialization supports key capabilities when maintaining legacy applications:
-
Powerful analysis tools that increase developer productivity
- Powerful representation of the asset artefacts: properties and interrelationships
- Advanced Impact Analysis: Knowledge Repository based
-
Automated code refactoring to perform:
- System upgrade
- Code improvement
- Code adaptation
-
Innovative redocumentation tools
- Automatically generated documentation out of the knowledge repository of refine
- Synchronized with source code
-
Quality control and enforcement
- Charter based code inspection
- Software quality measurement
The most popular refactoring operations are:
- System Upgrades TPI: all versions of COBOL, DB2, CICS, etc
- Code enhancements TPI: clone factorization, dead code, error management, data factorization
- Code adaptation TPI: Unicode conversion, field length extension
refine™ code refactoring module allows customers to automates impact analysis and code transformation. Each transformation is implemented with a set of refine rules grouped in a refine Transformation Plug-In. The most popular are:
- System Upgrades TPI: all versions of COBOL, DB2, CICS, etc
- Code enhancements TPI: clone factorization, dead code, error management, data factorization
- Code adaptation TPI: Unicode conversion, field length extension
System Upgrade
à completer par MJO
Code Enhancement
The Code enhancement TPI supports the following the code refactoring techniques:
- Clone factorization: consolidation of clones into meaningful stereotype.
- Data descriptions factorization: consolidation of equivalent data descriptions into a single unified record description.
- Dead code removal: elimination of unused code and data definition
- Error management: standardization of error management within code
- Semantic renaming: renaming of code artefacts using a local ontology
- Cluster component: grouping and isolation of a set of programs semantically related behind a public interface.
First code is abstracted and stored into refine Code Base Management System. Code transformation and code refactoring are implemented using refine™rule based transformations on the abstract syntax trees. Final syntax is obtained using refine™ printers.

Refine CBMS
[Brief Product description]
[Data Sheet]