SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
SOFTWARE ARCHITECTURE
MEETUP
JANUARY 2019
Architectural Katas
Muhammad Ali
SOFTWARE ARCHITECT
VENTUREDIVE
& Asad Rasheed
SOFTWARE ARCHITECT
NISUM
Architectural Katas
“How do we get great designers? Great designers design, of course.”
Fred Brooks
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
Architectural Katas
• Kata is a detailed choreographed pattern of movement made to be
practice alone or in groups.
• Architects needs chance to practice, similar to how programmer
needs chance to practice
• Architectural Katas are architectural problems that needs to be run in
a group of 2-3 people.
• There are usually 4-10 groups
• Katas are generally run by a moderator
Preparation
• Co-workers may not be in a group together
• Make sure you’re sitting a little distance from any other project team
• None of you will really need a laptop
• Precure supplies
• Notepads
• Pen/Pencil
• Whiteboard (if available)
Discussion Phase
• Your project team should spend ‘X’ minutes(fixed by moderator)
examining requirements
• You may ask questions to moderator about the project
• Any technology is a fair game
• You can take assumptions w.r.t technology but make them explicit
• You may not assume you have hiring/firing authority over the
development team.
Peer Review Phase
• Present your solution to the rest of group(teams)
• Answer questions asked from others
• Ask questions to the team presenting their architecture
Voting Phase
• Thumbs up
• Thumbs "meh" (out to the side)
• Thumbs down
• You can find more about katas here https://archkatas.herokuapp.com
• Most of the phases and rules are pretty much standard, taken from
Neal Ford & Ted Nowards site.
Architectural Katas
Expected output
• Entities
• Value Objects
• Aggregates
• Bounded Contexts
• Event Storming Diagrams
• End to end high level architecture diagram
Questions?

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
Architecture for Flow w/ Wardley Mapping, Domain-Driven Design, and Team Topo...
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Java Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM GarageJava Application Modernization Patterns and Stories from the IBM Garage
Java Application Modernization Patterns and Stories from the IBM Garage
 
Agile IT Operatinos - Getting to Daily Releases
Agile IT Operatinos - Getting to Daily ReleasesAgile IT Operatinos - Getting to Daily Releases
Agile IT Operatinos - Getting to Daily Releases
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Deploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsDeploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOps
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
 
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...
 
Devops Maturity Assessment Model - Ágiles 2019
Devops Maturity Assessment Model - Ágiles 2019Devops Maturity Assessment Model - Ágiles 2019
Devops Maturity Assessment Model - Ágiles 2019
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Agile scrum brown bag
Agile scrum brown bagAgile scrum brown bag
Agile scrum brown bag
 
Driving your BA Career: From Business Analyst to Business Architect
Driving your BA Career: From Business Analyst to Business ArchitectDriving your BA Career: From Business Analyst to Business Architect
Driving your BA Career: From Business Analyst to Business Architect
 
Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 

Semelhante a Architectural katas

The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT Architecture
Christopher Grant
 

Semelhante a Architectural katas (20)

Introduction to Architectural Katas
Introduction to Architectural KatasIntroduction to Architectural Katas
Introduction to Architectural Katas
 
The role of the architect in agile
The role of the architect in agileThe role of the architect in agile
The role of the architect in agile
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
Getting Started with Architecture Decision Records
Getting Started with Architecture Decision RecordsGetting Started with Architecture Decision Records
Getting Started with Architecture Decision Records
 
Code reviews: a short introduction
Code reviews: a short introductionCode reviews: a short introduction
Code reviews: a short introduction
 
Stop punching yourself in the face!
Stop punching yourself in the face!Stop punching yourself in the face!
Stop punching yourself in the face!
 
Architecture kata game
Architecture kata gameArchitecture kata game
Architecture kata game
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 
The Fundamentals of Continuous Software Design
The Fundamentals of Continuous Software DesignThe Fundamentals of Continuous Software Design
The Fundamentals of Continuous Software Design
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?Architecture Katas - How can we learn to create better architectures?
Architecture Katas - How can we learn to create better architectures?
 
