We can extract information value from maintenance and legacy code. Legacy code contains lots of business rules. It also contains lots of level 3 design information.
Level 3 Design Information
Bit fields, Boolean fields, types, status variable, and enumerations all contain design information that can be collected into endemes. For example, int Microsoft Great Plains, the AF40110 table contains a whole series of flags that can be combined into an endeme set, as does the CM00002 table,
The CPO40001 company table contains type and flag information related to approvals and variances. The FA00100 table contains property and asset type information. The FA00200 table contains depreciation types, indicators and flags. The FA45000 table is filled with all sorts of types which could be combined into one or more endeme sets related to retirement, transactions and year start and end status and types. And so on. IN Microsoft GP I have identified about 3000 columns that could be combined into and managed as information using endemes.
Each endeme set thus extracted is a piece of information design which can ten be ported to new programs during application migration efforts. This is because each endeme set aggregates a group of concepts that operate together in combination.
As a Maintenance Programmer
This holds true with each database and application I have worked with as a maintenance programmer. One of the challenges of maintenance programming is that you can not break the functionality of the applications because the application is usually in production and real users are using it and real companies rely on it. In order to refactor legacy programs you need a serious reason to do so. Information oriented software development provides that reason.
Legacy programs exist at level 1 and level 2. Refactoring them to extract and exploit level 3 allows them to be much easier to maintain in the future, allows them to be much easier to extend in the future, allows them to be much easier to migrate in the future, and allow them to be much easier to test in the present as changes are made. In addition, refactoring portions of them to level three will extent their life.