ADM Optimization

Our ADM solution addresses two distincts areas of improvement:

  1. ADM sourcing by measuring software size, quality, risk and productivity.
  2. 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.
Adm use cases 465f465f1bc6485dfda94152556473f554b6f7a2be6255c9594750f5551d702b

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.
Adm technical desc 5eff328561edf8e0545062abb7dbba5c1c0e76a0e29cef488ed1ff548fc05642

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

Z os devops technical desc 714ee8fcacb572c2517574a3aa55a9f24ff490c81cdcc8e024a7d90ccd21539f
  • 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.

Adm tool 44ba115e2d7b2ddfe1b68a7966adc6015ae07f9e2f85a92ca7bb458f10e12d61

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 36bd96b30dbf0d1ea97d5e0971224061739aff4199de190eea0f4a456db8ad99
  1. Clone factorization: consolidation of clones into meaningful stereotype.
  2. Data descriptions factorization: consolidation of equivalent data descriptions into a single unified record description.
  3. Dead code removal: elimination of unused code and data definition
  4. Error management: standardization of error management within code
  5. Semantic renaming: renaming of code artefacts using a local ontology
  6. 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.

Tpi refine c00be822480a696279ae1b42545d9ebf60660ea65be1f7e83768297da89de81d

Refine CBMS

[Brief Product description]
[Data Sheet]

Case studies: