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

    View full-size slide

  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

    View full-size slide

  3. Modularization
    Autonomy
    End-to-end responsibility

    View full-size slide

  4. Modularization
    Autonomy
    End-to-end responsibility

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. @stilkov
    Macro Architecture

    View full-size slide

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

    View full-size slide

  12. @stilkov
    Ruby on Rails
    MySQL
    Java
    Spring Boot
    OSS Product
    COTS
    Java
    Spring Boot
    NodeJS
    ElasticSearch
    Micro Architecture

    View full-size slide

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

    View full-size slide

  14. @stilkov
    Coming up with the “right” system boundaries is
    an architecture activity that must be done first

    View full-size slide

  15. @stilkov
    Managing dependencies is the most important
    ongoing architecture task

    View full-size slide

  16. @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

    View full-size slide

  17. number of

    developers
    strength of 

    decoupling
    methods
    modules
    components
    μservices
    systems

    View full-size slide

  18. From a layered system …
    System
    Logic
    Data
    UI
    Module
    Module
    Module

    View full-size slide

  19. … to a system of systems
    System System System
    Logic
    Data
    UI
    Logic
    Data
    UI
    Logic
    Data
    UI

    View full-size slide

  20. Pattern: Evolutionary Architecture
    @stilkov

    View full-size slide

  21. Modularization
    Autonomy
    End-to-end responsibility

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  26. @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

    View full-size slide

  27. @stilkov
    If your goal is to support autonomous teams,
    architecture is an essential ingredient

    View full-size slide

  28. @stilkov
    Size is the #1 enemy of agility. Keep your systems
    as small as you can.

    View full-size slide

  29. @stilkov
    Extremely loose coupling requires very few
    rules, but they need to be enforced strictly

    View full-size slide

  30. Pattern: Regulated Market
    @stilkov

    View full-size slide

  31. Modularization
    Autonomy
    End-to-end responsibility

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  34. @stilkov
    Not every person has to become a
    full-stack developer, but every team
    should be a full-stack team

    View full-size slide

  35. Recommendations

    View full-size slide

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

    View full-size slide

  37. 2.
    Establish autonomous
    teams as key ingredient

    View full-size slide

  38. @stilkov
    3.
    Create evolvable
    structures

    View full-size slide

  39. 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

    View full-size slide