SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
code-quality.de
 @FrankS
Architecture Katas
How can we learn to create better architectures?
PHP Usergroup, Berlin
Moin!
Frank SonsFrank Sons  FrankS FrankS
http://code-quality.dehttp://code-quality.de
code-quality.de
 @FrankS
I like usergroups!
code-quality.de
 @FrankS
What is software architecture?
„The software architecture
are those decisions
that are hard to change.“
„The software architecture
are those decisions
that are hard to change.“
Martin Fowler
code-quality.de
 @FrankS
How about agile and planning?
„Weeks of coding can save you hours of planning!“„Weeks of coding can save you hours of planning!“
code-quality.de
 @FrankS
Experience helps!
„How do we get great designers?
Great designers design, of course.“
„How do we get great designers?
Great designers design, of course.“
Fred Brooks
code-quality.de
 @FrankS
You can learn a lot by doing mistakes
code-quality.de
 @FrankS
Plan to throw one away (on a whiteboard..)
code-quality.de
 @FrankS
How often are you doing that in your career?
„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?“
„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
code-quality.de
 @FrankS
You need to practice more often!
code-quality.de
 @FrankS
Idea of an architecture kata
Manageable size and timeManageable size and time
Safe place to make mistakesSafe place to make mistakes
Discuss your learnings in a groupDiscuss your learnings in a group
code-quality.de
 @FrankS
Workshop - steps
FeedbackPreparation Discussion &
planning
Review
code-quality.de
 @FrankS
The „rules“:
● You may ask the moderator questions about the project
● You must be prepared to present a rough architectural vision
● You may make assumptions about technlogies you don‘t know
● You may not assume hiring/firing authority for the developers
● You can use any technology you want
● You may ask about any other rules
code-quality.de
 @FrankS
Let‘s see an example...
We‘re taking requests...
code-quality.de
 @FrankS
Want to know more?
code-quality.de
 @FrankS
Links
● http://blogs.tedneward.com/post/architectural-katas/
● http://nealford.com/katas/index.html
● https://archkatas.herokuapp.com/

Contenu connexe

Tendances

Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Derk-Jan de Grood
 
Passionate Programmer
Passionate ProgrammerPassionate Programmer
Passionate Programmer
MagmaConf
 

Tendances (19)

Things senior developers should know
Things senior developers should knowThings senior developers should know
Things senior developers should know
 
What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk What is a Full stack developer? - Tech talk
What is a Full stack developer? - Tech talk
 
Beyond Full Stack Engineering
Beyond Full Stack EngineeringBeyond Full Stack Engineering
Beyond Full Stack Engineering
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not Subjective
 
Design 101
Design 101Design 101
Design 101
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
 
How we use tools to help our startup clients
How we use tools to help our startup clientsHow we use tools to help our startup clients
How we use tools to help our startup clients
 
Architecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and SkillsArchitecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and Skills
 
Uncertainty in IT project - SCRUM rules
Uncertainty in IT project - SCRUM rulesUncertainty in IT project - SCRUM rules
Uncertainty in IT project - SCRUM rules
 
2019 AFITC Fantastic outcomes and how to measure them by Cheryl Hammond
2019 AFITC Fantastic outcomes and how to measure them by Cheryl Hammond2019 AFITC Fantastic outcomes and how to measure them by Cheryl Hammond
2019 AFITC Fantastic outcomes and how to measure them by Cheryl Hammond
 
LSL Conference - Tom Ravenscroft
LSL Conference - Tom RavenscroftLSL Conference - Tom Ravenscroft
LSL Conference - Tom Ravenscroft
 
Diagram Mistakes in Presentation Slide Design
Diagram Mistakes in Presentation Slide DesignDiagram Mistakes in Presentation Slide Design
Diagram Mistakes in Presentation Slide Design
 
MagmaRails - Passionate Programmer
MagmaRails - Passionate ProgrammerMagmaRails - Passionate Programmer
MagmaRails - Passionate Programmer
 
Agile manifesto 17 authors - who made it? what do they do?
Agile manifesto 17 authors - who made it? what do they do?Agile manifesto 17 authors - who made it? what do they do?
Agile manifesto 17 authors - who made it? what do they do?
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your head
 
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
Survival techniques for Testers-BEYOND THE T-SHAPED TESTER
 
Competing with an API giant, lessons learned: OpenCage vs. Google
Competing with an API giant, lessons learned: OpenCage vs. GoogleCompeting with an API giant, lessons learned: OpenCage vs. Google
Competing with an API giant, lessons learned: OpenCage vs. Google
 
Passionate Programmer
Passionate ProgrammerPassionate Programmer
Passionate Programmer
 

