Migrating your ColdFusion custom application to a Framework

Brian Ghidinelli presented several months ago at our ColdFusion user group on his expereience with an 8 month migration from a custom code base to Model-Glue, ColdSpring and Transfer frameworks.  Here are the take aways from his talk.

4 Sins of Migration

  1. Applications are more complex than you remember.  You may be reworking code you haven't touched in years and over time you will forget all the complex code an tricks you wrote with each new feature request.  Plan more time to deal with this complexity.
  2. Efficiency drops when learning.  You will be learning one or more new framework.  This learning curve will dramatically cut your development time by as much as 50%. 
  3. Misdirected or inadequiate testing.  During your move to frameworks you may (hopefully) incorporate some formalized testing.  This will add to your learning curve and time to complete the project
  4. The "and while you're in there" syndrome.  You will be tempted to add new features.  Do you really want to work for months and see no new features?  Yes. it will only add to the complexity and length of the project.  Say no to new features whenever possible.

How can you mitigate these sins?

  1. Employ DRY (Don't repeat yourself) or repeat your code
  2. Document non-standard views (AJAX and FLEX)
  3. Allow extra time for Unit Testing
  4. Hire a mentor to improve your learning curve.

When it comes to testing don't forget there are more than one way to test?

  • It can be difficult testing your "controller"
  • Load testing a framework is very important.

Beware of Scope Creep

  • Hold on to backwards compatibility at all costs.  Rollback is priceless.  Brian made a big effort to not change his database schema.  When he found his new application had critical issues, he could rollback to the old application code base while he repaired the new application.
  • Patience is necessary.  Add new features AFTER launch of new application.

 

0 responses to “Migrating your ColdFusion custom application to a Framework”

Leave a Reply

Leave this field empty:

Powered by Mango Blog.