{"id":728,"date":"2017-09-11T13:29:09","date_gmt":"2017-09-11T19:29:09","guid":{"rendered":"https:\/\/www.morphis-insights.com\/?p=728"},"modified":"2024-01-26T11:09:24","modified_gmt":"2024-01-26T11:09:24","slug":"rewrite-case-studies","status":"publish","type":"post","link":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/","title":{"rendered":"Rewrite Code from Scratch? Case Studies and Conundrums"},"content":{"rendered":"<p class=\"p1\"><span class=\"s1\">When you\u2019re dealing with legacy code, whether it\u2019s just old or old and difficult to work with, there\u2019s the temptation to simply get rid of it and rewrite it. With superstar developers on board, who are up to date in the latest technologies, and with clean coding skills, it sounds like simply rewriting the application will deliver a better end product.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Indeed, there are many drivers for legacy modernization and for which a complete code rewrite is one approach and sounds like a good idea:<\/span><\/p>\n<ul class=\"ul1\">\n<li class=\"li1\"><span class=\"s1\">The language is so old that no one develops in it anymore, or can even understand it<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">Your customers are calling for new features the old language\/product simply can\u2019t support<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">Your software needs to be able to handle new architecture and categorically cannot<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">You see space in the market for a modernized version of your product, that isn\u2019t currently possible<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">The code is an absolute nightmare, full of hacks and workarounds (and increasing <a href=\"https:\/\/www.morphis-insights.com\/technical-debt\/\" target=\"_blank\" rel=\"noopener\">technical debt<\/a>)<\/span><\/li>\n<\/ul>\n<p>[x_image type=\u201dthumbnail\u201d float=\u201dnone\u201d src=\u201dhttps:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/code_quality_2_2x.png\u201d info=\u201dnone\u201d info_place=\u201dtop\u201d info_trigger=\u201dhover\u201d]<\/p>\n<p class=\"p1\"><span class=\"s1\">Cartoon: A good reason to rewrite from scratch? (<a href=\"https:\/\/xkcd.com\/1695\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">via XKCD<\/span><\/a>)<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">For the most part, though, rewriting from scratch can be a really bad idea \u2013 like throwing the baby out with the bathwater. Want to know why? Here are a couple of companies who could tell you\u2026<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"><b>Software rewrite fails<\/b><\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">One of the most famous historical cases of things going horribly wrong for a rewrite is Netscape. Remember that browser, the first browser? Well they committed a software crime, at what was a critical point in time for the company:<\/span><\/p>\n<p>[x_blockquote cite=\u201dJoel Spolsky, CEO and Co-founder of Stack Overflow\u201d type=\u201dleft\u201d]\u201dThey did it by making the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch.\u201d[\/x_blockquote]<\/p>\n<p class=\"p1\"><span class=\"s1\">Source: <a href=\"https:\/\/www.joelonsoftware.com\/2000\/04\/06\/things-you-should-never-do-part-i\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">Things You Should Never Do, Part I<\/span><\/a><\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Netscape 3.0, the biggest browser back then, was released in 1997, around the same time as Internet Explorer 3 \u2013 which suddenly was hot competition. And then they decided on a complete rewrite. It took 3 years to make, during which time we got IE4 and IE5, and suddenly Netscape was out of the game. It was all pretty much over, and much of it was due to the extended rewrite process.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">So what can we learn from this? Well, for a start, rewrites take a loooong time. And for another thing, don\u2019t ever underestimate the power of your competition to eclipse you during that time. Here are some other, easily researched, examples of failed rewrite projects:<\/span><\/p>\n<ul class=\"ul1\">\n<li class=\"li1\"><span class=\"s1\">In 2012, Less Annoying CRM abandoned their complete code rewrite as failure was written on the wall.<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">MailOnline failed to rewrite their website with Java EE.<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">Even industry heavyweights Microsoft attempted to build another OS from scratch, with their Midori project \u2013 development efforts from 2003 were eventually ended in 2015, and the idea retired. With up to 100 of Microsoft\u2019s developers working on the project how much would have been spent over those 12 years?<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">A complete rewrite of CouchSurfing\u2019s platform left users with less functionality than the original version of the software.<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">IBM\u2019s rewrite of 22yr old payroll software for Queensland Health that cost $6 million to write failed spectacularly when it was rolled out in 2010, messing up payments for employees. The government eventually took IBM to court and lost their case; the cost to the government for the project failure was estimated at $1.2billion.<\/span><\/li>\n<\/ul>\n<p class=\"p1\"><span class=\"s1\"><b>So why is rewriting so difficult and risky?<\/b><\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Here are some reasons that a complete rewrite is generally an extremely high risk decision with failure the likely outcome:<\/span><\/p>\n<ul class=\"ul1\">\n<li class=\"li1\"><span class=\"s1\">The requirements of the software have been lost in the annals of time<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">Current system users are used to and generally happy with the experience they already have<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">There is no seen benefit to other stakeholders (i.e. it already \u201cworks\u201d)<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">The code suffers from high coupling, which means you can\u2019t break out sections to rewrite piece by piece<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">The developers who worked on the original project have left long before, so the complete knowledge of the system has been lost<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">The effort required for a rewrite will likely be far greater than you expect<\/span><\/li>\n<\/ul>\n<p class=\"p1\"><span class=\"s1\">In a <a href=\"https:\/\/cdn2.hubspot.net\/hubfs\/542571\/Doomed%20from%20the%20Start.pdf?t=1489094691454\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">Geneca survey from 2011<\/span><\/a>, it showed that 75% of businesses and their IT departments believe their IT projects are always or generally \u201cdoomed from the start\u201d. If you already have working software why would you risk a rewrite when the odds of the project going as expected are so risky?<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"><b>There are far fewer stories about successful rewrites\u2026<\/b><\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">If you dig, dig, dig you\u2019ll find some successes beneath the pile of \u201coh god we shouldn\u2019t have done that\u201d mistakes.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Basecamp, a successful and well regarded project management tool has gone through several successful rewrites. For a thorough talk by David Heinemeier Hansson, co-founder of Basecamp (also creator of Ruby on Rails) go <a href=\"http:\/\/businessofsoftware.org\/2015\/10\/david-heinemeier-hansson-rewrite-basecamp-business-of-software-conference-video-dhh-bos2015\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">here<\/span><\/a>. For Basecamp, it was a matter of get eaten alive by your competition or rewrite, with new added requirements \u2013 and they chose to do the latter, while still keeping old customers happy by supporting the old version. It worked. <\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Google even managed to pull it off, with a remake of the acquired Writely, <a href=\"http:\/\/www.effectiveengineer.com\/blog\/cardinal-sin-of-software-engineering\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">into what we now know as Google Docs<\/span><\/a>. But known successful wins with code rewrites are few and far between.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Since Joel Spolsky\u2019s article was written in 2000, object oriented languages and component based software design, along with agile principles of software development, have become popular.<span class=\"Apple-converted-space\">\u00a0 <\/span>This is why it can be a lot easier to rewrite younger software products, if they have been designed fairly strictly with these principles. We can modernize more easily if we are able to rewrite components piece by piece and migrate one part at a time. For forward thinking tech houses they might expect that they\u2019ll need to rewrite their software to take advantage of new tools and technologies that will crop up in a few years, and so they consider a rewrite from the beginning of their software project. This is what can be described as sacrificial architecture, a term coined by Martin Fowler <a href=\"https:\/\/martinfowler.com\/bliki\/SacrificialArchitecture.html\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">in this post from 2014<\/span><\/a>. This can be very, very hard with a legacy software application where these principles and ideas surrounding the software have never been followed. <\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"><b>What\u2019s the solution?<\/b><\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">Instead of a complete rewrite, most software is given a refactoring, and functionality is migrated incrementally to a new architecture. But \u2013 this isn\u2019t always possible, especially if code is closely coupled, or you don\u2019t have enough experienced developers on hand to refactor the code. For old, large codebases this is generally the case.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">To modernize, when refactoring and\/or incremental migration is not possible, and without the risk and overhead of a rewrite from scratch, you can instead choose a solution like Morphis. By carefully analyzing systems and architecture, applying an automated solution (with 90%+ automated code coverage), and manually coding the rest, we can achieve modernization of legacy codebases in a short amount of time and can even add functionality to the product as part of the automated transformation. For more on our process read our post <a href=\"https:\/\/www.morphis-insights.com\/still-thinking-rewriting-legacy-application\/\" target=\"_blank\" rel=\"noopener\"><span class=\"s2\">When and Why Technology-Enabled Transformation Beats Rewriting<\/span><\/a> \u2013 and consider our services instead of a rewrite.<\/span><\/p>\n<p class=\"p1\"><span class=\"s2\"><a href=\"https:\/\/www.morphis-insights.com\/contact\/\" target=\"_blank\" rel=\"noopener\">Contact us<\/a><\/span><span class=\"s1\"> to learn more.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you\u2019re dealing with legacy code, whether it\u2019s just old or old and difficult to work with, there\u2019s the temptation to simply get rid of it and rewrite it. With superstar developers on board, who are up to date in the latest technologies, and with clean coding skills, it sounds like simply rewriting the application [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":736,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[82],"tags":[114],"class_list":["post-728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-modernization","tag-rewriting-applications"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights<\/title>\n<meta name=\"description\" content=\"With legacy code, whether it\u2019s old\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights\" \/>\n<meta property=\"og:description\" content=\"With legacy code, whether it\u2019s old\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/\" \/>\n<meta property=\"og:site_name\" content=\"Morphis-Tech Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-11T19:29:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-26T11:09:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Bruno Andrade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bruno Andrade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/\"},\"author\":{\"name\":\"Bruno Andrade\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#\\\/schema\\\/person\\\/b6d9d149d3091b09f3ee9bd007183275\"},\"headline\":\"Rewrite Code from Scratch? Case Studies and Conundrums\",\"datePublished\":\"2017-09-11T19:29:09+00:00\",\"dateModified\":\"2024-01-26T11:09:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/\"},\"wordCount\":1227,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/Rewrite.jpg\",\"keywords\":[\"Rewriting Applications\"],\"articleSection\":[\"Application Modernization\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/\",\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/\",\"name\":\"Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/Rewrite.jpg\",\"datePublished\":\"2017-09-11T19:29:09+00:00\",\"dateModified\":\"2024-01-26T11:09:24+00:00\",\"description\":\"With legacy code, whether it\u2019s old\\\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#primaryimage\",\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/Rewrite.jpg\",\"contentUrl\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/Rewrite.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"Rewriting Your App?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/rewrite-case-studies\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rewrite Code from Scratch? Case Studies and Conundrums\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/\",\"name\":\"Legacy Modernization - Blog\",\"description\":\"Legacy to Cloud\",\"publisher\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#organization\",\"name\":\"Morphis Tech\",\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/Logo_Blog_2024-1.svg\",\"contentUrl\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/Logo_Blog_2024-1.svg\",\"width\":344,\"height\":51,\"caption\":\"Morphis Tech\"},\"image\":{\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/morphis_technologies\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/#\\\/schema\\\/person\\\/b6d9d149d3091b09f3ee9bd007183275\",\"name\":\"Bruno Andrade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g\",\"caption\":\"Bruno Andrade\"},\"url\":\"https:\\\/\\\/morphis-tech.com\\\/blog\\\/author\\\/bruno-andrade\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights","description":"With legacy code, whether it\u2019s old\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/","og_locale":"en_GB","og_type":"article","og_title":"Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights","og_description":"With legacy code, whether it\u2019s old\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.","og_url":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/","og_site_name":"Morphis-Tech Blog","article_published_time":"2017-09-11T19:29:09+00:00","article_modified_time":"2024-01-26T11:09:24+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg","type":"image\/jpeg"}],"author":"Bruno Andrade","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bruno Andrade","Estimated reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#article","isPartOf":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/"},"author":{"name":"Bruno Andrade","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275"},"headline":"Rewrite Code from Scratch? Case Studies and Conundrums","datePublished":"2017-09-11T19:29:09+00:00","dateModified":"2024-01-26T11:09:24+00:00","mainEntityOfPage":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/"},"wordCount":1227,"commentCount":0,"publisher":{"@id":"https:\/\/morphis-tech.com\/blog\/#organization"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#primaryimage"},"thumbnailUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg","keywords":["Rewriting Applications"],"articleSection":["Application Modernization"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/","url":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/","name":"Rewrite Code from Scratch? Case Studies and Conundrums | Morphis Insights","isPartOf":{"@id":"https:\/\/morphis-tech.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#primaryimage"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#primaryimage"},"thumbnailUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg","datePublished":"2017-09-11T19:29:09+00:00","dateModified":"2024-01-26T11:09:24+00:00","description":"With legacy code, whether it\u2019s old\/difficult to work with, there\u2019s a temptation to simply get rid and rewrite it. Good idea? Check out these case studies.","breadcrumb":{"@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#primaryimage","url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg","contentUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2017\/09\/Rewrite.jpg","width":2560,"height":1440,"caption":"Rewriting Your App?"},{"@type":"BreadcrumbList","@id":"https:\/\/morphis-tech.com\/blog\/rewrite-case-studies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/morphis-tech.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Rewrite Code from Scratch? Case Studies and Conundrums"}]},{"@type":"WebSite","@id":"https:\/\/morphis-tech.com\/blog\/#website","url":"https:\/\/morphis-tech.com\/blog\/","name":"Legacy Modernization - Blog","description":"Legacy to Cloud","publisher":{"@id":"https:\/\/morphis-tech.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/morphis-tech.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/morphis-tech.com\/blog\/#organization","name":"Morphis Tech","url":"https:\/\/morphis-tech.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg","contentUrl":"https:\/\/morphis-tech.com\/blog\/wp-content\/uploads\/2024\/06\/Logo_Blog_2024-1.svg","width":344,"height":51,"caption":"Morphis Tech"},"image":{"@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/morphis_technologies\/"]},{"@type":"Person","@id":"https:\/\/morphis-tech.com\/blog\/#\/schema\/person\/b6d9d149d3091b09f3ee9bd007183275","name":"Bruno Andrade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b26e477ef67cba42b8bc646722ca9ae122b8dc44bf6f5bf0c4072c2e36902b59?s=96&d=mm&r=g","caption":"Bruno Andrade"},"url":"https:\/\/morphis-tech.com\/blog\/author\/bruno-andrade\/"}]}},"_links":{"self":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/comments?post=728"}],"version-history":[{"count":1,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/728\/revisions"}],"predecessor-version":[{"id":6892,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/posts\/728\/revisions\/6892"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/media\/736"}],"wp:attachment":[{"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/media?parent=728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/categories?post=728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/morphis-tech.com\/blog\/wp-json\/wp\/v2\/tags?post=728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}