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

Software Architecture for Agile Enterprises

Stefan Tilkov
November 28, 2019

Software Architecture for Agile Enterprises

How Organization, Processes and Humans Can Evolve Together

Stefan Tilkov

November 28, 2019
Tweet

More Decks by Stefan Tilkov

Other Decks in Technology

Transcript

  1. Software Architecture for Agile Enterprises Digitale Leute Summit 2019 Stefan

    Tilkov, @stilkov
 [email protected] Image by Michael Gaida from Pixabay
  2. www.innoq.com OFFICES Monheim Berlin Offenbach Munich Hamburg Zurich FACTS ~150

    employees Privately owned Vendor-independent SERVICES Strategy & technology consulting Digital business models Software architecture & development Digital platforms & infrastructures Knowledge transfer, coaching & trainings CLIENTS Finance Telecommunications Logistics E-commerce Fortune 500 SMBs Startups
  3. Modularization Autonomy End-to-end responsibility

  4. Modularization Autonomy End-to-end responsibility

  5. @stilkov Awesome Shop CMS Archive General Ledger Print Shop HR

  6. @stilkov Awesome Shop CMS Archive General Ledger Print Shop HR

    Context
  7. @stilkov Awesome Shop CMS Archive General Ledger Print Shop HR

    Invoicing Accounting Auth Catalog Checkout & Order Search
  8. @stilkov Awesome Shop CMS Archive General Ledger Print Shop HR

    Invoicing Accounting Auth Catalog Checkout & Order Search Domain Architecture
  9. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search

  10. @stilkov

  11. @stilkov Macro Architecture

  12. @stilkov Ruby on Rails MySQL Java Spring Boot OSS Product

    COTS Java Spring Boot NodeJS ElasticSearch
  13. @stilkov Ruby on Rails MySQL Java Spring Boot OSS Product

    COTS Java Spring Boot NodeJS ElasticSearch Micro Architecture
  14. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search

  15. @stilkov Coming up with the “right” system boundaries is an

    architecture activity that must be done first
  16. @stilkov Managing dependencies is the most important ongoing architecture task

  17. @stilkov You cannot decide to not have an architecture; if

    you don’t actively create it, be prepared to deal with the one that emerges
  18. number of
 developers strength of 
 decoupling methods modules components

    μservices systems
  19. From a layered system … System Logic Data UI Module

    Module Module
  20. … to a system of systems System System System Logic

    Data UI Logic Data UI Logic Data UI
  21. Pattern: Evolutionary Architecture @stilkov

  22. Modularization Autonomy End-to-end responsibility

  23. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search

  24. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search

  25. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search

  26. @stilkov Invoicing Accounting Auth Catalog Checkout & Order Search Team

    Architecture?
  27. @stilkov Conway’s Law: Organization → Architecture “Organizations which design systems

    are constrained to produce systems which are copies of the communication structures of these organizations.”
 – M.E. Conway
  28. @stilkov If your goal is to support autonomous teams, architecture

    is an essential ingredient
  29. @stilkov Size is the #1 enemy of agility. Keep your

    systems as small as you can.
  30. @stilkov Extremely loose coupling requires very few rules, but they

    need to be enforced strictly
  31. Pattern: Regulated Market @stilkov

  32. Modularization Autonomy End-to-end responsibility

  33. @stilkov Pattern: Autonomous Cells Stakeholder Stakeholder Stakeholder Biz Dev Ops

    Biz Dev Ops Biz Dev Ops
  34. @stilkov Pattern: Autonomous Cells Stakeholder Stakeholder Stakeholder Biz Dev Ops

    Biz Dev Ops Biz Dev Ops
  35. @stilkov Not every person has to become a full-stack developer,

    but every team should be a full-stack team
  36. Recommendations

  37. @stilkov 1. Time to market requires supporting architecture

  38. 2. Establish autonomous teams as key ingredient

  39. @stilkov 3. Create evolvable structures

  40. www.innoq.com innoQ Deutschland GmbH Krischerstr. 100 40789 Monheim am Rhein

    Germany +49 2173 3366-0 Ohlauer Str. 43 10999 Berlin Germany +49 2173 3366-0 Ludwigstr. 180E 63067 Offenbach Germany +49 2173 3366-0 Kreuzstr. 16 80331 München Germany +49 2173 3366-0 innoQ Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland +41 41 743 0116 Thank you! Stefan Tilkov @stilkov
 [email protected]
 +49 170 471 2625