Similaire à Architecture Katas - How can we learn to create better architectures?

Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application grows
Carolina Karklis
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
Chad Udell
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
Henry Jacob
 

Similaire à Architecture Katas - How can we learn to create better architectures? (20)

"Technical" UX Design
"Technical" UX Design"Technical" UX Design
"Technical" UX Design
 
Become a better UX designer through code
Become a better UX designer through codeBecome a better UX designer through code
Become a better UX designer through code
 
Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application grows
 
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
 
API Workshop: Deep dive into code samples
API Workshop: Deep dive into code samplesAPI Workshop: Deep dive into code samples
API Workshop: Deep dive into code samples
 
Mob Programming for Continuous Learning
Mob Programming for Continuous LearningMob Programming for Continuous Learning
Mob Programming for Continuous Learning
 
McrFRED talk 25/09/2014
McrFRED talk 25/09/2014McrFRED talk 25/09/2014
McrFRED talk 25/09/2014
 
Wanna Be An Architect?
Wanna Be An  Architect?Wanna Be An  Architect?
Wanna Be An Architect?
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
How to do b tech be projects or any academic projects
How to do b tech be projects or any academic projectsHow to do b tech be projects or any academic projects
How to do b tech be projects or any academic projects
 
ALTNET
ALTNETALTNET
ALTNET
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)
 
Wireframes & More
Wireframes & MoreWireframes & More
Wireframes & More
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
How to fail at code reviews in 5 lessons
How to fail at code reviews in 5 lessonsHow to fail at code reviews in 5 lessons
How to fail at code reviews in 5 lessons
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The Architect
 

Plus de Frank Sons

PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12
Frank Sons
 
Jahresrückblick 2012 PHP Usergroup Hamburg
Jahresrückblick 2012 PHP Usergroup HamburgJahresrückblick 2012 PHP Usergroup Hamburg
Jahresrückblick 2012 PHP Usergroup Hamburg
Frank Sons
 

Plus de Frank Sons (20)

An Introduction to pair programming methods
An Introduction to pair programming methodsAn Introduction to pair programming methods
An Introduction to pair programming methods
 
Pair programming
Pair programmingPair programming
Pair programming
 
Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)Effective Code Reviews (IPC 2018)
Effective Code Reviews (IPC 2018)
 
Architektur Kata - Workshop Solutions
Architektur Kata - Workshop SolutionsArchitektur Kata - Workshop Solutions
Architektur Kata - Workshop Solutions
 
Effektive Code Reviews Solutions
Effektive Code Reviews SolutionsEffektive Code Reviews Solutions
Effektive Code Reviews Solutions
 
"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.de"Effektive Code Reviews" - Abendvortrag bei oose.de
"Effektive Code Reviews" - Abendvortrag bei oose.de
 
Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015Code Qualität in agilen Teams - code.talks Hamburg 2015
Code Qualität in agilen Teams - code.talks Hamburg 2015
 
Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015Imposter Syndrom - Lightning talk PHP Unconference 2015
Imposter Syndrom - Lightning talk PHP Unconference 2015
 
Code Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgCode Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup Hamburg
 
Code Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag HamburgCode Qualität in agilen Teams - Webmontag Hamburg
Code Qualität in agilen Teams - Webmontag Hamburg
 
Das Hochstapler Syndrom
Das Hochstapler SyndromDas Hochstapler Syndrom
Das Hochstapler Syndrom
 
Code reviews
Code reviewsCode reviews
Code reviews
 
Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.Was bringen Code Reviews wirklich? Wir sind doch schon agil.
Was bringen Code Reviews wirklich? Wir sind doch schon agil.
 
Code Review
Code ReviewCode Review
Code Review
 
Presenting to win - how I changed some old slides
Presenting to win - how I changed some old slidesPresenting to win - how I changed some old slides
Presenting to win - how I changed some old slides
 
Selbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum ExtroSelbstmotivation - vom Intro zum Extro
Selbstmotivation - vom Intro zum Extro
 
Code Reviews - developer conference 2013
Code Reviews - developer conference 2013Code Reviews - developer conference 2013
Code Reviews - developer conference 2013
 
Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013
 
PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12PHP Usergroup 2013/03/12
PHP Usergroup 2013/03/12
 
Jahresrückblick 2012 PHP Usergroup Hamburg
Jahresrückblick 2012 PHP Usergroup HamburgJahresrückblick 2012 PHP Usergroup Hamburg
Jahresrückblick 2012 PHP Usergroup Hamburg
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 
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
 

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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...
 
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
 
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
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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 ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Architecture Katas - How can we learn to create better architectures?