Origins of the REV-ENG Methodology
The REV-ENG methodology grew out of a series of legacy application
re-engineering projects each of which started with the re-engineering
of a business model out of the existing legacy application. The re-engineering
focused on recovering a model of the business objects that underlay
the legacy applications. This was typically a demanding task as there
was little or no documentation, only the implemented application.
Over time the approach was codified into a systematic process, called
the REV-ENG (for REVerse ENGineering) Methodology, which is thoroughly
documented in Business Objects: Re-engineering
for re-use, Partridge, 1996.
REV-ENG and the origins of the CEO Project
Experience with REV-ENG showed that a number of the same general
patterns were being repeatedly unearthed in different projects -
surprisingly often in quite different business areas (e.g. banking
and telecommunications). Typically the specific patterns in the applications
looked different because they were combinations of different sets
of general patterns. It soon became clear that significant time was
being wasted repeatedly re-engineering these from scratch. This indicated
the potential for high levels of re-use, which was exploited by making
the general patterns available for re-use in subsequent projects.
Experience also showed that the potential for generalising (and so simplifying)
was rarely exhausted in a single re-engineering. The general patterns found
in one project were found, in subsequent projects, to be combinations of
even more general patterns. This indicated that there was significant scope
for evolving the patterns to greater and greater levels of generality and
simplicity.
The CEO Project was conceived out of the realisation that there would be
significant economies in the application of the REV-ENG approach if one could
start with a core business model for the enterprise. Reasonable economies
would come from having the lower level general patterns found in single re-engineerings.
But the really significant benefits would come from the very general patterns
found in heavy duty re-engineering. Hence the project aimed not only to recover
the most common patterns found in businesses into a coherent and consistent
model - but also to try and evolve this to much higher levels of generality
and simplicity.
The desire to re-engineer very general patterns led to a requirement for
a stricter engineering discipline than would be necessary in a 'normal' REV-ENG
project. An important part of the CEO project was "upgrading" REV-ENG
to meet this stricter requirement.