Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Building Software That Lasts Slide 1 Building Software That Lasts Slide 2 Building Software That Lasts Slide 3 Building Software That Lasts Slide 4 Building Software That Lasts Slide 5 Building Software That Lasts Slide 6 Building Software That Lasts Slide 7 Building Software That Lasts Slide 8 Building Software That Lasts Slide 9 Building Software That Lasts Slide 10 Building Software That Lasts Slide 11 Building Software That Lasts Slide 12 Building Software That Lasts Slide 13 Building Software That Lasts Slide 14 Building Software That Lasts Slide 15 Building Software That Lasts Slide 16 Building Software That Lasts Slide 17 Building Software That Lasts Slide 18 Building Software That Lasts Slide 19 Building Software That Lasts Slide 20 Building Software That Lasts Slide 21 Building Software That Lasts Slide 22 Building Software That Lasts Slide 23 Building Software That Lasts Slide 24 Building Software That Lasts Slide 25 Building Software That Lasts Slide 26 Building Software That Lasts Slide 27 Building Software That Lasts Slide 28 Building Software That Lasts Slide 29 Building Software That Lasts Slide 30 Building Software That Lasts Slide 31 Building Software That Lasts Slide 32 Building Software That Lasts Slide 33 Building Software That Lasts Slide 34 Building Software That Lasts Slide 35 Building Software That Lasts Slide 36 Building Software That Lasts Slide 37 Building Software That Lasts Slide 38 Building Software That Lasts Slide 39 Building Software That Lasts Slide 40
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

Building Software That Lasts

Download to read offline

My talk from Agile India 2018.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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
  • mahinthjoe

    Mar. 21, 2018

My talk from Agile India 2018.

Views

Total views

452

On Slideshare

0

From embeds

0

Number of embeds

17

Actions

Downloads

3

Shares

0

Comments

0

Likes

1

×