SlideShare a Scribd company logo
1 of 50
Agile architecture & programming Agile Mëtteg – 20 May 2010
OBJECTIVES Understand the implications of agile development on architecture, design and coding practices Explain some misbelieves about software architecture and agility 20 May 2010 2 Agile Mëtteg – Agile architecture
AGILE PARTNER SERVICES Custom Software Development & Maintenance Our core business to answer customer needs IS services Thanks to our expertise we can support IT team to reach their productivity & quality objectives (Assessment, Coaching, Support, Training, Resource delegation…) IS Solutions Take benefit from commercial or Open Source platform to answer as quick as possible to specific needs IS users services We can support Product & Services owners to work closely with the IT team (Assessment, Coaching, Support, Training, Resource delegation…) 20 May 2010 Agile Mëtteg - Agile architecture 3 IS users Services 1 4 Software Development & SoftwareMaintenance 2 ISSolutions IS Services Agility Agility 3 1 2 3 4 Agility
WHO’S WHO Who are we ? Whatisourrole in ourorganization ? What are our expectations fromthisseminar ? 20 May 2010 Agile Mëtteg - Agile architecture 4
AGENDA Agenda Can Enterprise Architecture be Agile ? Misbelieves about architecture and agility Why Up Front Design doesn’t always work ? Emerging architectures and evolutionary design Coding practices So is Design dead ? 20 May 2010 Agile Mëtteg - Agile architecture 5
ARCHITECTURE ? WHICH ONE ? Architecture: very contextual activity Enterprisearchitecture Software architecture Technical architecture Etc. 20 May 2010 Agile Mëtteg - Agile architecture 6
Can Enterprise Architecture be Agile ? 20 May 2010 Agile Mëtteg - Agile architecture 7
CAN EA BE AGILE ? Enterprise architecture: Vision, principles, standards, roadmap Enterprise architecture frameworks: TOGAF 9, Zachman framework, … Define extensively structure and models Use them as guides, not as rules Beware of over-documentation 20 May 2010 Agile Mëtteg - Agile architecture 8
CAN EA BE AGILE ? 20 May 2010 Agile Mëtteg - Agile architecture 9 Example: Zachman framework
CAN EA BE AGILE ? Example: Zachman framework 20 May 2010 Agile Mëtteg - Agile architecture 10 EA Armory ;) Choose one or two weapon(s) Use Agile modeling (JIT Modeling) Helps to structure Leave no stone unturned DO NOT TRY AND IMPLEMENT EVERYTHING!!!!
Misbelieves about SOFTWARE architecture and agility 20 May 2010 Agile Mëtteg - Agile architecture 11
MISBELIEVES ON ARCHITECTURE You have to know precisely what to build before you can start building it. Building software is like construction building 20 May 2010 Agile Mëtteg - Agile architecture 12
MISBELIEVES ON AGILITY No architecture Code and fix nightmare Cowboy coding Onlyworks forsmallprojects 20 May 2010 Agile Mëtteg - Agile architecture 13
Why up front design doesn’talwayswork ? 20 May 2010 Agile Mëtteg - Agile architecture 14
Traditional / Waterfallapproach Design isdoneup front BigDesign Up Front = BDUF WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 15
IS THAT THE RIGHT APPROACH ? “In preparing for battle I have always found that plans are useless, but planningis indispensable.”  [D.Eisenhower] 20 May 2010 Agile Mëtteg - Agile architecture 16
WHAT DO AGILISTS SAY ? “Design is there to enable you to keep changing the software easily in the long term.”  [Kent Beck] Source : http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx 20 May 2010 Agile Mëtteg - Agile architecture 17
WHAT DO AGILISTS SAY ? “eXtreme Programming recognizes the importance of design decisions, but it strongly resists upfront design. Instead, it puts and admirable effort into communication and improving the projects ability to changecourse rapidly”  [Eric Evans, DDD] 20 May 2010 Agile Mëtteg - Agile architecture 18
BDUF NOT ALWAYS WORKING ? You cannot foresee the future Requirements change Architecture documents are not carved in stone 20 May 2010 Agile Mëtteg - Agile architecture 19
BDUF NOT ALWAYS WORKING ? The « Architect » in hisIvoryTower Architects far from teams Developers kept out of architecture definition Frustrated teams ignore / bypass the model 20 May 2010 Agile Mëtteg - Agile architecture 20
BDUF NOT ALWAYS WORKING ? 20 May 2010 Agile Mëtteg - Agile architecture 21 Everheard about over design ?
OVER DESIGN CONSEQUENCES Lack of  Flexibility Adaptability Extensibility 20 May 2010 Agile Mëtteg - Agile architecture 22 Effect on Cost ROI Time to market
Emerging architectures and evolutionary design 20 May 2010 Agile Mëtteg - Agile architecture 23
Waterfallapproach Design isdoneup front WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 24
Agile approach Design ispart of the developmentprocess WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 25 Iteration 1 Iteration 2 Iteration n No specificorder
20 May 2010 Agile Mëtteg - Agile architecture 26 How would you eat this cake ? LAYERED CAKE
ARCHITECTURE LAYERED CAKE Iteration n 20 May 2010 Agile Mëtteg - Agile architecture 27 Iteration 3 Iteration 2 Iteration 1
ABOUT EMERGENCE Tobias Mayer Emergence results from an empirical approach. It implies that all solutions to all problems will become clear as we work.  They will not become clear if we simply talk about them. Big Up Front Design might result in Big Wrong Design or at best Big Working But Totally Inflexible Design. When we allow solutions to emerge it is always the simplest and the most appropriate solution for the current context that rises to the surface.  Emergence coupled with Empiricism will lead us to the most appropriate and the most flexible (i.e. changeable) solution. 20 May 2010 Agile Mëtteg - Agile architecture 28
ABOUT EMERGENCE Tobias Mayer Emergence results from an empirical approach. It implies that all solutions to all problems will become clear as we work.  They will not become clear if we simply talk about them. Big Up Front Design might result in Big Wrong Design or at best Big Working But Totally Inflexible Design. When we allow solutions to emerge it is always the simplest and the most appropriate solution for the current context that rises to the surface.  Emergence coupled with Empiricism will lead us to the most appropriate and the most flexible (i.e. changeable) solution. 20 May 2010 Agile Mëtteg - Agile architecture 29
HOW DOES IT START ? It all startedwith a vision Initial architecture envisionning 20 May 2010 Agile Mëtteg - Agile architecture 30
AGILE MODELING 20 May 2010 Agile Mëtteg - Agile architecture 31 JIT modeling / design Coding practices Envisioning Source : http://www.agilemodeling.com/essays/initialArchitectureModeling.htm
DESIGN DURING DEVELOPMENT eXtremeProgramming Iteration 0 "The first iteration must be a functioning skeleton of the system as a whole.“ [Kent Beck] System metaphor Followingiterations Spike solution Proof of concept 20 May 2010 Agile Mëtteg - Agile architecture 32
DESIGN DURING DEVELOPMENT Domain Driven Design (Eric Evans) Just in time modeling Ubiquitouslanguage (cf System Metaphor) 20 May 2010 Agile Mëtteg - Agile architecture 33
VALUES OF AGILE ARCHITECTURE  20 May 2010 Agile Mëtteg - Agile architecture 34
Coding practices 20 May 2010 Agile Mëtteg - Agile architecture 35
PRACTICES Test DrivenDevelopment BehaviorDrivenDevelopment Refactoring Continuousintegration 20 May 2010 Agile Mëtteg - Agile architecture 36
TEST DRIVEN DEVELOPMENT (TDD) Makeit breakwrite the test first Makeitpasswrite the simplestimplementation Makeit right refactorwithoutchanging the behavior 20 May 2010 Agile Mëtteg - Agile architecture 37
TDD EXAMPLE FizzBuzz Kata Multiple of 3  Fizz Multiple of 7  Buzz Multiple of 3 and 7  FizzBuzz 20 May 2010 Agile Mëtteg - Agile architecture 38 Source : http://www.viddler.com/explore/Lostechies/videos/1/
BEHAVIOR DRIVEN DEVELOPMENT 20 May 2010 Agile Mëtteg - Agile architecture 39 User stories
BDD : EXECUTABLE SPECIFICATIONS Scenario : Accountis in credit 20 May 2010 Agile Mëtteg - Agile architecture 40
REFACTORING Refactoring  Change “How” not “What” Pay your technical debt Use of patterns Refactor towards patterns only when needed Leverage ubiquitous language 20 May 2010 Agile Mëtteg - Agile architecture 41
CONTINUOUS INTEGRATION Your product builds at any time Run the tests often Ease deployment 20 May 2010 Agile Mëtteg - Agile architecture 42
So is design dead ? 20 May 2010 Agile Mëtteg - Agile architecture 43
SO IS DESIGN DEAD ? “Not by any means, but the nature of design has changed.” [Martin Fowler] Keep code as clean and simple as possible. Refactorto confidently make improvements. Use design patterns when needed. Communicate the design using code, diagrams and above all conversation. 20 May 2010 Agile Mëtteg - Agile architecture 44
EMPHASIZED COMMUNICATION 20 May 2010 Agile Mëtteg - Agile architecture 45
AGILE ARCHITECTURE MANIFESTO ? Business focus Emergence Simplicity Extensibility 20 May 2010 Agile Mëtteg - Agile architecture 46 Technical perfection Up front design Excessive design Omnipotence
QUESTIONS 47 Agile Mëtteg - Agile architecture 20 May 2010
NEXT TRAININGS & CERTIFICATIONS 20 May 2010 Agile Mëtteg - Agile architecture 48 Complete calendar on: http://www.agilepartner.net/training/training_calendar.html
RESOURCES Agile Partner: www.agilepartner.net Agile Interest Group Luxembourg:www.aiglu.org Agile Alliance: www.agilealliance.org Scrum alliance: www.scrumalliance.org Scrum.org 20 May 2010 Agile Mëtteg - Agile architecture 49
CONTACTS Thank You 20 May 2010 Agile Mëtteg - Agile architecture 50

