Wednesday, November 2, 2016

Legacy Modernization for Digital Transformation

For years legacy modernization has been the Cinderella of IT. Everyone knows legacy systems are a massive drag on the business, but there has rarely been a compelling business case to justify the perceived cost and risk involved in modernization. But things are changing! In a recent report [1] McKinsey said, "Outdated IT systems are often the biggest Achilles’ heel for established companies seeking to compete successfully against upstarts. To obtain the same cost and performance benefits that online companies enjoy, established companies need an IT architecture that is modular, simple, customer-centric, and configurable—and they need it quickly."

In a recent Gartner survey [2], 45 percent of respondents with knowledge of their organization's software strategy indicated that one of the current top five IT project priorities is "application modernization of installed on-premises core enterprise applications" and a further 41 percent indicated that "extending capabilities of core enterprise applications" is a top five priority,

Gartner predicts [2] that by 2020, 75 percent of application purchases supporting digital business will be "build," not "buy." Gartner's research shows that many organizations already favour a new kind of "build" that does not include out-of-the-box solutions, but instead is a combination of application components that are differentiated, innovative and not standard software or software with professional services (for customization and integration requirements), or solutions that are increasingly sourced from start-ups, disrupters or specialized local providers.

Forrester have said recently [3] that application development is the key strategy for firms transforming to digital. As I said last year [4] "most . . . innovating companies are . . . demonstrating the extraordinary innovation, productivity and quality that can be achieved by a convergence of business and IT skills and expertise . . . changing from command and control to delegated responsibility development models. Yet Forrester also advise that there are insufficient developers to meet demand, and that innovation in development tools has not met market demand.  

Further Agile methods are not the panacea they are cracked up to be. In 2014 I observed [5], "The most common concern our customers voiced . . was the unexpected outcomes of Agile projects. They don’t talk about failure as such. But they do talk about loss of consistency; inability to govern; lack of coordination and the increasing time to market."  While there has been a rush by consultants to promote and enterprises to adopt scaled agile frameworks, I continue to observe projects struggling to disprove Newton's third law, as they attempt to manage hugely complex efforts with yesterday's life cycle tooling and technology.

And it's here that we need to get over the Cinderella syndrome and embrace the idea that modernization is not business as usual. Modernization applies to everything you do - including how you build systems. As Jason Bloomberg said [6] last year, "For specific legacy capabilities to properly support the digital transformation, we need a better approach for abstracting legacy assets to drive agility, an architectural approach freed from middleware and laser focused on the business agility drivers from the digital transformation initiative." In order to modernize you don't just need more developers or partners as Forrester suggest; you need to reinvent the business process and solutions delivery activity.
The diagram below illustrates a dynamic systems model for factory based Agile Modernization.

Essentially modernization needs to become business as usual; every program, project and increment must be progressively modernizing the legacy backend as necessary, in an inherently Agile modernization process. Product and Modernization backlogs must have equal priority. The delivery tooling and process needs to be common to forward engineering and modernization, and Oh by the way, needs to be massively productive and high quality. A good way to do this is to use an Agile factory approach that a) restructures and rationalizes applications into services, b) separates everything that is common or reusable, or should be standardized into the development platform, c) manages development artifacts dependency and d) allows and leaves the technology binding as late as possible. For discussion of how this Agile modernization works see recent blog [7] - Scaled Agile Factory.

[1] Two ways to modernize IT systems for the digital era, McKinsey
[2] Gartner Says Modernization and Digital Transformation Projects Are Behind Growth in Enterprise Application Software Market
[3] Digital Transformation and the Modernization Imperative, Forrester
[4] Modernizing the modernization strategy, David Sprott's Blog
[5] Understanding Agile Adoption Failure, David Sprott's Blog
[6] Two Digital Transformation Time Bombs, Jason Bloomberg, Wired
[7] Scaled Agile Factory, David Sprott's Blog


No comments:

Post a Comment