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.

Large 24 7 systems and agile soft dev - shanghai aha conference

376 views

Published on

  • Be the first to comment

  • Be the first to like this

Large 24 7 systems and agile soft dev - shanghai aha conference

  1. 1. Large 24 / 7 systems and Agile Soft. Dev. Old story, new story, tips
  2. 2. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Gartner says… • Bimodal IT is the future - 2 distinct IT methodologies in the same company - “Agile IT” teams for fast-changing stuff - “Traditional IT” for doing things right the first time. 2 Euhmm……No!
  3. 3. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Large software projects today • ...are replacing something old for new. • Many of them have single goal: Replace outdated technology with new one. • Many of them are huge investments with long term promises of so called flexibility in future. • ...and if your large project is none of these, then you’re maybe creating a christmas tree.
 Looks nice, but it is dead very soon. • …or your project is small and delivers value 3
  4. 4. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Some nice False Dichotomies (fallacy of the false alternative) 4 “You can’t simply start coding, therefore you always have some up-front design.” “Developers don’t care and are incapable of caring about architecture, because they need to focus on coding” “Agile / Scrum, that is something for frontend apps, not for 24/7 business critical systems” We need to be more Agile We need more architecture “Some things cannot and should not change”
  5. 5. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works The biggest problem in software architecture is that we think we know what we are doing. 5
  6. 6. Large software 6
  7. 7. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Large software projects today 7
  8. 8. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Large software projects today 8
  9. 9. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 9 Great Mosque of Djenné, Mali ruins 1828
  10. 10. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 10 Great Mosque of Djenné rebuilt 1895
  11. 11. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 11 Great Mosque of Djenné 1910
  12. 12. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 12
  13. 13. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 13
  14. 14. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 14
  15. 15. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 15
  16. 16. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 16
  17. 17. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 17
  18. 18. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 18 Everyone is involved
  19. 19. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 19
  20. 20. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works About 7 years ago... 20 Port of Rotterdam, Project HaMIS 1. Replace outdated traffic management system 2. Support the port of Rotterdam expansion 24/7 system for traffic management, transport, environmental safety and crisis management.
  21. 21. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works New (as defined about 6 years ago) 21
  22. 22. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Lots of documents 22 Migration Plan Architecture Vision Operations Vision .... QA Vision Blueprint Reference data Vision
  23. 23. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 23 100+ identified use cases Project Start Architecture Q&A department Architecture with 4 layers & 6 subsystems 6 architects 800+ architectural decisions RUP and Scrum but BPEL process server We just need...
  24. 24. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 24 1 Use Case in 6 months
  25. 25. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works (Re)Started • Ship inspections process • Little risk • Significant business value • Migration stuff completely postponed • Agile / Scrum introduction • One sprint later, useful functions delivered in production 25
  26. 26. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 26
  27. 27. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Optimize the whole 27 Marketing User / Business Requirements gathering Architectu re Planning Analysis Development TestingDelivering ...has a challenge Lead time Department 1 Department 2 Department 3 Department 4 Department 5 Department 6 Department 7 Department 8 Agile team Agile team Agile team Agile team
  28. 28. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Product Vision Box 28
  29. 29. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Self-designed teams 29 See LeSS.works if you want to know more
  30. 30. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Architecting 30 Open space sessions Knowledge sharing Documentation is Wiki filled by “harvesting” the knowledge Standardization is discovered and not predefined Just-in-time just-enough Continuous refactoring towards better design Architecture principles: Simplicity and design for change
  31. 31. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Business processes? 31
  32. 32. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Technical debt 32 So, did we paid this debt back ???
  33. 33. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Continuous Architecting 33
  34. 34. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Things that matter 34 Multilayered Domain- Driven DesignSOA SOAP Frameworks Micro- services Simplicity Business- driven everything
  35. 35. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works What was my role? 35 Management: ”…but who is accountable?”
  36. 36. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Welcome to double legacy 36
  37. 37. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Which path to choose? • Should we do all reporting first in the new system? • Which part of the system should we replace first? • How do we prevent a big bang? • Where to start? • We followed ships in harbour! 37
  38. 38. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 38 Any decision that can be postponed is postponed ...also the migration path …but, this is not easy
  39. 39. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Migration = Strangulation 39 HaMIS (new)IVS (old) User Business event 1 Business event 1 Business event 2 Business event 2 data not yet managed in HaMIS "The most important reason to consider a strangler application over a cut-over rewrite is reduced risk.” - Martin Fowler, StranglerApplication 24/7 system Every 2 weeks in production
  40. 40. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works We banned terms: Generic or Reusable on every level 40
  41. 41. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works We banned premature generalisation 41 Why Windows 10 instead 9 ??? “Microsoft dev here, the internal rumours are that early testing revealed just how many third party products that had code of the form if(version.StartsWith("Windows 9")) { / * 95 and 98 */ } else { and that this was the pragmatic solution to avoid that.”
  42. 42. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Aren’t you creating a mess? • One team delivers the simplest possible solution • Another team delivers another similar even simpler possible solution :-) • ...and maybe third one. • Then, we get together and talk about what you learned and which one is really the best in this context. 42
  43. 43. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Examples • Data model with production data is gradually extended and continually refactored • IBM Websphere replaced by JBoss • User interface redesigned 2 or more times • SOAP replaced by binary Hessian • Core domain model concepts (gradually) redesigned: inspection checklist, vessel visit vs. vessel 43
  44. 44. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Lessons learned • Never stop delivering business value. • Deal with migration gradually / strangulation • Everything in software can be soft even data / domain model! • Trust in business / context driven approach above standard / generic solutions • Involve everyone to solve complex problems • Don’t get stuck in complexities of architectural B.S. 44
  45. 45. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 6 years later 45 Then 6 months delivery time for large features “Documents”-based collaboration business / IT Dedicated operations team - 6 people + on average 5 developers fixing issues full time Many architects, analysts, QA, “coordinators” Very displeased business Now More than 100 sprints every 2 weeks new features / intensive collaboration No dedicated operations team Production issues involving code change solved in 1 hour! One of 4 development teams responsible for operations, 30% of time actually spend on operations. Architects, analysts, QA, OPs,… part of cross-functional teams
  46. 46. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 46 “Everybody, all together, early on” James O. Coplien
  47. 47. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works Want to know more?: less.works Blog: leanarch.eu Tomorrow: Collaborative Visualisation workshop 47

×