Why to Rewrite
• The code is a mess.
• The application is slow.
• The code is ugly.
• We’ll get it right this time!
• We picked the wrong platform.
Characteristics
• Ability to evolve over time
• Separation of concerns
• Use of standard languages
• Minimising of dependencies
• Simple, readable code
• Fault-tolerance and fast recovery