Changing business environment applies Darwinian pressure of enterprises, while public service is likely to come under increasing pressure to implement support for more and more policy changes as politicians are looking for solutions. Agility is the order of the day, and some system just cannot do it. As many old core systems cannot be maintained as experience developers retire, and young talent hardly can be enticed to learn, say, COBOL. Many enterprises will have to replace their core systems, and replacing them with the systems that are hard to modify will be inconceivable.
While Object-Oriented languages (C#, Java), Component-Based Systems (EJB), Business Process Engines and practically all other technologies marketed today claim to deliver superior agility, agility is not a function of technology alone. To be easy to modify, the solution should be designed easy to modify for this particular enterprise, with metadata, Business Processes and internally application of Design Patterns that assist flexibility applied where needed.
Business Abstraction developed and applied approach that allows explicit re-design for agility.
Capabilities of existing application[s] are abstracted to conceptual and business level, and then merged with new Requirements
Specific requirements for Agility are extracted from Business Motivation Model and the history of changes.
Business Abstraction facilitated the development of Computation-Independent Design that is cross-referenced to Agility Requirements. Computation-Independent Design is then used to produce Platform-Oriented Design that refers to code modules, DBMS, as well as metadata, Business Process Engines, and other technologies designed to maximize Agility.