Survey of Application Modernization Strategies
A high-level and informed plan of action is needed for any modernization effort.
Last week, I began a new series about application modernization. I concluded that post by writing that I would next focus on a survey of application modernization strategies as a plan of action or policy designed to support application modernization efforts. Simply put, a high-level and informed plan of action is needed for any renovation effort.
Sources and Methods
Where can you find out about modernization strategies? How do you survey them? When I was in college, I learned about statistical significance and sample size. When you do a study, even an informal one, it’s necessary to gather a large enough sample so that the data you discover can inform your work. If you don’t sample, you’re just giving you opinion or insights, which isn’t so bad if you’re an expert in the field. I am not a modernization expert, so I’m using a sample of more than 30 documents (papers, articles, blog posts and websites) from diverse sources (consultants, bloggers, software developers, technical consultants and marketers) to inform my work.
What’s a Strategy and How Is it Developed?
A strategy is a policy that describes the plan to move forward. In this case, the strategy describes the way that the handling of an application’s modernization is going to play out. Think of the general strategy as a blue print or game plan. As you can imagine, there are a number of different ways that organizations express their strategy, which are likely tailored to the needs of a company so there is a cultural fit.
It’s an organization’s responsibility to develop its strategy about application modernization. Often, this is just the kind of challenge that requires assistance to get started so organizations get help to figure it out. Who can help? Companies like Accenture and Deloitte are often consulted for their industry expertise. Just reading their papers from the web is a big help.
Thought Leaders
Some consultants make a living by being strong in technology and another area like financial services. This analysis, “Modernizing Transaction Banking,” is a good example of how the intersection of banking and technology plays out in leadership briefs from Deloitte.
In addition to the industry-focused consultants, there are technology and research firms like Gartner, Forrester and IDC that develop thought leadership in many areas including application modernization. Even the simplest materials on the web from Gartner are stimulating and useful in helping to shape a strategy.
Simple but Useful
In the Smarter with Gartner post, “7 Options to Modernize Legacy Systems,” contributor Susan Moore writes, “If you need to modernize legacy applications, the best approach depends on the problem you’re trying to solve” and “Replacement isn’t the only option.”
If your job is to help formulate a modernization strategy, then an immediate response to reading this is, “What problem are we trying to solve?” You’re likely to discover that there are several different problems and perhaps different solution approaches depending on the problem.
Moore lists seven different modernization approaches and explains them in a sentence or two. The list includes:
- Encapsulate
- Rehost
- Replatform
- Refactor
- Rearchitect
- Rebuild
- Replace
There are so many factors in formulating a modernization strategy that require careful thought and analysis. Even when care is given to the issues of business drivers, corporate culture, existing skills, use of strategic or technical consultants and time and money, events can undercut the best-developed strategy. Organization change, which is frequent at the leadership level in many IT organizations, can cause starts and stops in carrying out strategic initiatives. These disruptions typically undercut the ability of IT to have a sustained strategic effect on the operations of the organization.
Many Others are in the Mix
It isn’t just industry consultants and technology researchers that drive application modernization strategy. Many organizations have trust relationships with technology companies and service providers and they leverage these relationships to develop strategies that are focused on technology and service solutions.
It’s easy to imagine a two-column table where Column 1 has a list of problems and Column 2 contains the suggestion of a tactic, product or service that will address that problem. This is a tempting way to approach an application-modernization strategy—the nonstrategy strategy. For IT departments that have trouble just keeping up with fixes and basic changes, the notion of developing a detailed application modernization strategy may not be a good fit. What might a sample two-column table look like?
Modernization Challenge | General Solution |
---|---|
Users want to have flexibility to query data collected by applications. | Migrate key indexed files to a database and provide prebuilt ad hoc queries. |
Users want to use applications from the web and from mobile devices. | Provide web interfaces that can be used on desktop computers and mobile devices. |
Programmers want more advanced capabilities in the program languages they use. | Update existing languages and make available advanced functions that were not previously implemented. |
Users want the flexibility to manage business rules in a new way that supports changes needed to better compete in the competitive marketplace. | Implement software that places business rules in repository that can be managed by the business community. |
Users want changes to the application to be made available on a daily, not weekly, basis. | Implement tools and methodology that support continuous development and integration. |
Programmers want support for a broader selection of programming languages for databases used with their applications. | Install and enable the latest level of middleware, for example, Db2 with support for languages like REXX, PL/I, COBOL, RPG, Fortran, C++, C, Delphi, .NET CLI, Java, Python, Perl, PHP, Ruby and others. |
Application designers want the latest capabilities of their transaction server to build cloud-enabled applications. | Install and enable the latest releases of transaction server software, for example, CICS provides cloud support, performance optimizations, enhanced metrics, additional security, and DevOps engagement to automate CICS deployments. |
What’s Next?
In the next post, I’ll focus on a survey of application modernization methods. Methods are a particular form of procedure for accomplishing application modernization.