Modernization – Its actually not that difficult

download (1) Within today’s environment where companies have spent tens of millions of dollars encapsulating business logic and rules into code it is becoming increasing difficult to sanction a full systems replacement due to the risk and impact it would potentially have on an organisation.  To address this issue many commercial organisations are advocating “Transformation (essentially Code translation)” led initiatives.  From practical experience this approach is both flawed and dangerous.

  • It is Flawed in that Business Rules encapsulated in language-A will be transformed into business rules encapsulated into language-B and a far greater issue is the fact that translating procedural languages to Java, C#, etc means pushing a procedural model into an OO model without any benefits and ending up with an OO model based on program structure of the original system and not a real world entity structure based on the business model of what is being processed. You also end up with a system that is incomprehensible to original team and a complete mess to any new developers in the targeted language
  • It is Dangerous in that it presents a false sense of hope to the business. I have yet to see a solid use-case where Transformation delivered on the anticipated cost and maintenance savings promised at program inception.

Rather than selling “Transformation” the goal should be to deliver  “Modernization”.  Modernization is path to;

  • Reducing Cost on implementing new initiatives (Products, Distribution channels, etc)
  • Releasing business rules from hard-coded logic models into configuration models
  • Protecting core value locked into the existing application stack
  • Decommissioning of some legacy functions and integration of modern components into the overall solution
  • Presenting a modern UI and UX to the user and client community

The architectural principles this is based on can be referred to as “Separation of Interests” and “Application Layers”.  The target is to provide a roadmap to clients which;

  • Delivers agility in meeting market needs
  • Mandates a rapid rollout of modernised UI and UX
  • Provides protection of “perceived value” from spend to date
  • Enables flexibility in choice of technology components that meet business needs
  • Results in a modern integrated solution stack
  • Protects the business from the hassles of technology change
  • Involves the business fully in the delivery of the business focused initiatives
  • Transitions to the desired state over a maximum 2-3 year timeframe

A solid modernisation offering must consist of the following components;

  • Demonstrated and proven knowledge of the business vertical being addressed
  • A fully functional and easily configurable UI / UX component that enables rapid transition to a modern experience for the user community
  • Deep knowledge of the incumbent legacy application(s)
  • A proven set of components to provide rapid configuration and management capabilities in key areas that will provide the best positive impact to the business
  • A solid roadmap that does not fundamentally change for each client
  • A core team of “experts” who truly understand the challenges from business, application, architecture and technology perspectives
  • A toolset that allows rapid legacy application analysis, rule extraction and code refactoring

 

Advertisements

About Brian Maguire

Working in IT for 30+ years. Recent position was Global Enterprise Architect for Las Vegas Sands Corporation. Currently immersed in the startup scene in Budapest.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s