{"id":11667,"date":"2019-05-09T10:35:50","date_gmt":"2019-05-09T15:35:50","guid":{"rendered":"https:\/\/www.mrc-productivity.com\/blog\/?p=11667"},"modified":"2019-05-21T17:40:11","modified_gmt":"2019-05-21T22:40:11","slug":"legacy-application-modernization-best-practices","status":"publish","type":"post","link":"https:\/\/www.mrc-productivity.com\/blog\/2019\/05\/legacy-application-modernization-best-practices\/","title":{"rendered":"Legacy Application Modernization Best Practices"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-725\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2010\/11\/Education.jpg\" alt=\"Education\" width=\"76\" height=\"100\"><span style=\"font-size: 14px;\"><em>Summary: Many companies around the globe still run on legacy enterprise applications and systems. They may understand the value of modernization, but view it as a costly\/risky project. In this article, we explore a few best practices to follow that will reduce the risk and expense of application modernization.<\/em><\/span><br \/>\n<a name=\"20180321\"><\/a><!--more--><br \/>\nLegacy application modernization is a common, yet tricky topic. Many businesses across the globe still run their operations on software created 20-30 years ago. These applications create a variety of problems. For instance, they:<\/p>\n<p><strong>&#8211; Tie up your budget<\/strong>: Legacy applications are more expensive to maintain, often tying up 70% of an IT budget.<\/p>\n<p><strong>&#8211; Waste your time<\/strong>: Over time, legacy applications become more complex. Why? Every customization or change adds another layer of complexity to the system. As these changes build up, maintaining the application becomes more time-consuming. <\/p>\n<p><strong>&#8211; Lock you down<\/strong>: Relying on legacy applications often locks you into specific technology. You\u2019ll have to avoid some new technologies because they won\u2019t work with your legacy systems.<\/p>\n<p>If legacy software creates these issues, why doesn\u2019t everyone modernize their applications? It usually boils down to one of two reasons:<\/p>\n<p><strong>1. They\u2019re locked down<\/strong>: Oftentimes, past customizations have locked the business into a specific software or version. Replacing the system comes with considerable cost and risk.<\/p>\n<p><strong>2. It\u2019s too costly\/risky<\/strong>: Even if they\u2019re not locked into the legacy system, replacing mission-critical applications is viewed as a huge expense\/risk. Executives worry that if something goes wrong, it could harm the business.<\/p>\n<p><strong>The good news<\/strong>: When you follow a few legacy modernization best practices, you dramatically reduce the risk and cost. Today, let\u2019s focus on a few best practices to follow in your modernization efforts:<\/p>\n<h3>Learn everything about your legacy system<\/h3>\n<p><figure id=\"attachment_8781\" aria-describedby=\"caption-attachment-8781\" style=\"width: 300px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2015\/01\/digital-388075_640-300x211.jpg\" alt=\"\" width=\"300\" height=\"211\" class=\"size-medium wp-image-8781\" \/><figcaption id=\"caption-attachment-8781\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/pixabay.com\/en\/digital-zeros-ones-woman-stylish-388075\/\">geralt<\/a> via <a href=\"http:\/\/pixabay.com\/\">pixabay<\/a> <a href=\"http:\/\/creativecommons.org\/publicdomain\/zero\/1.0\/deed.en\">cc<\/a><\/figcaption><\/figure>I realize this isn\u2019t a simple step, but it is crucial. If you want your modernization efforts to succeed, you must learn everything about the legacy system.<\/p>\n<p>What do I mean by \u201ceverything?\u201d You must understand how it works, how it was built, how it connects to other systems, who uses it, why they use it, and how the underlying logic operates.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\n\u201cUnderstand the purpose of the legacy software, what language was it written in, what is the logic behind the lines of code (procedural or object-oriented, mixed), even though it seems to be no logic at first,\u2019 says Dr. Elena Zhebel, Founder of <a href=\"https:\/\/www.eznumeric.nl\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">EZNumeric<\/span><\/a>. \u201cThis is the most interactive part and possibly the most important and time-consuming one.\u201d\n<\/p><\/blockquote>\n<p>Most importantly, understand what still works and what doesn\u2019t. As explained in the following points, modernization doesn\u2019t mean you must toss everything out and start over. Some aspects can be salvaged.<\/p>\n<p>One more point I\u2019d like to make in this section: When learning about your legacy systems, separate business processes from software. Some companies start a modernization project when the biggest issues stem from their inefficient business processes. Good software will not fix bad processes.<\/p>\n<h3>Outline your business requirements and outcomes<\/h3>\n<p>In any big project, it\u2019s easy to get sidetracked and lose sight of your end goal. It\u2019s also easy to get frustrated with legacy systems and want to throw everything out and start over. That\u2019s why defining your goals and requirements are so important.<\/p>\n<p>What\u2019s the driving force behind your need for modernization? Are your current systems holding you back? Do they lack the features that you need? Are they costly or time-consuming to maintain? As explained below, approaching modernization from this angle will help you avoid unneccessary work.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\n\u201cOne best practice that should be included in every legacy modernization project, is to approach the modernization strategically, always keep the business requirements and desired outcomes in line,\u201d says Colton DeVos, Marketing and Communications Specialist at <a href=\"https:\/\/www.resolutets.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">Resolute Technology Solutions Inc<\/span><\/a>. \u201cIt can be easy to point out all the flaws in your outdated legacy app and want to move to an entirely new platform \u2013 but the work involved can be time-consuming, complex, and actually outweigh the benefits gained by moving to a new system.\u201d\n<\/p><\/blockquote>\n<h3>Decide if you need modernization or new features<\/h3>\n<p><figure id=\"attachment_7706\" aria-describedby=\"caption-attachment-7706\" style=\"width: 225px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458-225x300.jpg\" alt=\"\" width=\"225\" height=\"300\" class=\"size-medium wp-image-7706\" srcset=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458-225x300.jpg 225w, https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/03\/small__3534516458.jpg 240w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><figcaption id=\"caption-attachment-7706\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/www.flickr.com\/photos\/marcobellucci\/3534516458\/\">Marco Bellucci<\/a> via <a href=\"http:\/\/photopin.com\">photopin<\/a> <a href=\"http:\/\/creativecommons.org\/licenses\/by\/2.0\/\">cc<\/a><\/figcaption><\/figure>After you\u2019ve gone through the first two steps, you have a decision to make: What modernization approach best fits your needs? Do you need to start from scratch, or can you work with some parts of your existing system?<\/p>\n<p>In most cases, you\u2019ll discover that you don\u2019t need to start from scratch. I\u2019ve found that most legacy applications need the \u201cextend and surround\u201d approach. This approach involves gradually surrounding old applications with new and modern applications and features.<\/p>\n<p>Why is this approach so successful? It lets you modernize different parts of your systems gradually, as the need arises. For example, if you need to bring your order entry applications to the web, you can do so without touching other aspects of your system. After that project is complete, you can focus on other areas to modernize.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\n\u201cIf you\u2019re looking to modernize your legacy app to gain a key capability, see what upgrades you can make while maintaining the existing architecture,\u201d says DeVos. \u201cConsider upgrades or new features such as self-service portals and web \/ mobile front-ends that enhance customer experience, enable better data mining, and analytics gathering while still feeding into the legacy database. Depending on your app, you can often integrate a third-party tool or build a custom interface to feed into your legacy platform.\u201d\n<\/p><\/blockquote>\n<h3>Decouple components and approach the project by function<\/h3>\n<p>Modernization is an overwhelming job if you approach it from a \u201cbig bang\u201d standpoint. Trying to do everything at once is not only overwhelming, it\u2019s dangerous. It can easily slow the business to a halt if there are any problems. <\/p>\n<p>The better solution: As mentioned above, it\u2019s a far simpler project if you approach it from an \u201cextend and surround\u201d standpoint. It turns modernization into a manageable project that you can tackle at your own pace.<\/p>\n<p>The key to this method: Separate the project by function. Don\u2019t look at your legacy systems as a whole. Rather, break it up into smaller chunks that you can tackle independently of each other.<\/p>\n<blockquote style=\"line-height: 1.7em; background-image: none; margin-left: 0; padding-left: 18px; height: auto;\"><p>\n\u201cThe most important factor when transforming legacy applications is to try and decouple components into very simple functions and allow these functions to operate independently,\u201d says James Carnie, Co-founder and CTO at <a href=\"https:\/\/www.mobilise.cloud\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: red; font-weight: bold;\">Mobilise Cloud<\/span><\/a>. \u201cThis allows you to scale these individual components based on throughput requirements and also the ability to work on them almost within isolation without affecting to stability of the whole application.\u201d<\/p>\n<\/blockquote>\n<h3>Think long-term when choosing architecture and tools<\/h3>\n<p><figure id=\"attachment_7343\" aria-describedby=\"caption-attachment-7343\" style=\"width: 240px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrc-productivity.com\/blog\/wp-content\/uploads\/2014\/01\/small_6147270119.jpg\" alt=\"\" width=\"240\" height=\"183\" class=\"size-full wp-image-7343\" \/><figcaption id=\"caption-attachment-7343\" class=\"wp-caption-text\">photo credit: <a href=\"http:\/\/www.SeniorLiving.Org\">kenteegardin<\/a> via <a href=\"http:\/\/photopin.com\">photopin<\/a> <a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/2.0\/\">cc<\/a><\/figcaption><\/figure>A few months into owning our first house, we learned something: The builder took some short-cuts. Unfortunately, you don\u2019t recognize architectural defects when you buy the house. They become apparent after you\u2019ve lived in it for some time.<\/p>\n<p>Business applications are the same way.<\/p>\n<p>If you\u2019re building\/buying new business apps to replace your legacy systems, or buying software to modernize your business apps, be careful. It\u2019s easy to fall in love with the interface and features without paying any attention to what really matters: The architecture.<\/p>\n<p>Now, I know that application architecture is one of the single most important, yet boring topics you\u2019ll ever run across. You\u2019re not going to make too many friends at a party talking about technology stacks, open frameworks, or any other architecture-related themes. <\/p>\n<p>Yet, architecture is critical to any modernization project. The architecture determines how well an application integrates with other systems. It\u2019s crucial to an application\u2019s security. It determines an application\u2019s scalability. Ultimately, it can make or break a modernization project.<\/p>\n<p>From a practical standpoint, what does this mean? If you\u2019re purchasing software to replace your legacy systems or purchasing a development tool to create new applications, look at the architecture. What is it built on? Will it lock you down? Does it restrict you in any way? <\/p>\n<p>I could go on, but I think you get the point. While not a \u2018fun\u2019 topic, architecture is critically important to your modernization project\u2019s success.<\/p>\n<h3>Summary<\/h3>\n<p>These are just a few modernization best practices to follow, but the list could be much longer. Would you add anything to this list? Feel free to comment below!<\/p>\n<div id=\"sendgrid_nlvx_widget-2\" class=\"widget widget_sendgrid_nlvx_widget\" style=\"padding-bottom: 10px;width: auto;text-align: center;background-color: #edeff4;border: 1px solid #d1d1d1\">\r\n\r\n<h3 class=\"widget-title\" style=\"font-size: 18px;margin-top: 28px;font-weight: 400;margin-bottom:25px\">If you enjoyed this article, sign up for email updates<\/h3>\r\n<p>Sign up below, and we'll notify you of new blog articles via email. We value your privacy and will never share or sell your information. To learn more about how we handle data, please review our <a href=\"https:\/\/www.mrc-productivity.com\/about\/privacy.html\">privacy policy<\/a>.\r\n\r\n\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summary: Many companies around the globe still run on legacy enterprise applications and systems. They may understand the value of modernization, but view it as a costly\/risky project. In this article, we explore a few best practices to follow that will reduce the risk and expense of application modernization.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","slim_seo":{"title":"Legacy Application Modernization Best Practices - mrc&#039;s Cup of Joe Blog","description":"Summary: Many companies around the globe still run on legacy enterprise applications and systems. They may understand the value of modernization, but view it as"},"footnotes":""},"categories":[8],"tags":[9],"class_list":["post-11667","post","type-post","status-publish","format-standard","hentry","category-education","tag-modernization"],"_links":{"self":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/11667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/comments?post=11667"}],"version-history":[{"count":7,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/11667\/revisions"}],"predecessor-version":[{"id":11670,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/posts\/11667\/revisions\/11670"}],"wp:attachment":[{"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/media?parent=11667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/categories?post=11667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mrc-productivity.com\/blog\/wp-json\/wp\/v2\/tags?post=11667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}