Share
Embed
Agile Refactoring at ImmobilienScout24
André Neubauer
October 11, 2010
Transcript
102 slides
-
www.immobilienscout24.de Agile Refactoring @ IS24 gearconf www.immobilienscout24.de Düsseldorf | 11.10.2010
| André Neubauer & Oliver Schmitz-Hennemann -
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… -
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… -
Seite 4 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Warning Agile ideas ahead -
Seite 5 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Immobiliensuche gestern & heute -
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 -
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 -
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% -
Seite 9 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Agile refactoring -
Seite 10 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Epic Some history -
Seite 11 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story People unhappy -
Seite 12 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer To much legacy -
Seite 13 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story Legacy -
Seite 14 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story ARC desaster 2007/2008 -
Seite 15 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer ARC desaster -
Seite 16 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned No super goals. Focus! -
Seite 17 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned If you get stuck… Get help! -
Seite 18 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Get external help! -
Seite 19 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned > 2 month You got stuck! -
Seite 20 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Ivory tower -
Seite 21 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story Scrum 2008 -
Seite 22 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Why Delayed projects -
Seite 23 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Why To many topics per team -
Seite 24 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Why Much more developers -
Seite 25 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Teams want it CTO wants it -
Seite 26 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer How Team by team -
Seite 27 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer How External help -
Seite 28 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Prod up! Fun up! Energy! -
Seite 29 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Identifies waste -
Seite 30 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer A lot of impediments -
Seite 31 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Get’s inconvenient -
Seite 32 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Epic Agile refactoring -
Seite 33 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Setting 1/3 2 years Stop the business -
Seite 34 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Setting 1/3 2 years Don‘t stop the business -
Seite 35 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Solution Put 33% of dev into ARC renewal team -
Seite 36 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Solution But wait… …Scrum Masters will kill you -
Seite 37 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer That’s inconvenient -
Seite 38 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Epic Agile refactoring -
Seite 39 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Do it in the teams -
Seite 40 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Spread Know how -
Seite 41 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer -
Seite 42 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer -
Seite 43 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Involve à commit -
Seite 44 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story Standards -
Seite 45 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Some Details Hibernate/JPA Springframework SpringMVC/WebFlow -
Seite 46 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task Start with OODM -
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 -
Seite 48 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Target architecture -
Seite 49 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task Second step Web-Framework migration -
Seite 50 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story SPoC CPoC rollout -
Seite 51 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Have switches -
Seite 52 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned New Features after SPoC -
Seite 53 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Prod up! Fun up! Energy! -
Seite 54 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story ARC Product Owner -
Seite 55 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer CTO needs control -
Seite 56 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer CTO needs someone to ask? -
Seite 57 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer CTO needs Someone to hang! -
Seite 58 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task Coordinate Teams & POs -
Seite 59 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Fight for 1/3 -
Seite 60 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer OODM 34 epics -
Seite 61 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer OODM 340 Stories -
Seite 62 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Have Mr. Pareto in the team -
Seite 63 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Trust in stack -
Seite 64 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned No more big things -
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 -
Seite 66 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Being 2nd PO for 10 Teams sucks -
Seite 67 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Not for ARC but 4 you -
Seite 68 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer -
Seite 69 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Never again -
Seite 70 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story What was wrong -
Seite 71 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned IT/ARC Projects are bad -
Seite 72 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Code Quality Speed Fun Time years Project cycle -
Seite 73 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Story make it better -
Seite 74 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task What would be agile -
Seite 75 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Read some books -
Seite 76 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Craftsman- ship -
Seite 77 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Scout principle -
Seite 78 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned sustainability -
Seite 79 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Code Quality Speed Fun Time Jahre Sprint -
Seite 80 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task How to reach it? -
Seite 81 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Fix what hurts most -
Seite 82 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Let people decide -
Seite 83 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Sounds simple -
Seite 84 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer But wait a minute -
Seite 85 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task Somebody Else’s Problem -
Seite 86 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned responsibility requires power -
Seite 87 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Build environment -
Seite 88 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Get rid of silos -
Seite 89 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned With great power comes great responsibility -
Seite 90 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Give trust and help -
Seite 91 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Give trust and help -
Seite 92 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Task Greenfield more Efficient? -
Seite 93 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer But… -
Seite 94 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned We changed our mindset -
Seite 95 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Code Quality Speed Fun Time Jahre Sprint -
Seite 96 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Lesson learned Enables Innovation -
Seite 97 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer The End People Happy! -
Seite 98 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer What’s next Build 2010 Continuous deployment DevOps? -
Seite 99 | agile refactoring @ IS24 gearconf 2010 |
Oliver Schmitz & André Neubauer Thanks -
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) -
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 -
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