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

Ökonomie + Architektur - Ein starkes Duo

Ökonomie + Architektur - Ein starkes Duo

Je häufiger und länger IT-Systeme geändert oder erweitert werden, desto teurer und riskanter wird ihre Wartung und Weiterentwicklung - weil ihre Architektur immer mehr degradiert. Der Grund: Wartungsprojekte investieren zu wenig in architekturelle Verbesserung.

Als Abhilfe stellen wir Ihnen einige praxistaugliche methodische Werkzeuge aus Ökonomie und Software-Engineering vor, mit denen Sie Manager vom ökonomischen Sinn kontinuierlicher Architekturverbesserung überzeugen können - und Techniker in die Lage versetzen, diese erfolgreich durchzuführen.

Dr. Gernot Starke

January 28, 2015
Tweet

More Decks by Dr. Gernot Starke

Other Decks in Programming

Transcript

  1. Slide # © 2015 Gernot Starke / Michael Mahlberg Ökonomie

    und Architektur als effektives Duo 1 Gernot  Starke   Michael  Mahlberg   The Consulting Guild
  2. Slide # © 2015 Gernot Starke / Michael Mahlberg 2

    Ökonomie   Architektur   Op4mierungs-­‐  und   Modernisierungsprojekte,   Prozessberatung  (Logis4k,   Finanzen,  Versicherungen,   Medien,  Gesundheitswesen...)   Reviews  &  Coaching,   Finance  /  Insurance,   Blogger,  Publika4onen,   Magazine   (BWL-­‐orien4erte)     Reviews  +  Audits  in   Handel,  Logis4k,  Pharma,   Maschinenbau,  Telko  .…   arc42,  Java-­‐Welt,   Informa4onssysteme,   Fachbücher,  iSAQB     Gernot   Michael  
  3. Slide # © 2015 Gernot Starke / Michael Mahlberg TAKEAWAY

    Langfristige Verbesserung benötigt Betriebswirtschaft
  4. Slide # © 2015 Gernot Starke / Michael Mahlberg MODERNISIERUNG

    & CO Jemand möchte mit/an IT-System: • mehr Geld verdienen • weniger Geld ausgeben • Fehler beheben • Norm/Gesetz erfüllen • … • Sourcecode oä verbessern 5
  5. Slide # © 2015 Gernot Starke / Michael Mahlberg 7

    architecture improvement method
  6. Slide # © 2015 Gernot Starke / Michael Mahlberg • Sammlung

    etablierter Praktiken + Patterns • Open-Source 8
  7. Slide # © 2015 Gernot Starke / Michael Mahlberg für

    technische und betriebswirtschaftliche Stakeholder 9 iterativ/ inkrementell! praxiserprobt!
  8. Slide # © 2015 Gernot Starke / Michael Mahlberg 11

    analyze evaluate improve collect…
  9. Slide # © 2015 Gernot Starke / Michael Mahlberg 12

    Improvement Backlog Issue List (problems, risks) analyze evaluate improve collect…
  10. Slide # © 2015 Gernot Starke / Michael Mahlberg 13

    m:n! Improvement Backlog Issue List (problems, risks)
  11. Slide # © 2015 Gernot Starke / Michael Mahlberg 17

    Qualitative Analysis Context Analysis Stakeholder Analysis Stakeholder Interview prepares validates external stakeholder Quantitative Analysis finds risks and non-risks gives overview fundamental crosscutting Legend: collect issues collect improvement opportunities Development Process Analysis part of find input for
  12. Slide # © 2015 Gernot Starke / Michael Mahlberg fundamental

    crosscutting Legend: Estimate Issue Cost Estimate Improvement Cost Estimate in Interval Estimate Feature Value Explicit Assumption requires based upon Improvement Backlog Issue List Artifact
  13. Slide # © 2015 Gernot Starke / Michael Mahlberg 20

    Photo Credit: http://de.wikipedia.org/w/index.php?title=Datei:Drehbare_Hochleistungsrichtantenne_ORF_Moosbrunn.JPG&filetimestamp=20070410160520& Radio Oesterreich International
  14. Slide # © 2015 Gernot Starke / Michael Mahlberg 21

    Republic of Ireland Photo Credit: Some rights reserved by ConorLuddy http://www.flickr.com/photos/conorluddy/5112308189/sizes/l/
  15. Slide # © 2015 Gernot Starke / Michael Mahlberg 22

    Picture Credit: http://commons.wikimedia.org/wiki/File:ROI_Treiberbaum_Du_Pont.png Return On Investment
  16. Slide # © 2015 Gernot Starke / Michael Mahlberg 23

    Picture Credit: http://commons.wikimedia.org/wiki/File:ROI_Treiberbaum_Du_Pont.png Return On Investment
  17. Slide # © 2015 Gernot Starke / Michael Mahlberg DAS

    BEDEUTET 25 ROI = Umsatzrendite Kapitalumschlag x
  18. Slide # © 2015 Gernot Starke / Michael Mahlberg UMFORMEN

    26 x Nettoumsatz —————— Gesamtkapital Gewinn —————— Nettoumsatz ROI =
  19. Slide # © 2015 Gernot Starke / Michael Mahlberg UMFORMEN

    27 x Nettoumsatz —————— Gesamtkapital Gewinn —————— Nettoumsatz ROI =
  20. Slide # © 2015 Gernot Starke / Michael Mahlberg UMFORMEN

    28 Gewinn —————— Gesamtkapital ROI =
  21. Slide # © 2015 Gernot Starke / Michael Mahlberg 29

    Nettoumsatz 120.000,00 € Gesamtkapital 50.000,00 € Gewinn 25.000,00 € Nettoumsatz 120.000,00 € Kapital- umschlag = 2,4 Umsatz- rendite = 20,833 % ROI = 0,5 = =
  22. Slide # © 2015 Gernot Starke / Michael Mahlberg Ein

    Dollar heute… 30 Photo Credit: Some rights reserved by ceoln http://www.flickr.com/photos/ceoln/1333316/
  23. Slide # © 2015 Gernot Starke / Michael Mahlberg A

    dollar today is worth more than a dollar tomorrow. 31 Photo Credit: Some rights reserved by soozafone http://www.flickr.com/photos/gaberosiak/7012720629/
  24. Slide # © 2015 Gernot Starke / Michael Mahlberg 9%

    ? 36 Quelle: http://de.wikipedia.org/wiki/Leitzins Stand 22.01.2015
  25. Slide # © 2015 Gernot Starke / Michael Mahlberg 37

    http://de.statista.com/statistik/ daten/studie/261430/umfrage/ umsatzrenditen-im-deutschen- mittelstand-nach-branchen/
  26. Slide # © 2015 Gernot Starke / Michael Mahlberg 39

    http://de.statista.com/statistik/ daten/studie/261430/umfrage/ umsatzrenditen-im-deutschen- mittelstand-nach-branchen/
  27. Slide # © 2015 Gernot Starke / Michael Mahlberg • Wiederholte

    Erklärungen: 2h pro Woche (3 Personen) • Time to Market: im Schnitt +2 Wochen • Aufwand pro Diagramm 2 PT (2 Stunden mit 8 Personen) IN ZAHLEN...
  28. Slide # © 2015 Gernot Starke / Michael Mahlberg analyze

    evaluate improve crosscutting practices & principles collect issues collect opportunities for improvement create from Explicit Assumption Improvement Backlog keep explicit list or table helps understand Issue List keep explicit list or table m:n mapping Architectural Understanding find issues develop improvement opportunities
  29. Slide # © 2015 Gernot Starke / Michael Mahlberg fundamental

    crosscutting Legend: Estimate Issue Cost Estimate Improvement Cost Estimate in Interval Estimate Feature Value Explicit Assumption requires based upon Improvement Backlog Issue List Artifact
  30. Slide # © 2015 Gernot Starke / Michael Mahlberg • Schulungskosten

    = 5 x interner Satz • Teilnehmer = 16 Mitarbeiter • Schulungsdauer = 2 Tage => 16 * 2 + 5 * 2 = 42 PT! EXPLIZITE ANNAHMEN
  31. Slide # © 2015 Gernot Starke / Michael Mahlberg • Schulungstermin

    im Juni • Nutzung ab Juli diesen Jahres ( 6 Monate) => Ersparnis dieses Jahr: 7 PT * 6 Monate = 42 PT! => Ersparnis Folgejahre: 7 PT * 12 Monate = 84 PT! EXPLIZITE ANNAHMEN
  32. Slide # © 2015 Gernot Starke / Michael Mahlberg WANN

    RECHNET SICH UML? * 53 * In Jahren, bei 10,2%
  33. Slide # © 2015 Gernot Starke / Michael Mahlberg WANN

    RECHNET SICH UML? * 54 * In Monaten, bei 10,2% p.a. / 0,86% p.m.
  34. Slide # © 2015 Gernot Starke / Michael Mahlberg ANALYZE

    + EVALUATE ... Sales Frontend Cash Management Client Personalization Client Data / Contract User Management National Catalogue Vouchers Rebate and Reduction Cards European Catalogue External Partners Sales Offices Price Management Data Warehouse Marketing & Sales Campaigns Travel Agents API & UI Pricing Engine Sales Backend Legend: Java PHP Python C/C++ Web Server Extensions Pricing Data Store Lisp- ish Cobol Security Extensions PL/ SQL
  35. Slide # © 2015 Gernot Starke / Michael Mahlberg FAKTEN

    AUS „BIGSHOP“ • Technologie-Zoo: • System aus >20 Subsystemen in 8+ Technologien • Organisations-Zoo: • diverse Dienstleister, verteilte Entwicklung • Prozess-Zoo: • Diverse „Meinungen“ über Abläufe in Entwicklung, Release, Betrieb...
  36. Slide # © 2015 Gernot Starke / Michael Mahlberg PROBLEME

    „BIGSHOP“ Issue / Problem Description Cost Time-­‐to-­‐Market   6-­‐12  month(!!)  from  business   requirement  to  release  /  produc4on   Sales-­‐loss   >  20-­‐250k€  /  Qtr   Certain  product-­‐ configura4ons   crash  basket   Users  configure  certain  types  of   products,  apply  certain  rebates  -­‐>   several  backend  processes  crash   15min  operator   4me  /  crash   know-­‐how  drain  in   development   (expert-­‐)developers  dissa4sfied  with   overall  architecture/implementa4on   leave  development  organisa4on(s)   Excessive  4me  for   bugfixes   Several  (business-­‐cri4cal)  bugs  took  2-­‐4   weeks  (!)  to  fix   (e.g:  „combined  basked  price  zero“)   1. sales  loss   50-­‐100€/sale,   5-­‐30x/day   2. reputa4on  loss   Overly   heterogenous   8+  different  technologies  used  in   development  /  architecture   2-­‐20%  of  budget  
  37. Slide # © 2015 Gernot Starke / Michael Mahlberg 59

    https://www.flickr.com/photos/celestinechua/9661913835
  38. Slide # © 2015 Gernot Starke / Michael Mahlberg IMPROVEMENT

    – DONE RIGHT Approaches Fundamentals Practices Technik Betriebs-
  39. Slide # © 2015 Gernot Starke / Michael Mahlberg Improve

    Processes Improve Iteratively Reduce Complexity fundamental Category Legend: Improve Code Structure Improve Crosscutting Concepts Determine Improvement Approach Improve Technical Infrastructure Improve Analysability & Evaluability Verify After Every Change Fast Feedback Explicit Assumptions Group Improvement Actions Prototype Improvement FUNDAMENTALS Technik
  40. Slide # © 2015 Gernot Starke / Michael Mahlberg FUNDAMENTALS

    Technik Approaches Fundamentals Practices Improve Iteratively Reduce Complexity Verify After Every Change Fast Feedback Explicit Assumptions Group Improvement Actions Prototype Improvement
  41. Slide # © 2015 Gernot Starke / Michael Mahlberg Improve

    Processes Category Legend: Improve Code Structure Improve Crosscutting Concepts Improve Technical Infrastructure Improve Analysability & Evaluability Practice Improve Hardware Improve Logging Improve Test Automation Measure Extract Business Domain Improve Use of Technology Introduce Better Technology Quality Driven Software Architecture Improve Supporting Software Automate Release Improve Engineering Improve Delivery Improve Operations Improve Governance Improve Flow Schedule Work Refactor Code Restructure Code Enable Team Improve Test Infrastructure Modularize Technik
  42. Slide # © 2015 Gernot Starke / Michael Mahlberg QUALITÄTSZIELE

    Q-Ziel Bedeutung / Szenarien Flexibilität •  Neues csv- Importformat in <4h konfigurierbar Last / Performance •  250.000 Fotos à 5MB innerhalb von 4h verarbeitet Sicherheit •  Mandant kann niemals Zugriff auf Daten anderer Mandanten erhalten Architektur-/Lösungsansatz •  Konfigurationssprache für CSV-Parser, Basis ANTLR •  Syntaxgesteuerter Editor •  Bilder als Dateien speichern, Links in DB •  Lasttests im DailyBuild •  Generator für Testdaten •  Mandantenspezifische Daten grundsätzlich in (eigener) VM •  Datenlieferungen grundsätzlich in mandantenspezifische Verzeichnisse (ftp-Server) •  Unix-Kennungen spezifisch für Mandanten QUALITY-DRIVEN ARCHITECTURE
  43. Slide # © 2015 Gernot Starke / Michael Mahlberg Improve

    Code Structure Category Legend: Practice Introduce Interfaces Refactor Code Modularize Untangle Code Remove Nested Control Structures Deprecate Obsolete Parts Improve Responsibility Improve Code Layout Move Behavior Close To Data Split Up Oversized Parts Handle If-Else Chains Interface Segregation Anticorruption Layer Hide Unmaintainable Code Introduce Layering Extract Reusable Component Integrate Reusable Component Remove Unused Parts Eliminate Navigation Code Bridge to New Town Toggle Feature Restructure Code Technik
  44. Slide # © 2015 Gernot Starke / Michael Mahlberg APPROACHES

    Determine Improvement Approach Strangulate Bad Parts Big Bang Frontend Switch Change Via Copy Keep Data, Toss Code Managed Evolution Change Via Split Data Migration Betriebs-
  45. Slide # © 2015 Gernot Starke / Michael Mahlberg APPROACHES

    Determine Improvement Approach Strangulate Bad Parts Big Bang Frontend Switch Change Via Copy Keep Data, Toss Code Managed Evolution Change Via Split Data Migration Betriebs-
  46. Slide # © 2015 Gernot Starke / Michael Mahlberg CHANGE-VIA-SPLIT

    Determine Improvement Approach Strangulate Bad Parts Big Bang Frontend Switch Change Via Copy Keep Data, Toss Code Managed Evolution Change Via Split Data Migration Copy 1. 2a 2b 3a 3b Legend: bad medium good Split Improve
  47. Slide # © 2015 Gernot Starke / Michael Mahlberg Das

    Recht, aber nicht die Verpflichtung, «etwas» zu «einer bestimmten Zeit» zu einem «bestimmten Preis» von einer spezifische «Partei» zu kaufen. (CALL) OPTION
  48. Slide # © 2015 Gernot Starke / Michael Mahlberg Das

    Recht, aber nicht die Verpflichtung, «etwas» zu «einer bestimmten Zeit» zu einem «bestimmten Preis» von einer spezifische «Partei» zu kaufen. OPTION
  49. Slide # © 2015 Gernot Starke / Michael Mahlberg OPTIONSTHEORIE

    REAL OPTIONS 73 Nach Chris Matts und Olav Maassen Zu finden unter http://commitment-thebook.com
  50. Slide # © 2015 Gernot Starke / Michael Mahlberg • Hotelbuchungen

    • Flugtickets • Datenbank-Zugriffsschicht • Etc. BEISPIELE Photo Credit: Some rights reserved by Kevin Dooley https://www.flickr.com/photos/pagedooley/1577999575
  51. Slide # © 2015 Gernot Starke / Michael Mahlberg REAL

    OPTIONS 75 Optionen haben einen Wert Optionen laufen ab Keine frühen Festlegungen, es sei denn, man weiß warum
  52. Slide # © 2015 Gernot Starke / Michael Mahlberg FAZIT

    (1) Bewerte Probleme und Lösungsvorschläge getrennt
  53. Slide # © 2015 Gernot Starke / Michael Mahlberg FAZIT

    (4) Investiere heute um reale Optionen in der Zukunft zu haben
  54. Slide # © 2015 Gernot Starke / Michael Mahlberg Photo

    Credit: Some rights reserved by Bettina Braun soozafone https://www.flickr.com/photos/bettina-braun/277386361/
  55. Slide # © 2015 Gernot Starke / Michael Mahlberg Dr.

    Gernot Starke [email protected] http://gernotstarke.de http://innoq.com https://www.flickr.com/photos/foto_db/16000636092 Michael Mahlberg [email protected] http://michaelmahlberg.de