{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"127 Modernizing ColdFusion apps (through evolution, not revolution) with Guust Nieuwenhuis","description":"Guust Nieuwenhuis talks about \u201cModernizing ColdFusion apps (through evolution, not revolution)\u201d in this episode of the ColdFusion Alive Podcast with host Michaela Light. &quot;We're going to be talking about modernizing your legacy ColdFusion apps through evolution and not revolution. And we'll explain what that means.&quot; Show notes Why not rewrite legacy apps?    A feeling (to rewrite) isn\u2019t sufficient  Hot language Blame the tech stack not the architecture, CTO or the dev team   Dev phrases  Only my language Only rewrite not refactor - belief than is harder to recode than rewrite&amp;nbsp; Tech &amp;gt; business   Delays release Adds risk of project failure Lack of written business rules More bugs and less functionality Expensive \u201cRewrite code from scratch is the single worst strategic mistake that any software company can make\u201d - Joel Spolsky cofounder of Stack Overflow, Fogbugz and Trello    Do nothing option    Build up tech debt Increase security risk footprint month by month User dissatisfaction grows It works after years of tweaks and bug fixing and real world use    Refactor instead    Keep database the same Incremental improvements vs waterfall  Agile Just in time refactor improvements - surgical micro rewrite&amp;nbsp; Refresh front end with JavaScript frameworks such as React, Vue   Business case driven    Legacy issues    Spaghetti code  Hard to follow Hard to change Poor naming conventions for functions, include and CFC files and variables Poor variable scoping (global variables can be overwritten and are generally dangerous&amp;nbsp; Hardcoded \u201cmagic\u201d values   Deadwood code Security issues due to\u2026  Old framework Unsupported libraries&amp;nbsp; Deprecated integrations   No test plan or automated tests Not documented Hard to maintain or add new features Performance issues Adding features    Better architecture    API exposure for mobile app or partners Encapsulate functionality  Set a boundary   Microservices  Vs Monolith Specialized CF Engine package management to remove unneeded CFML features for fast load and running.&amp;nbsp;   Strangler Fig Pattern Anti-corruption layer Document architecture decisions in JIRA Magic numbers to static variables Wrapper functions Event driven architecture&amp;nbsp;    Code trauma and political reluctance&amp;nbsp; Same habits, same mistakes! Read more    Eric Evans domain driven design Martin Fowler blog and books&amp;nbsp;  Strangler Fig Pattern Anti-corruption layer   Ben Nadel Feature flags&amp;nbsp; Links below    Going CFCamp in June &amp;nbsp; Mentioned in this episode  His CF Summit preso Joel Spolsky article and quote  Things You Should Never Do, Part I&amp;nbsp; Eric Evans domain driven design&amp;nbsp; Martin Fowler blog and books&amp;nbsp;  Strangler Fig Pattern Anti-corruption layer   Ben Nadel Feature flags&amp;nbsp;  Bio Guust Nieuwenhuis  Guust Nieuwenhuis is a Full Stack Web Wizard with experience in a wide range of technologies. Over the last couple of years, he has been involved in projects for various clients like the European Commission, NSHQ (NATO), Adobe, AS Adventure Group, NS (Dutch railways), CZ Groep, Proximus, Avery Dennison and Mediagenix. Through We Are North, we do 'Customization-As-A-Service'. We don't build from scratch: we find the best solutions out there and tailor them to our customers' business needs. In doing so, we never lose sight of the goal of the client. In his free time, he plays the double bass and drums, crosses the forest on his mountain bike and coaches the youth at their local football club (where he is a board member as well). He likes spending time with his wife and two kids or meeting friends for a chat, game or drink. If he still has some time left, he mainly spends it behind his computer to fulfill his hunger for the latest trends in IT. Links  Guust Nieuwenhuis | LinkedIn Website We Are North https:\/\/www.masacms.com CFML slack channel DM Guust@wearenorth.eu  ","author_name":"ColdFusion Alive","author_url":"https:\/\/teratech.com\/podcast\/","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/25538994\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/169035088"}