As a follow-up to our previous post; here is the third and final interview question from our conversation with Lawrence Wilkes, Director and Principal Consultant with Everware-CBDi, on how IT departments are addressing their legacy modernization:

Q.3 What are the top three mistakes people make when addressing their legacy?

LW: I might have hoped that post Y2K, organizations would have more actively sought to avoid building yet more legacy systems. However, time and again we see organizations doing the following:

  1. Creating another legacy. They fail to understand why they have legacy systems in the first place, and just rush into creating another one. They don't understand the requirement for on-going change, nor does the business encourage them to think about it. This could be due to:  a lack of process - i.e. they don't understand how to facilitate change at each stage of the life-cycle; or, stakeholders unwillingness or inability to express requirements for change.
  2. Not designing for agility.Agility isn't just a process - as in agile development - agility is also an analysis and design requirement. Ensuring a new solution is better able to respond to change than the legacy systems it is replacing requires appropriate techniques throughout the life cycle. It isn't just a matter of creating a more agile implementation built with finer-grained components and services, but also understanding the business's requirements for agility and identifying those components and services in a way that aligns with that. Conversely, you don't need to over-compensate and waste time providing too much agility where it is not needed - although, that is always going to be difficult to predict...
  3. Not cleanly separating the legacy from the new solution. The two become entwined storing up an even bigger legacy problem for the future. For example, a proper service architecture is not developed that is truly independent of the legacy systems, and so the new solution remains tightly coupled to the legacy. Even though they may use loosely coupled technology such as web services, their content and behavior is just a direct reflection of the legacy system.

What do you think? Do you have any do's and don'ts on addressing legacy that you'd like to share with the community?

Lawrence Wilkes is a Director and Principal Consultant at Everware-CBDI. Lawrence is a frequent speaker, author and consultant on best practice in SOA, Application Legacy Modernization and Enterprise Architecture. Via CBDI Forum, the Everware-CBDI research capability and portal, Lawrence has led the development of the CBDI-SAE methodology and supporting Knowledge base, which is used by both end-user organizations and system integrators around the world. Lawrence has an extensive background both within end-user and vendor organizations having worked both in the business and IT side, which brings particular insight into business/IT convergence.