Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Building Software That Lasts

261 vues

Publié le

My talk from Agile India 2018.

Publié dans : Technologie
  • Soyez le premier à commenter

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

×