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

[DEVOXX UK 2021] Architecture Katas : Improve y...

[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
  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
  3. #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
  4. #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
  5. #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. […]”
  6. #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
  7. #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
  8. #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
  9. #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
  10. #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
  11. #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
  12. #ArchitectureKatas @touret_alex Our wishes • Using these brainstorming sessions for

    our next application designs • Integrating Architecture Katas into software architecture training sessions