ColdFusion Alive

127 Modernizing ColdFusion Legacy Apps, Guust Nieuwenhuis


Listen Later

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
...more
View all episodesView all episodes
Download on the App Store

ColdFusion AliveBy Michaela Light

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

5 ratings