4 roles on the it project team
4 roles on the it project team4 roles on the it project team
4 roles on the it project team
 
The Profession Of IT Architecture
The Profession Of IT ArchitectureThe Profession Of IT Architecture
The Profession Of IT Architecture
 
Designer collaboration (from Cambridge Usability Group Unconference 2019)
Designer collaboration (from Cambridge Usability Group Unconference 2019)Designer collaboration (from Cambridge Usability Group Unconference 2019)
Designer collaboration (from Cambridge Usability Group Unconference 2019)
 
Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management Improve your library: Using the 5 Phases of Project Management
Improve your library: Using the 5 Phases of Project Management
 
Domain Driven Design - Distillation - Chapter 15
Domain Driven Design - Distillation - Chapter 15Domain Driven Design - Distillation - Chapter 15
Domain Driven Design - Distillation - Chapter 15
 
Extreme Programming (XP): Revisted
Extreme Programming (XP): RevistedExtreme Programming (XP): Revisted
Extreme Programming (XP): Revisted
 
Keeping up your technical skills as a manager
Keeping up your technical skills as a managerKeeping up your technical skills as a manager
Keeping up your technical skills as a manager
 

Mais de Muhammad Ali

Mais de Muhammad Ali (8)

Communication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & FutureCommunication Mechanisms, Past, Present & Future
Communication Mechanisms, Past, Present & Future
 
WebRTC Introduction & Basics
WebRTC Introduction & BasicsWebRTC Introduction & Basics
WebRTC Introduction & Basics
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
DBMS Modeling & Optimization
DBMS Modeling & OptimizationDBMS Modeling & Optimization
DBMS Modeling & Optimization
 
Android architectural components
Android architectural componentsAndroid architectural components
Android architectural components
 
Software Architecture Meetup introduction
Software Architecture Meetup introductionSoftware Architecture Meetup introduction
Software Architecture Meetup introduction
 
Practicing DDD & CQRS
Practicing DDD & CQRSPracticing DDD & CQRS
Practicing DDD & CQRS
 
Introduction to Domain driven design
Introduction to Domain driven designIntroduction to Domain driven design
Introduction to Domain driven design
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Architectural katas

  • 2. Architectural Katas Muhammad Ali SOFTWARE ARCHITECT VENTUREDIVE & Asad Rasheed SOFTWARE ARCHITECT NISUM
  • 3. Architectural Katas “How do we get great designers? Great designers design, of course.” Fred Brooks 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
  • 4. Architectural Katas • Kata is a detailed choreographed pattern of movement made to be practice alone or in groups. • Architects needs chance to practice, similar to how programmer needs chance to practice • Architectural Katas are architectural problems that needs to be run in a group of 2-3 people. • There are usually 4-10 groups • Katas are generally run by a moderator
  • 5. Preparation • Co-workers may not be in a group together • Make sure you’re sitting a little distance from any other project team • None of you will really need a laptop • Precure supplies • Notepads • Pen/Pencil • Whiteboard (if available)
  • 6. Discussion Phase • Your project team should spend ‘X’ minutes(fixed by moderator) examining requirements • You may ask questions to moderator about the project • Any technology is a fair game • You can take assumptions w.r.t technology but make them explicit • You may not assume you have hiring/firing authority over the development team.
  • 7. Peer Review Phase • Present your solution to the rest of group(teams) • Answer questions asked from others • Ask questions to the team presenting their architecture
  • 8. Voting Phase • Thumbs up • Thumbs "meh" (out to the side) • Thumbs down
  • 9. • You can find more about katas here https://archkatas.herokuapp.com • Most of the phases and rules are pretty much standard, taken from Neal Ford & Ted Nowards site. Architectural Katas
  • 10. Expected output • Entities • Value Objects • Aggregates • Bounded Contexts • Event Storming Diagrams • End to end high level architecture diagram