• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

TeraTech

The ColdFusion Experts: Develop | Secure | Optimize

  • Services
    • Consulting
    • Crash
    • Development
    • Maintenance
    • Modernization
    • Security
  • About Us
  • Testimonials
  • Free Assessment
  • Get in touch!

  • Services
    • Consulting
    • Crash
    • Development
    • Maintenance
    • Modernization
    • Security
  • About Us
  • Testimonials
  • Free Assessment
  • Get in touch!

134 ColdFusion Legacy app – Is a Refactor Better than a Rewrite? with Denny Springle

December 5, 2023 By Michaela Light Leave a Comment

Denny Springle talks about “ColdFusion Legacy app – Is a Refactor Better than a Rewrite?” in this episode of ColdFusion Alive Podcast with host Michaela Light.

“Refactoring is a way of taking in modernizing code that already exists, and bring it up to speed with generally modern best development practices. So you know, some object orientation, data modeling type of thing, as well as you know, either using a framework or building an application framework yourself, that hits all of the major obstacles that are that a framework will do for you generally”.

Contents

  • Show notes
  • Why is refactoring vs rewriting important today?
  • What does refactoring mean?
  • What does rewriting mean (really)?
  • Walk us through your ColdFusion refactor process?
  • Why are you proud to use CF?
  • WWIT to make CF more alive this year?
  • What are you looking forward to at ITB 2024?
  • Mentioned in this episode
  • Listen to the Audio
  • Bio
  • Links
  • Interview transcript
    • Read more
  • Join the CF Alive revolution