More Related Content

What's hot

What's hot (10)

Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
 
introdução a pretotyping fazer a coisa certa mais do que fazer certo a coisa
introdução a pretotyping  fazer a coisa certa mais do que fazer certo a coisaintrodução a pretotyping  fazer a coisa certa mais do que fazer certo a coisa
introdução a pretotyping fazer a coisa certa mais do que fazer certo a coisa
 
Agile Mëtteg series session 7
Agile Mëtteg series session 7Agile Mëtteg series session 7
Agile Mëtteg series session 7
 
Agile and Organizational Learning
Agile and Organizational LearningAgile and Organizational Learning
Agile and Organizational Learning
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground up
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Product owner Roles and responsibilities in Agile Scrum Methodologies
Product owner Roles and responsibilities in Agile Scrum MethodologiesProduct owner Roles and responsibilities in Agile Scrum Methodologies
Product owner Roles and responsibilities in Agile Scrum Methodologies
 
The revolution will be collaborative
The revolution will be collaborativeThe revolution will be collaborative
The revolution will be collaborative
 
The layperson's guide to software architecture
The layperson's guide to software architectureThe layperson's guide to software architecture
The layperson's guide to software architecture
 
The Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PMThe Role and Challenges of a PM in a New Industry by Elliptic PM
The Role and Challenges of a PM in a New Industry by Elliptic PM
 

