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

How to be an Architect in an Agile World

Felix Müller
November 10, 2017

How to be an Architect in an Agile World

This talk describes the role of software architect in modern IT organisations and which typical issues you solve as an architect.

Felix Müller

November 10, 2017
Tweet

More Decks by Felix Müller

Other Decks in Technology

Transcript

  1. Wikipedia (on 6th Nov 2017) “Software architecture refers to the

    high level structures [...] creating such structures, and the documentation of these structures. [...] Each structure comprises software elements, relations among them, and properties of both elements and relations. Software architecture is about making fundamental structural choices which are costly to change once implemented.”
  2. Quality of software architecture can be measured by the degree

    it meets the NFRs of a system. (NFR = non-functional requirement)
  3. Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture Design Documentation Execution
  4. Companies where i’ve been an architect. ~150 employees in IT

    On-premise Scrum 2-5 architects >2000 employees in IT On-premise + Cloud Agile > 5 architects ~60 employees in IT On-premise + Cloud Agile 1 architect + 3 lead developers
  5. Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture Design Documentation Execution
  6. Role of Architect Depends highly on context, for sure. Quality

    of Software Architecture for your services, modules, libraries Design Documentation Execution Developer
  7. Macro Architecture Decisions for all modules http://isa-principles.org All modules are

    part of one system Should be as stable as possible Should be as minimal as possible
  8. Tech Guidelines You build it, your run it. Which tech

    stacks can be used? How to test? How to monitor? What to monitor? How to deploy? What are deployable artifacts?
  9. API Guidelines Favor REST maturity level 2 Backward compatibility over

    versioning Common data and error objects Naming rules Syntax rules for consistency https://github.com/zalando/restful-api-guidelines
  10. Tech Radar Based on idea of ThoughtWorks Tech Radar Gives

    guidance for tech stack choice More focus in the company on tech stacks which fits best for context Increase the bar to introduce new technologies https://github.com/zalando/tech-radar
  11. Team Architects 1 team architect per team Voted by each

    team Team architect is responsible for cross-team alignment and macro architecture alignment Team architects inform and consult with dedicated architects
  12. API Guild Group of developers and dedicated architects Owned and

    maintained API guidelines and API review processes Bi-weekly guild meeting to decide about important topics Consensus driven decision making
  13. TAR and Lead Developers TAR = Technical Architecture Review Group

    of lead developers, dedicated architect and if necessary others groom technical topics Owned by dedicated architect who manages projects and clarifies priorities with stakeholders TAR backlog managed by Kanban board across teams
  14. Pivio “Microservice documentation for your platform” Developers document locally in

    their repositories with YAML files YAML files are aggregated by central system Central UI and API server for retrieving data, e.g. for architectural overview http://pivio.io
  15. General Advice Lower documentation barrier for devs Shared understanding of

    what should be documented Same symbols across teams Shared understanding of diagram types across teams Deliver templates and offer support for implementing documentation guidelines
  16. Technical Compatibility Kit Automates compliance check for technical guidelines Checks

    runtime view of service, e.g. - is health check resource implemented as expected - is graceful shutdown implemented - is monitoring working TCK was integrated in each deployment pipeline
  17. Zally - API Linter Service integration happens at Zalando via

    Restful APIs (and events) API First with API review for each API draft Zally automates such reviews by validating given Swagger file with Zalando’s API guidelines https://github.com/zalando-incubator/zally