Software Architecture for Agile Enterprises

Software Architecture for Agile Enterprises

How Organization, Processes and Humans Can Evolve Together

Afd6dc452bc20f8f06612d4792bb8be3?s=128

Stefan Tilkov

November 28, 2019
Tweet

Transcript

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

    Tilkov, @stilkov
 stefan.tilkov@innoq.com 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
 stefan.tilkov@innoq.com
 +49 170 471 2625