The operations of many large organizations rest on large applications that
are characterized as "legacy." To increase flexibility or reduce costs
businesses are looking to modernize these applications, for instance, via
renovation, introducing an SOA architecture, or even re-implementing in a new
environment. No matter which approach is taken, it's important to salvage as
much knowledge and logic as possible from the legacy application. Unless the
application's function is obsolete recovering functional knowledge (what does
the application do?) and structural knowledge (how does it do it?) can
accelerate the modernization effort.
A parallel can be drawn with renovating a building, since modernization can
involve gradual changes to the building's internal structure, say, ... (more)