Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Refactoring at ImmobilienScout24

Agile Refactoring at ImmobilienScout24

André Neubauer

October 11, 2010
Tweet

More Decks by André Neubauer

Other Decks in Technology

Transcript

  1. Seite 2 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer andre.neubauer@... twitter.com/devpg devpg.com •  Team Leader IT Development •  Researcher, Speaker, Author #web #devops #mobileWeb #android #ar I‘m André Neubauer, find me at…
  2. Seite 3 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer [email protected] twitter.com/OSchmi •  Head of IT Architecture •  OrgDev, agile evangelist, inconvenient I‘m Oliver Schmitz-Hennemann , find me at…
  3. Seite 4 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Warning Agile ideas ahead
  4. Seite 5 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Immobiliensuche gestern & heute
  5. Seite 6 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Some numbers 500 employees 140 IT 67 developer " > 4,5 Million unique users " > 1,5 Billion Page Impressions " > 250 Million Expose views " ~ 1,2 Million active listings " > 120.000 Vendors per month
  6. Seite 7 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Seite 7 Page impressions  ‏ Q 160 320 480 640 800 Jul 04 Jan 05 Jul 05 Jan 06 Jul 06 Jan 07 Jul 07 Jan 08 Jul 08 Jan 09 Page impressions Mio. 1,5 Mrd. 960 Jul 09 Jan 10
  7. Seite 8 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Seite 8 Availability  ‏ Q Jul 04 Jan 05 Jul 05 Jan 06 Jul 06 Jan 07 Jul 07 Jan 08 Jul 08 Jan 09 Jul 09 Jan 10 99,80% 97,00% 97,50% 98,00% 98,50% 99,00% 99,50% 100,00% Verfügbarkeit Benchmark Verfügbarkeit 99,8%
  8. Seite 9 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Agile refactoring
  9. Seite 10 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Epic Some history
  10. Seite 11 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story People unhappy
  11. Seite 12 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer To much legacy
  12. Seite 13 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story Legacy
  13. Seite 14 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story ARC desaster 2007/2008
  14. Seite 15 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer ARC desaster
  15. Seite 16 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned No super goals. Focus!
  16. Seite 17 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned If you get stuck… Get help!
  17. Seite 18 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Get external help!
  18. Seite 19 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned > 2 month You got stuck!
  19. Seite 20 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Ivory tower
  20. Seite 21 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story Scrum 2008
  21. Seite 22 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Why Delayed projects
  22. Seite 23 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Why To many topics per team
  23. Seite 24 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Why Much more developers
  24. Seite 25 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Teams want it CTO wants it
  25. Seite 26 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer How Team by team
  26. Seite 27 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer How External help
  27. Seite 28 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Prod up! Fun up! Energy!
  28. Seite 29 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Identifies waste
  29. Seite 30 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer A lot of impediments
  30. Seite 31 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Get’s inconvenient
  31. Seite 32 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Epic Agile refactoring
  32. Seite 33 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Setting 1/3 2 years Stop the business
  33. Seite 34 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Setting 1/3 2 years Don‘t stop the business
  34. Seite 35 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Solution Put 33% of dev into ARC renewal team
  35. Seite 36 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Solution But wait… …Scrum Masters will kill you
  36. Seite 37 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer That’s inconvenient
  37. Seite 38 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Epic Agile refactoring
  38. Seite 39 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Do it in the teams
  39. Seite 40 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Spread Know how
  40. Seite 41 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer
  41. Seite 42 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer
  42. Seite 43 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Involve à commit
  43. Seite 44 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story Standards
  44. Seite 45 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Some Details Hibernate/JPA Springframework SpringMVC/WebFlow
  45. Seite 46 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task Start with OODM
  46. Seite 47 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Old architecture Web Tier Apache Tomcat Web UTIL ConfigServlet Web Service Service Wrappers Corba Stubs web modules servlet filters Portallogic ServicePool Corba Skeletons Search Index MT UTIL Business Object ServiceImpl JSP Dialog Workflow
  47. Seite 48 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Target architecture
  48. Seite 49 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task Second step Web-Framework migration
  49. Seite 50 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story SPoC CPoC rollout
  50. Seite 51 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Have switches
  51. Seite 52 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned New Features after SPoC
  52. Seite 53 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Prod up! Fun up! Energy!
  53. Seite 54 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story ARC Product Owner
  54. Seite 55 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer CTO needs control
  55. Seite 56 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer CTO needs someone to ask?
  56. Seite 57 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer CTO needs Someone to hang!
  57. Seite 58 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task Coordinate Teams & POs
  58. Seite 59 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Fight for 1/3
  59. Seite 60 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer OODM 34 epics
  60. Seite 61 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer OODM 340 Stories
  61. Seite 62 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Have Mr. Pareto in the team
  62. Seite 63 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Trust in stack
  63. Seite 64 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned No more big things
  64. Seite 65 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer OODM Cockpit “Über den Berg” gelb: wir brauchen ARC-Stories (Stand 04.06.2010) Scheduler & Jobs Mailer Importer WTH? Audit Trail ESB Data Events Caching Misc. KSC Guideline machen und Team fragen Allianz Relocation Valuation Financing Im alten Stack, wird vom PM migriert/neu geschrieben Leads Im alten Stack, wird vom PM migriert/neu geschrieben BUs Fulfillment Saved search Shortlist Search Expose à PMI hat Interesse an Einführung von Expose 3.5 für alle Typen Search VÖ / Kanäle TKM Vendor Reporting Umstellung auf online reporting DB ist IT2010 Focus Placement Toplisting Angebots- & Exposé- Manager Real estates  SM2.0 √  OC1?!? Realtor Impressum Profile Offer Addresses  DEV2/API GIS Geocoding Hierarchy  DEV2 sieht Probleme Multimedia ShoppingCart Customer  OC1? Sonst Gerald SPC Authorization (Priv. & Roles) Authentication Account & API Platform
  65. Seite 66 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Being 2nd PO for 10 Teams sucks
  66. Seite 67 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Not for ARC but 4 you
  67. Seite 68 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer
  68. Seite 69 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Never again
  69. Seite 70 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story What was wrong
  70. Seite 71 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned IT/ARC Projects are bad
  71. Seite 72 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Code Quality Speed Fun Time years Project cycle
  72. Seite 73 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Story make it better
  73. Seite 74 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task What would be agile
  74. Seite 75 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Read some books
  75. Seite 76 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Craftsman- ship
  76. Seite 77 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Scout principle
  77. Seite 78 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned sustainability
  78. Seite 79 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Code Quality Speed Fun Time Jahre Sprint
  79. Seite 80 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task How to reach it?
  80. Seite 81 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Fix what hurts most
  81. Seite 82 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Let people decide
  82. Seite 83 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Sounds simple
  83. Seite 84 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer But wait a minute
  84. Seite 85 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task Somebody Else’s Problem
  85. Seite 86 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned responsibility requires power
  86. Seite 87 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Build environment
  87. Seite 88 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Get rid of silos
  88. Seite 89 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned With great power comes great responsibility
  89. Seite 90 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Give trust and help
  90. Seite 91 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Give trust and help
  91. Seite 92 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Task Greenfield more Efficient?
  92. Seite 93 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer But…
  93. Seite 94 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned We changed our mindset
  94. Seite 95 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Code Quality Speed Fun Time Jahre Sprint
  95. Seite 96 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Lesson learned Enables Innovation
  96. Seite 97 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer The End People Happy!
  97. Seite 98 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer What’s next Build 2010 Continuous deployment DevOps?
  98. Seite 99 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Thanks
  99. Seite 100 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer IT2010 – Increasing Features Availability, Performance Quality Efficiency Increasing Features 0,7 4,0 3,3 2,02,0 3,7 3,3 4,7 4,3 3,3 2,3 4,7 5,3 2,7 4,7 4,34,3 4,0 4,3 5,0 9,0 9,0 6,5 8,5 9,0 9,0 5,0 4,5 7,0 9,0 4,0 9,0 9,0 8,5 7,0 0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 25.01.2009 15.02.2009 08.03.2009 29.03.2009 19.04.2009 10.05.2009 31.05.2009 21.06.2009 12.07.2009 02.08.2009 23.08.2009 13.09.2009 04.10.2009 25.10.2009 15.11.2009 06.12.2009 27.12.2009 17.01.2010 07.02.2010 28.02.2010 21.03.2010 11.04.2010 02.05.2010 23.05.2010 13.06.2010 04.07.2010 25.07.2010 15.08.2010 05.09.2010 26.09.2010 17.10.2010 07.11.2010 28.11.2010 19.12.2010 Ist/Woche Soll Ist/Woche Linear  (Ist/Woche)
  100. Seite 101 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer IT2010 – Improved Quality Availability, Performance Quality Efficiency 0 10 20 30 40 50 60 70 80 90 100 R16 R18 R20 R22/23 R25 R27 R29 R31 R33 R35 R37 R39 R41 R43 R45 R47 R49 R51 R53 R55 R57 T est Prod S um Gesamt Polynomisch  (Gesamt) 0 10 20 30 40 50 60 70 80 R46 R47 R48 R49 R50 R51 R52 R53 R54 R55 R56 R57 R58 R59 R60 R61 R62 R63 R64 R65 R66 R67 Test Prod
  101. Seite 102 | agile refactoring @ IS24 gearconf 2010 |

    Oliver Schmitz & André Neubauer Ressources http://agilemanifesto.org/ http://agilemanifesto.org/principles.html http://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 http://www.amazon.de/Working-Effectively-Legacy-Robert-Martin/dp/0131177052 http://www.amazon.de/Software-Development-Principles-Patterns-Practices/dp/0135974445