$30 off During Our Annual Pro Sale. View Details »

Architecture Katas: Improve your system architecture design skills in a fun way !

Architecture Katas: Improve your system architecture design skills in a fun way !

How to learn architecture ? How to improve in this field ? How do we recognize a good or a bad architecture ?

There are plenty of books and training sessions about this subject. The best thing is to practice!

In the same way as coding dojos, I will present to you architecture katas. There are created by Ted Neward (http://blogs.tedneward.com/). His idea came from the following observation :

"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?"

One solution to this issue could be to practice regularly on several topics to gain experience.

After a brief introduction of how to start designing an architecture, I will present architecture katas, and the conduct.

To conclude, after this first try I will present the benefits I had benefited.

Alexandre Touret

October 12, 2022
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Architecture Katas: Improve your system

    architecture design skills in a fun way ! Alexandre Touret Worldline
  2. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Alexandre Touret Architect / Developer

    #Java #API #CI #Cloud #Software_Craftsmanship https://blog.touret.info
  3. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas A Developer Story

  4. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas

  5. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas

  6. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas 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
  7. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas

  8. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas

  9. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas

  10. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas 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
  11. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Architecture Katas Coding dojos for

    architects
  12. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Stage #1 : Warm-up (5mn)

    • Build teams mixing different profiles • No computer needed! • Try to find suitable syntax and formalism
  13. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas C4 Model

  14. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas User My wonderful system Enables

    magic API Management Identifies/authorizes customers requests Calls API endpoint External System User Call / Usage System Internal System Chart legend: FILE GATEWAY Sends files Fetchs files regularly S3 STORAGE Stores files
  15. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas External System User Call /

    Usage System Internal System Chart legend: User My API GATEWAY API Proxy Runtime:[Api Gateway] Mediation to back end OAUTHv2 Provider Runtime:[Api Gateway] Identifies and authorizes (1) API Call [JSON/HTTPS] My Wonderful System My App Runtime:[K8S,Docker,Spring Boot,JAVA11] (2) API Call [JSON/HTTPS] (3) Queries and stores datas [mongodb] Kubernetes MongoDB Replicaset Primary Secondary Arbiter
  16. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Stage# 2: Design (1H) •

    All the teams get the subject • Teams can ask any questions • Teams can make any assumptions (if it’s relevant) • Teams can use any technology they want
  17. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas 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 should be revamped. Key figure: 1 transaction per second per car
  18. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Tips & Tricks • Clarify

    the functional requirements (Why setting a new application up ?) • Point out technical requirements and key figures • Zoom on your design step by step
  19. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas ccepts files from truste customers

    person system e ternal person e ternal system
  20. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas n ular ava prin oot

    person system e ternal person e ternal system Assumption: We on’t deal with Mobile phone dead zones
  21. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Stage #3 : Peer Review

    (5mn/team) • You now have to present your design • … an e plain it to the other teams
  22. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas How to evaluate a design?

  23. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Three characteristics Simplicity Evolutivity Fits

    to the context
  24. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas At 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 subjects
  25. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Benefits • Working in a

    new team on a new subject • Identifying and adapting to requirements • Communicating and persuading • Gaining insight • Understanding other ways of thinking • Getting better thanks to colleague's experience
  26. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Going further

  27. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas By dint of building well,

    you get to be a good architect Aristotle
  28. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Thanks for your feedback!

  29. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Architecture Katas: Improve your system

    architecture design skills in a fun way ! Alexandre Touret Worldline Thanks !