Similar to Agile Mëtteg series - Session 3

BitDegree Island
BitDegree IslandBitDegree Island
BitDegree Island
Yu-kai Chou
 
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
Espedito Passarello
 

Similar to Agile Mëtteg series - Session 3 (20)

Lean & Agile ♥ UX Design
Lean & Agile ♥ UX DesignLean & Agile ♥ UX Design
Lean & Agile ♥ UX Design
 
Agile Architecture
Agile Architecture Agile Architecture
Agile Architecture
 
BitDegree Public
BitDegree PublicBitDegree Public
BitDegree Public
 
BitDegree Island
BitDegree IslandBitDegree Island
BitDegree Island
 
Sharepoint 2013 - pratcical architecture from the field - Tihomir Ignatov
Sharepoint 2013 - pratcical architecture from the field - Tihomir IgnatovSharepoint 2013 - pratcical architecture from the field - Tihomir Ignatov
Sharepoint 2013 - pratcical architecture from the field - Tihomir Ignatov
 
2009 scrum & architecture
2009 scrum & architecture2009 scrum & architecture
2009 scrum & architecture
 
AI Foundation and how to CareerPivot to AI
AI Foundation and how to CareerPivot to AI AI Foundation and how to CareerPivot to AI
AI Foundation and how to CareerPivot to AI
 