Show notes

  • Why is refactoring vs rewriting important today?

    • vs 3rd option – leave the legacy app unchanged…
    • Risks and rewards for each, best approaches
    • Security, hacking risk and biz reputation
    • Dev elegy to spaghetti
    • Old style code with CF tags (vs CFscript 
    • Tech debt
    • Urge to rewrite 
  • What does refactoring mean?

    • Modernize existing code in place in production app
    • Adding/improving framework 
    • Improving datamodel
    • Incremental improvement that is always working
    • Opportunity to get into the depths of the code and business logic 
    • Reuse 
    • Security
    • Performance
    • Feature flags
      • New Ben Nadel book on this coming out soon
    • House in dark analogy 
  • What does rewriting mean (really)?

    • Understanding all the business logic and intelligence up front (and documented!)
      • What really is the biz problem being solved
      • No original devs or business users left 
    • May be to a new language, platform, database, OS/Cloud provider
    • Or may be the same language, new version/upgrade. 
    • Recreate data model
  • What are the risks and disasters of rewriting that you have seen?
    • He was the “rewrite kid” in younger days
      • Underestimate analysis time for understanding business logic
      • Underestimate time for coding and testing
    • Risk of project failure 
      • Users don’t accept the radically changed system or UX
    • Now is is the “refactor” man
    • He as seen 1 successful rewrite out of 5
      • Worse odds than Russian roulette!
    • Always 90% done
      •  After 6 mos “we are 90% done boss”
      • After another 6 mos “we are 90% done boss”
    • Rewrite tips
      • Extensive testing period, including beta testers (actual users)
      • Only do when simple biz logic or well documented biz logic or big changes in business (merger or regulation change)
      • Allow long shake down period after release
      • If possible do slow rollout (how good SaaS work) 
  • Walk us through your ColdFusion refactor process?

    • Agile sprint
    • Reusability (and maintainable)
      • A data model
      • Move to Common code, objects
      • Remove Deadwood code, tables, indices, and data
    • Move to a MVC framework
      • Why – code organization to Model, View and Controller parts of your code
        • MVC is a standard in most modern languages
        • Separating View code lets Switch out front ends – web vs mobile
        • Easier for UX coders to edit the View code without messing up the CFML code logic or SQL queries
        • Readability
      • FW/1 – lightweight
      • ColdBox – more features and ecosystem
      • CFWheels
      • Legacy non-maintained CF frameworks
        • Fusebox
        • Model Glue
    • REST API
      • REST API is a modern programming pattern
        • Many 3rd party REST API
        • All modern web programming languages use them
      • CF makes consuming or providing REST API incredible easy
        • One parameter in your CFC object!
      • Encapsulation of data model and business logic
      • Different front ends, same API
      • Not a microservices fan any more
        • Can become clunky and numerous
        • Cloud resources and cost go through the roof
        • Documentation may be lacking
        • Amazon Prime case study of moving away from microservices
          • Is Amazon moving away from microservices?
          • The migration of the Audio-Video Monitoring Service from Microservices to Monolith was a significant change in Amazon Prime Video's architecture. The new architecture utilizes AWS services such as ECS and Amazon EC2 for scalability and flexibility which helped in improving operational efficiency and reducing costs.
          • In the case study, Amazon Prime Video moved away from serverless components, not necessarily microservices. The team found that the serverless components in their architecture, such as AWS Step Functions and Lambda, were causing scaling bottlenecks and increasing costs. By removing these serverless components and simplifying their architecture, Amazon Prime Video was able to achieve significant cost savings.
      • Tall servers – lots of RAM and CPU 
  • Why are you proud to use CF?

    • Started as a sys admin at Java shop and CF was easy to learn and be productive
    • The business impact of CF RAD coding, features in CFML work better
    • Continuous improvement and modern features of CFML 
    • Less code for same results as other languages
    • CF Community rocks
    • Modern ecosystem around CF
    • Friendly competitors 
      • ACF and Lucee
      • Other language 
  • WWIT to make CF more alive this year?

    • More CF developers learning modern methods and design patterns such as MVC, REST API
      • And teaching and sharing to others
    • Use ChatGPT, Google and YouTube for learning
    • Ask in CF community for help 
  • What are you looking forward to at ITB 2024?

    • Very approachable speakers
    • Intermate / family gathering event 

Mentioned in this episode

  • 132 ColdFusion Hosting options with Dakota Clum and Ryan Brown
  • Amazon Prime microservices and serverless case study 
  • Pete 111 CFCasts episode
    https://teratech.com/podcast/cfcasts-behind-the-scenes-with-eric-peterson/
  • Into The Box conference
    https://teratech.com/podcast/into-the-box-coldfusion-conference-2022-new-details-revealed-with-gavin-pickin/
    https://teratech.com/into-the-box-conference-is-coldfusion-modern-or-dead///////
  • CFCasts

Listen to the Audio

https://traffic.libsyn.com/coldfusionalive/ColdFusion_Legacy_app_-_Is_a_Refactor_Better_than_a_Rewrite__with_Denny_Springle_-_Final.mp3

Podcast: Play in new window | Download | Embed

Subscribe: RSS

Bio

Denard Springle

Software Systems Engineer, Mentor, Trainer, Learner

Denard Springle is a polyglot developer that has been engineering software for just over three decades with a focus on ColdFusion and Java development for the past two. As a lifelong learner who has been mentored by some of the best developers in the business, Denard regularly shares his knowledge and experience with others at conferences, user groups and online venues with a strong focus on application engineering using modern best practices. 

Links

  • Denard Springle | LinkedIn
  • https://github.com/ddspringle 

Interview transcript

Michaela Light 0:01
Welcome back to the show. I'm here with Danny. And springle is his last name, you may have heard of him, he used to be a very regular speaker. And he's just back on the conference circuit for ColdFusion. We're going to be talking about refactoring versus rewriting, which is incredibly important, because I have seen a lot of coffee developers and CIOs shoot themselves in the foot in this and will reveal which of the two options is more dangerous. I guess there's a third unwritten option, which is do absolutely nothing with your legacy app, which is another dangerous option.

Michaela Light 0:35
So welcome, Danny, those who don't know him.

Michaela Light 1:18
Welcome, Danny.

Michaela Light 1:24
You know, for a lot of people listening have some legacy ColdFusion app. And they may be thinking of rewriting it, or refactoring, or maybe they're not thinking about it at all, and they're just gonna leave it alone. Right. So there are three typical options there. Why is this such an important topic? You know, this year?

Denny Springle 1:48
I think that, for me, personally, I think that the, the decision to refactor or rewrite these be considered carefully, and need to know what all the risks and rewards are for each method. And understanding the different ways of approaching those. I think that that is an important distinction to make between the two approaches to getting what you want out of your application.

Michaela Light 2:28
That no, that makes sense. I mean, people may have, you know, they may think they're supposed to do it a certain way, but they haven't thought through what are the possible risks and rewards? Then what about the unspoken stepchild of you just leave your legacy app in the corner and don't be the new improved? The right that

Denny Springle 2:47
That will ultimately lead to it being hacked nine times out of 10? Yes, unfortunate. Unfortunately, if you if you leave an app alone for too long, it will, it will develop flaws that nobody knew were there until years later. So if you don't, if you don't maintain those things, and you run that risk, surrender, yes, you run the risk of not delivering the tools that you need to whoever your end users are, whether that's internal clients, or external clients were what have you, you know, you run the risk of even losing customers by not continuing to improve your application. So there's definitely a lot of risks of leaving it alone 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.
  • Facebook
  • Twitter
  • LinkedIn

Filed Under: CF Alive Podcast, CF Tags

← Previous Post 133 GitHub Copilot & AI-Assisted Coding (Unlocking ColdFusion’s AI Potential) with Monte Chan – Transcript
Next Post → 134 ColdFusion Legacy app – Is a Refactor Better than a Rewrite? with Denny Springle – Transcript

Primary Sidebar

Subscribe on iTunes

Popular podcast episodes

  • Revealing ColdFusion 2021 – Rakshith Naresh
  • CF and Angular – Nolan Erck
  • Migrating legacy CFML – Nolan Erck
  • Adobe API manager – Brian Sappey
  • Improve your CFML code – Kai Koenig

CF Alive Best Practices Checklist

Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.

Get your checklist

Top articles

  • CF Hosting (independent guide)
  • What is Adobe ColdFusion
  • Is Lucee CFML now better than ACF?
  • Is CF dead?
  • Learn CF (comprehensive list of resources)

Recent Posts

  • 141 Into The Box 2025 ColdFusion conference (all the details) with Daniel Garcia – Transcript
  • 141 Into The Box 2025 ColdFusion conference (all the details) with Daniel Garcia
  • 107 ColdFusion 2021 Revealing Details on How it was Created with Rakshith Naresh
  • The Legacy Continues: ColdFusion Summit East Conference Edition
  • 140 BoxLang modern JVM language that runs CFML code (new CFML engine and much more) with Luis Majano and Brad Wood – Transcript

Categories

  • Adobe ColdFusion 11 and older
  • Adobe ColdFusion 2018
  • Adobe ColdFusion 2020 Beta
  • Adobe ColdFusion 2021
  • Adobe ColdFusion 2023
  • Adobe ColdFusion 2024
  • Adobe ColdFusion 2025
  • Adobe ColdFusion Developer week
  • Adobe ColdFusion Project Stratus
  • Adobe ColdFusion Summit
  • AWS
  • BoxLang
  • CF Alive
  • CF Alive Podcast
  • CF Camp
  • CF Tags
  • CF Vs. Other Languages
  • CFEclipse
  • CFML
  • CFML Open- Source
  • CFUnited
  • ColdBox
  • ColdFusion and other news
  • ColdFusion Community
  • ColdFusion Conference
  • ColdFusion Consulting
  • ColdFusion Developer
  • ColdFusion Development
  • ColdFusion Hosting
  • ColdFusion Maintenance
  • ColdFusion Performance Tuning
  • ColdFusion Projects
  • ColdFusion Roadmap
  • ColdFusion Security
  • ColdFusion Training
  • ColdFusion's AI
  • CommandBox
  • Docker
  • Fixinator
  • Frameworks
  • Fusebox
  • FusionReactor
  • IntoTheBox Conference
  • Java
  • JavaScript
  • JVM
  • Learn CFML
  • Learn ColdFusion
  • Legacy Code
  • Load Testing
  • Lucee
  • Mindmapping
  • MockBox
  • Modernize ColdFusion
  • Ortus Developer Week
  • Ortus Roadshow
  • Server Crash
  • Server Software
  • Server Tuning
  • SQL
  • Survey
  • Survey results
  • TestBox
  • Transcript
  • Webinar
  • Women in Tech

TeraTech

  • About Us
  • Contact

Services

  • Free assessment
  • Consulting
  • Crash
  • Development
  • Maintenance
  • Modernization
  • Security
  • Case Studies

Resources

  • CF Alive Book
  • CF Alive Podcast
    • Podcast Guest Schedule
  • TeraTech Blog
  • CF Alive resources
  • CF e-course
  • CF best practice checklist

Community

  • CF Alive
  • CF Inner Circle
  • CF Facebook Group

TeraTech Inc
451 Hungerford Drive Suite 119
Rockville, MD 20850

Tel : +1 (301) 424 3903
Fax: +1 (301) 762 8185

Follow us on Facebook Follow us on LinkedIn Follow us on Twitter Follow us on Pinterest Follow us on YouTube



Copyright © 1998–2025 TeraTech Inc. All rights Reserved. Privacy Policy.