Canberra Training for May-June 2013

I am happy to announce our training for May-June 2013 in Canberra. We … read more

To Succeed, Embrace Failure

We all know that enterprise IT projects are hugely expensive. Through my 20 … read more

The Age of Enterprise IT Innovation has begun?

I woke up this weekend to the interesting Forbes article by Rick Ungar, … read more

Application Re-Engineering for Agility

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.

Approach

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.