Successfully reported this slideshow.
Your SlideShare is downloading. ×

Building Software That Lasts

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Api fundamentals
Api fundamentals
Loading in …3
×

Check these out next

1 of 40 Ad
Advertisement

More Related Content

Similar to Building Software That Lasts (20)

Advertisement

More from Kristine Howard (20)

Recently uploaded (20)

Advertisement

Building Software That Lasts

  1. 1. Building Software That Lasts Agile India 2018 Kris Howard @web_goddess
  2. 2. LEGACY CODEBASE 😱
  3. 3. Legacy software 🔥 Rewrite it completely 🔥 OR ⛵ Incremental redevelopment ⛵
  4. 4. 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.
  5. 5. Characteristics • Ability to evolve over time • Separation of concerns
  6. 6. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages
  7. 7. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages • Minimising of dependencies
  8. 8. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages • Minimising of dependencies • Simple, readable code
  9. 9. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages • Minimising of dependencies • Simple, readable code • Fault-tolerance and fast recovery
  10. 10. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages • Minimising of dependencies • Simple, readable code • Fault-tolerance and fast recovery
  11. 11. Best practices • Coding standards and code reviews
  12. 12. Best practices • Coding standards and code reviews • Static analysis tools
  13. 13. Best practices • Coding standards and code reviews • Static analysis tools • Defensive programming
  14. 14. Best practices • Coding standards and code reviews • Static analysis tools • Defensive programming • Property-based testing
  15. 15. Best practices • Coding standards and code reviews • Static analysis tools • Defensive programming • Property-based testing • The Campsite Rule
  16. 16. Best practices • Coding standards and code reviews • Static analysis tools • Defensive programming • Property-based testing • The Campsite Rule • Documentation
  17. 17. Back to my story…
  18. 18. To recap…
  19. 19. Legacy software 🔥 Rewrite it completely 🔥 OR ⛵ Incremental redevelopment ⛵
  20. 20. Characteristics • Ability to evolve over time • Separation of concerns • Use of standard languages • Minimising of dependencies • Simple, readable code • Fault-tolerance and fast recovery
  21. 21. Best practices • Coding standards and code reviews • Static analysis tools • Defensive programming • Property-based testing • The Campsite Rule • Documentation
  22. 22. Thank you! Agile India 2018 Kris Howard @web_goddess

×