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

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 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. @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
  5. @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
  6. @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
  7. @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
  8. @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
  9. @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
  10. @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
  11. @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
  12. @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
  13. @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
  14. @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
  15. @worldlinexpert / @touret_alex #Devoxx #ArchitectureKatas Architecture Katas: Improve your system

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