• Incremental and iterative design
  • Managing technical debt
  • Principles of maintainable code