When we design together
When we design togetherWhen we design together
When we design together
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
How to develop a novel wearable product?
How to develop a novel wearable product?   How to develop a novel wearable product?
How to develop a novel wearable product?
 
How to develop a wearable
How to develop a wearableHow to develop a wearable
How to develop a wearable
 
Why Design Automation Will Disrupt AEC
Why Design Automation Will Disrupt AECWhy Design Automation Will Disrupt AEC
Why Design Automation Will Disrupt AEC
 
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdfOSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
We (don't) need a software architect!?!
We (don't) need a software architect!?!We (don't) need a software architect!?!
We (don't) need a software architect!?!
 
20210318 vaidas adomauskas - startup lithuania
20210318   vaidas adomauskas - startup lithuania20210318   vaidas adomauskas - startup lithuania
20210318 vaidas adomauskas - startup lithuania
 
Startup CTO Role v3
Startup CTO Role v3Startup CTO Role v3
Startup CTO Role v3
 
A Guide To Minimum Viable Architecture Points For Any Startup
A Guide To Minimum Viable Architecture Points For Any StartupA Guide To Minimum Viable Architecture Points For Any Startup
A Guide To Minimum Viable Architecture Points For Any Startup
 
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
PASSARELLO ESPEDITO CATEDRA ARQUITECTURA EMPRESARIAL Clase 7 material_organiz...
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse Duttile
 

More from Agile Partner S.A.

Maîtriser et controler vos projets Agile
Maîtriser et controler vos projets AgileMaîtriser et controler vos projets Agile
Maîtriser et controler vos projets Agile
Agile Partner S.A.
 

More from Agile Partner S.A. (20)

Domain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationDomain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementation
 
Devops: la réunion des co-propriétaires
Devops: la réunion des co-propriétairesDevops: la réunion des co-propriétaires
Devops: la réunion des co-propriétaires
 
Découverte de l'esprit agile
Découverte de l'esprit agileDécouverte de l'esprit agile
Découverte de l'esprit agile
 
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
 
Agilité : la voix de la collaboration
Agilité : la voix de la collaborationAgilité : la voix de la collaboration
Agilité : la voix de la collaboration
 
Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)
 
ALM and DevOps in the health industry
ALM and DevOps in the health industryALM and DevOps in the health industry
ALM and DevOps in the health industry
 
Agile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePointAgile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePoint
 
Agile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOpsAgile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOps
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Agile Mëtteg #5: Agile Testing
Agile Mëtteg #5: Agile TestingAgile Mëtteg #5: Agile Testing
Agile Mëtteg #5: Agile Testing
 
Introduction to agile methods
Introduction to agile methodsIntroduction to agile methods
Introduction to agile methods
 
Retour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéRetour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilité
 
Continuous innovation with Lean Startup
Continuous innovation with Lean StartupContinuous innovation with Lean Startup
Continuous innovation with Lean Startup
 
Agile testing games
Agile testing gamesAgile testing games
Agile testing games
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Lkfr12 - De Scrum à Kanban
Lkfr12 - De Scrum à KanbanLkfr12 - De Scrum à Kanban
Lkfr12 - De Scrum à Kanban
 
Maîtriser et controler vos projets Agile
Maîtriser et controler vos projets AgileMaîtriser et controler vos projets Agile
Maîtriser et controler vos projets Agile
 
Kanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support teamKanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support team
 
It job day Henam 2011-06-20
It job day Henam 2011-06-20It job day Henam 2011-06-20
It job day Henam 2011-06-20
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Agile Mëtteg series - Session 3

  • 1. Agile architecture & programming Agile Mëtteg – 20 May 2010
  • 2. OBJECTIVES Understand the implications of agile development on architecture, design and coding practices Explain some misbelieves about software architecture and agility 20 May 2010 2 Agile Mëtteg – Agile architecture
  • 3. AGILE PARTNER SERVICES Custom Software Development & Maintenance Our core business to answer customer needs IS services Thanks to our expertise we can support IT team to reach their productivity & quality objectives (Assessment, Coaching, Support, Training, Resource delegation…) IS Solutions Take benefit from commercial or Open Source platform to answer as quick as possible to specific needs IS users services We can support Product & Services owners to work closely with the IT team (Assessment, Coaching, Support, Training, Resource delegation…) 20 May 2010 Agile Mëtteg - Agile architecture 3 IS users Services 1 4 Software Development & SoftwareMaintenance 2 ISSolutions IS Services Agility Agility 3 1 2 3 4 Agility
  • 4. WHO’S WHO Who are we ? Whatisourrole in ourorganization ? What are our expectations fromthisseminar ? 20 May 2010 Agile Mëtteg - Agile architecture 4
  • 5. AGENDA Agenda Can Enterprise Architecture be Agile ? Misbelieves about architecture and agility Why Up Front Design doesn’t always work ? Emerging architectures and evolutionary design Coding practices So is Design dead ? 20 May 2010 Agile Mëtteg - Agile architecture 5
  • 6. ARCHITECTURE ? WHICH ONE ? Architecture: very contextual activity Enterprisearchitecture Software architecture Technical architecture Etc. 20 May 2010 Agile Mëtteg - Agile architecture 6
  • 7. Can Enterprise Architecture be Agile ? 20 May 2010 Agile Mëtteg - Agile architecture 7
  • 8. CAN EA BE AGILE ? Enterprise architecture: Vision, principles, standards, roadmap Enterprise architecture frameworks: TOGAF 9, Zachman framework, … Define extensively structure and models Use them as guides, not as rules Beware of over-documentation 20 May 2010 Agile Mëtteg - Agile architecture 8
  • 9. CAN EA BE AGILE ? 20 May 2010 Agile Mëtteg - Agile architecture 9 Example: Zachman framework
  • 10. CAN EA BE AGILE ? Example: Zachman framework 20 May 2010 Agile Mëtteg - Agile architecture 10 EA Armory ;) Choose one or two weapon(s) Use Agile modeling (JIT Modeling) Helps to structure Leave no stone unturned DO NOT TRY AND IMPLEMENT EVERYTHING!!!!
  • 11. Misbelieves about SOFTWARE architecture and agility 20 May 2010 Agile Mëtteg - Agile architecture 11
  • 12. MISBELIEVES ON ARCHITECTURE You have to know precisely what to build before you can start building it. Building software is like construction building 20 May 2010 Agile Mëtteg - Agile architecture 12
  • 13. MISBELIEVES ON AGILITY No architecture Code and fix nightmare Cowboy coding Onlyworks forsmallprojects 20 May 2010 Agile Mëtteg - Agile architecture 13
  • 14. Why up front design doesn’talwayswork ? 20 May 2010 Agile Mëtteg - Agile architecture 14
  • 15. Traditional / Waterfallapproach Design isdoneup front BigDesign Up Front = BDUF WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 15
  • 16. IS THAT THE RIGHT APPROACH ? “In preparing for battle I have always found that plans are useless, but planningis indispensable.” [D.Eisenhower] 20 May 2010 Agile Mëtteg - Agile architecture 16
  • 17. WHAT DO AGILISTS SAY ? “Design is there to enable you to keep changing the software easily in the long term.” [Kent Beck] Source : http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx 20 May 2010 Agile Mëtteg - Agile architecture 17
  • 18. WHAT DO AGILISTS SAY ? “eXtreme Programming recognizes the importance of design decisions, but it strongly resists upfront design. Instead, it puts and admirable effort into communication and improving the projects ability to changecourse rapidly” [Eric Evans, DDD] 20 May 2010 Agile Mëtteg - Agile architecture 18
  • 19. BDUF NOT ALWAYS WORKING ? You cannot foresee the future Requirements change Architecture documents are not carved in stone 20 May 2010 Agile Mëtteg - Agile architecture 19
  • 20. BDUF NOT ALWAYS WORKING ? The « Architect » in hisIvoryTower Architects far from teams Developers kept out of architecture definition Frustrated teams ignore / bypass the model 20 May 2010 Agile Mëtteg - Agile architecture 20
  • 21. BDUF NOT ALWAYS WORKING ? 20 May 2010 Agile Mëtteg - Agile architecture 21 Everheard about over design ?
  • 22. OVER DESIGN CONSEQUENCES Lack of Flexibility Adaptability Extensibility 20 May 2010 Agile Mëtteg - Agile architecture 22 Effect on Cost ROI Time to market
  • 23. Emerging architectures and evolutionary design 20 May 2010 Agile Mëtteg - Agile architecture 23
  • 24. Waterfallapproach Design isdoneup front WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 24
  • 25. Agile approach Design ispart of the developmentprocess WHEN DO YOU DESIGN ? 20 May 2010 Agile Mëtteg - Agile architecture 25 Iteration 1 Iteration 2 Iteration n No specificorder
  • 26. 20 May 2010 Agile Mëtteg - Agile architecture 26 How would you eat this cake ? LAYERED CAKE
  • 27. ARCHITECTURE LAYERED CAKE Iteration n 20 May 2010 Agile Mëtteg - Agile architecture 27 Iteration 3 Iteration 2 Iteration 1
  • 28. ABOUT EMERGENCE Tobias Mayer Emergence results from an empirical approach. It implies that all solutions to all problems will become clear as we work. They will not become clear if we simply talk about them. Big Up Front Design might result in Big Wrong Design or at best Big Working But Totally Inflexible Design. When we allow solutions to emerge it is always the simplest and the most appropriate solution for the current context that rises to the surface. Emergence coupled with Empiricism will lead us to the most appropriate and the most flexible (i.e. changeable) solution. 20 May 2010 Agile Mëtteg - Agile architecture 28
  • 29. ABOUT EMERGENCE Tobias Mayer Emergence results from an empirical approach. It implies that all solutions to all problems will become clear as we work. They will not become clear if we simply talk about them. Big Up Front Design might result in Big Wrong Design or at best Big Working But Totally Inflexible Design. When we allow solutions to emerge it is always the simplest and the most appropriate solution for the current context that rises to the surface. Emergence coupled with Empiricism will lead us to the most appropriate and the most flexible (i.e. changeable) solution. 20 May 2010 Agile Mëtteg - Agile architecture 29
  • 30. HOW DOES IT START ? It all startedwith a vision Initial architecture envisionning 20 May 2010 Agile Mëtteg - Agile architecture 30
  • 31. AGILE MODELING 20 May 2010 Agile Mëtteg - Agile architecture 31 JIT modeling / design Coding practices Envisioning Source : http://www.agilemodeling.com/essays/initialArchitectureModeling.htm
  • 32. DESIGN DURING DEVELOPMENT eXtremeProgramming Iteration 0 "The first iteration must be a functioning skeleton of the system as a whole.“ [Kent Beck] System metaphor Followingiterations Spike solution Proof of concept 20 May 2010 Agile Mëtteg - Agile architecture 32
  • 33. DESIGN DURING DEVELOPMENT Domain Driven Design (Eric Evans) Just in time modeling Ubiquitouslanguage (cf System Metaphor) 20 May 2010 Agile Mëtteg - Agile architecture 33
  • 34. VALUES OF AGILE ARCHITECTURE 20 May 2010 Agile Mëtteg - Agile architecture 34
  • 35. Coding practices 20 May 2010 Agile Mëtteg - Agile architecture 35
  • 36. PRACTICES Test DrivenDevelopment BehaviorDrivenDevelopment Refactoring Continuousintegration 20 May 2010 Agile Mëtteg - Agile architecture 36
  • 37. TEST DRIVEN DEVELOPMENT (TDD) Makeit breakwrite the test first Makeitpasswrite the simplestimplementation Makeit right refactorwithoutchanging the behavior 20 May 2010 Agile Mëtteg - Agile architecture 37
  • 38. TDD EXAMPLE FizzBuzz Kata Multiple of 3  Fizz Multiple of 7  Buzz Multiple of 3 and 7  FizzBuzz 20 May 2010 Agile Mëtteg - Agile architecture 38 Source : http://www.viddler.com/explore/Lostechies/videos/1/
  • 39. BEHAVIOR DRIVEN DEVELOPMENT 20 May 2010 Agile Mëtteg - Agile architecture 39 User stories
  • 40. BDD : EXECUTABLE SPECIFICATIONS Scenario : Accountis in credit 20 May 2010 Agile Mëtteg - Agile architecture 40
  • 41. REFACTORING Refactoring Change “How” not “What” Pay your technical debt Use of patterns Refactor towards patterns only when needed Leverage ubiquitous language 20 May 2010 Agile Mëtteg - Agile architecture 41
  • 42. CONTINUOUS INTEGRATION Your product builds at any time Run the tests often Ease deployment 20 May 2010 Agile Mëtteg - Agile architecture 42
  • 43. So is design dead ? 20 May 2010 Agile Mëtteg - Agile architecture 43
  • 44. SO IS DESIGN DEAD ? “Not by any means, but the nature of design has changed.” [Martin Fowler] Keep code as clean and simple as possible. Refactorto confidently make improvements. Use design patterns when needed. Communicate the design using code, diagrams and above all conversation. 20 May 2010 Agile Mëtteg - Agile architecture 44
  • 45. EMPHASIZED COMMUNICATION 20 May 2010 Agile Mëtteg - Agile architecture 45
  • 46. AGILE ARCHITECTURE MANIFESTO ? Business focus Emergence Simplicity Extensibility 20 May 2010 Agile Mëtteg - Agile architecture 46 Technical perfection Up front design Excessive design Omnipotence
  • 47. QUESTIONS 47 Agile Mëtteg - Agile architecture 20 May 2010
  • 48. NEXT TRAININGS & CERTIFICATIONS 20 May 2010 Agile Mëtteg - Agile architecture 48 Complete calendar on: http://www.agilepartner.net/training/training_calendar.html
  • 49. RESOURCES Agile Partner: www.agilepartner.net Agile Interest Group Luxembourg:www.aiglu.org Agile Alliance: www.agilealliance.org Scrum alliance: www.scrumalliance.org Scrum.org 20 May 2010 Agile Mëtteg - Agile architecture 49
  • 50. CONTACTS Thank You 20 May 2010 Agile Mëtteg - Agile architecture 50

Editor's Notes

  1. SCH
  2. SCH
  3. CPO & PAG
  4. CPO
  5. CPO
  6. PAG
  7. PAG
  8. PAG
  9. PAG
  10. CPO
  11. CPO
  12. CPO
  13. PAG
  14. PAG
  15. PAG
  16. PAG
  17. PAG
  18. CPO
  19. CPO - Parler du « rôle » de cet architecte 
  20. CPO
  21. CPO
  22. PAG
  23. PAG
  24. PAG
  25. CPO
  26. CPO
  27. CPO
  28. CPO
  29. PAG
  30. PAG
  31. PAG
  32. PAG
  33. CPO
  34. CPO
  35. CPO
  36. CPO
  37. CPO
  38. CPO
  39. CPO
  40. PAG
  41. PAG – Enchainement « Is Design Dead ? »
  42. PAG
  43. PAG
  44. PAG
  45. CPO
  46. CPO