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

[DEVOXX UK 2021] Architecture Katas : Improve your system architecture design skills in a funny way !

[DEVOXX UK 2021] Architecture Katas : Improve your system architecture design skills in a funny way !

Do you know that one of the most important pitfall in software design is lack of experience?
Ted Newards also noticed this by asking this question: "How are we supposed to get great architects, if they only get the chance to architect fewer than a half-dozen times in their career?"
Fortunately, he proposed a way to get better in this field: the architecture katas. it's a kind of coding dojos for software designers. I implemented it in my company and I would like to give you a feedback and expose the obtained benefits.

Alexandre Touret

November 01, 2021
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. #ArchitectureKatas @touret_alex
    Architecture Katas:
    Improve your system architecture design skills in a funny way !
    Alexandre Touret
    @touret_alex
    blog.touret.info
    www.worldline.com

    View Slide

  2. #ArchitectureKatas @touret_alex
    Architecture Katas:
    Improve your system architecture design skills in a funny way !
    Alexandre Touret
    Architect / Developer
    #Java #API #CI #Cloud #Software_Craftsmanship

    View Slide

  3. #ArchitectureKatas @touret_alex
    A DEVELOPER STORY
    Spoiler Alert: everything is going to be OK

    View Slide

  4. #ArchitectureKatas @touret_alex

    View Slide

  5. #ArchitectureKatas @touret_alex

    View Slide

  6. #ArchitectureKatas @touret_alex
    “All architecture is design but not all design is architecture. Architecture
    represents the significant design decisions that shape a system, where
    significant is measured by cost of change. “
    Grady Booch

    View Slide

  7. #ArchitectureKatas @touret_alex

    View Slide

  8. #ArchitectureKatas @touret_alex

    View Slide

  9. #ArchitectureKatas @touret_alex
    “So how are we supposed to get great architects, if they only get
    the chance to architect fewer than a half-dozen times in their
    career?”
    Ted Neward

    View Slide

  10. #ArchitectureKatas @touret_alex
    KATAS

    View Slide

  11. #ArchitectureKatas @touret_alex
    “Kata originally were teaching and training methods by which successful
    combat techniques were preserved and passed on. Practising kata
    allowed a company of persons to engage in a struggle using a
    systematic approaches, rather by practising in a repetitive manner the
    learner develops the ability to execute those techniques and movements
    in a natural, reflex-like manner. […]”

    View Slide

  12. #ArchitectureKatas @touret_alex
    ARCHITECTURE KATAS

    View Slide

  13. #ArchitectureKatas @touret_alex
    Stage #1 : Warm-up (5mn)
    • Build teams mixing different profiles
    • No need of any computer!
    • Paper sheets and pens are enough
    • Try to find a suitable syntax and formalism

    View Slide

  14. #ArchitectureKatas @touret_alex
    Stage# 2: Design (1H)
    • All the teams get the subject
    • We could ask any question we want to the moderator
    • Teams could take any assumption (if it’s relevant)
    • We could use any technology we want

    View Slide

  15. #ArchitectureKatas @touret_alex
    An exemple: Poorest roads
    Public administration has been struggling identifying poorest roads to refurbish.
    With the help of new car connectivity features, they would like to get circulation traffic
    dynamic dashboards.
    These one could help them determining which road worths to be revamped.
    […]
    Key figure: 1 transaction per second per car

    View Slide

  16. #ArchitectureKatas @touret_alex
    Stage #3 : Peer Review (5mn/team)
    You now have to present your design, how you respond to it…
    … and explain your solution to the other teams

    View Slide

  17. #ArchitectureKatas @touret_alex

    View Slide

  18. #ArchitectureKatas @touret_alex
    @ Worldline
    • We started some initiatives setting up katas as a regular meeting (before the COVID19
    crisis)
    • We started online sessions using Zoom
    • We contextualized and complexified step by step the addressed subjects

    View Slide

  19. #ArchitectureKatas @touret_alex
    Benefits
    • Working in a new team on a new subject
    • Identifying and dealing with requirements
    • Communicating and persuading
    • Understand other ways of thinking
    • Getting better thanks to colleague's experience

    View Slide

  20. #ArchitectureKatas @touret_alex
    Our wishes
    • Using these brainstorming sessions for our next application designs
    • Integrating Architecture Katas into software architecture training sessions

    View Slide

  21. #ArchitectureKatas @touret_alex
    Going further
    • http://nealford.com/katas/list.html
    • https://archkatas.herokuapp.com
    • https://blog.worldline.tech/2019/12/12/architecture-katas.html
    • https://www.thoughtworks.com/books/fundamentals-of-software-architecture

    View Slide

  22. #ArchitectureKatas @touret_alex
    “By dint of building well, you get to be a good architect”
    Aristotle

    View Slide

  23. #ArchitectureKatas @touret_alex

    View Slide