Guust Nieuwenhuis talks about “Modernizing ColdFusion apps (through evolution, not revolution)” in this episode of the ColdFusion Alive Podcast with host Michaela Light.
"We're going to be talking about modernizing your legacy ColdFusion apps through evolution and not revolution. And we'll explain what that means."
Show notes
Why not rewrite legacy apps?
A feeling (to rewrite) isn’t 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
Tech > business
Delays release
Adds risk of project failure
Lack of written business rules
More bugs and less functionality
Expensive
“Rewrite code from scratch is the single worst strategic mistake that any software company can make” - 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
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
Hardcoded “magic” values
Deadwood code
Security issues due to…
Old framework
Unsupported libraries
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.
Strangler Fig Pattern
Anti-corruption layer
Document architecture decisions in JIRA
Magic numbers to static variables
Wrapper functions
Event driven architecture
Code trauma and political reluctance
Same habits, same mistakes!
Read more
Eric Evans domain driven design
Martin Fowler blog and books
Strangler Fig Pattern
Anti-corruption layer
Ben Nadel Feature flags
Links below
Going CFCamp in June
Mentioned in this episode
His CF Summit preso
Joel Spolsky article and quote Things You Should Never Do, Part I
Eric Evans domain driven design
Martin Fowler blog and books
Strangler Fig Pattern
Anti-corruption layer
Ben Nadel Feature flags
Listen to the Audio
Bio
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
Interview transcript
Michaela Light 0:02
Welcome back to the show. We’re going to be talking about modernizing your legacy ColdFusion apps through evolution and not revolution. And we’ll explain what that means. Later. I'm here with goosed new, new and who's to say your name right there. He's originally from the Netherlands, but he's living in just outside Brussels in Belgium, has been doing cold fusion for many decades now. An old friend of the CF live podcast, welcome, goosed. Thank you. And he's a full-stack web wizard. And he's done lots of projects in Europe, for the European Union Commission, and Adobe and all kinds of cool people. And his company has cooled through that. Through we, our north is my is that right? That doesn't quite make sense. You know, maybe we are north. Oh, I see. I shouldn't have put the word through in there. No worries. Got it. So you do customization as a service, you help improve old apps. So we'll talk a bit about your experience with old ColdFusion apps and improving them instead of doing that terrible Arwood rewriting which we're not going to do people, and we'll explain why you shouldn't be doing that later in the show. So welcome boost.
Guust Nieuwenhuis 1:37
Thank you. Thank you for having me.
Michaela Light 1:39
So I think that's the big question. That's the elephant in the room here. Because everyone talks about rewriting apps, right? That's the hot thing to do. That's what the cool kids do. They're like, oh, we'll rewrite it into No, Jas or we'll rewrite it into dotnet, or whatever the latest and coolest cutting bleeding edge technology is they want to rewrite the app. Right? Why shouldn't people rewrite their legacy apps?
Guust Nieuwenhuis 2:07
Well, it's the way you describe it. It's almost like a face you need to go through as a developer. And there are a few, there probably a few phases, there's this phase where, where your technology is the best, above everything else. But there's also the space where, where you're, you're like totally convinced that everything should be rewritten. And of course, I went through that one as well.
Read more
Michaela Light is the host of the CF Alive Podcast and has interviewed more than 100 ColdFusion experts. In each interview, she asks "What Would It Take to make CF more alive this year?" The answers still inspire her to continue to write and interview new speakers.
Michaela has been programming in ColdFusion for more than 20 years. She founded TeraTech in 1989. The company specializes in ColdFusion application development, security and optimization. She has also founded the CFUnited Conference and runs the annual State of the CF Union Survey.
Join the CF Alive revolution
Discover how we can all make CF more alive, modern and secure this year. Join other ColdFusion developers and managers in the CF Alive Inner Circle today.
Get early access to the CF Alive book and videos
Be part of a new movement for improving CF's perception in the world.
Contribute to the CF Alive revolution
Connect with other CF developers and managers
There is no cost to membership.