SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Scrum & Architecture
Dr. Andreas Wintersteiger
Objectbay Software & Consulting GmbH
andreas.wintersteiger@objectbay.com
1
Nov 2009
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Agenda
Scrum in a Nutshell
Architecture
Evolving Architecture in Agile Dev
How to do Architecture with Scrum
2
Antoine de Saint-Exupéry, 1900 – 1944
“Perfection is achieved not when ther is nothing more to add,
But when there is nothing left to take away.“
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
3 Roles, 3 Artifacts
3
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
5 Ceremonies (Sprint + 4 Meetings)
4
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Sprints deliver working software
Fixed lenght development cycles
Originally one month duration
Some teams use two or three weeks
Establish a sustainable rhythm
All needed development activities
Potentially shippable product-increment
Scrum development: sequential series of „iterations“
5
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Product increments are vertical
6
User Interface
Business Logic / Workflow
Database
Infrastructure
Increment1
Increment2
Increment3
... and include all previous increments!
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
All phases are all done within the sprint ...
7
... but in cycles and countinuously!
(not as a mini-waterfall)
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Agenda
Scrum in a Nutshell
Architecture
Evolving Architecture in Agile Dev
How to do Architecture with Scrum
8
Antoine de Saint-Exupéry, 1900 – 1944
“Perfection is achieved not when ther is nothing more to add,
But when there is nothing left to take away.“
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
What is Architecture by the way?
Structure
Abstraction
Perspectives
A Framework for Change (Tom DeMarco)
Extendability
The Result of a design process
Granularity
9
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architectural Granularity is a Spectrum
Architectural Styles
Define the overall style of an application architecture, such as layered/n-tier, message passing, store & forward,
pipes & filters, finite state machine, peer to peer, service oriented ...
A set of ground-breaking decissions
Enterprise / Design Patterns
Describe finer grained patterns of architecture elements
Many patterns available
All based on GoF patterns
10
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
The role of Requirements
Functional Requirements
They have impact on architectural decissions on a high level
Top-level requirements should be known upfront
Detailed requirements drive more the detailed design
Non-functional
May have an impact on high level design (Performance,
Extensibility, Availability)
Imply risks - we want to know them early (fail fast)
11
Architectural
Styles
Design
Patterns
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture is an asset
Focus on the long term
Stability of the system
Extensibility
Represents an asset value for the company
The Architect is a Stakeholder
Not seldomly sitting in the ivory tower
But without power ...
12
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture implications
User Interface
„The interface is the program“ (Raskin)
Organizational Structure
Conway‘s Law
13
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Agenda
Scrum in a Nutshell
Architecture
Evolving Architecture in Agile Dev
How to do Architecture with Scrum
14
Antoine de Saint-Exupéry, 1900 – 1944
“Perfection is achieved not when ther is nothing more to add,
But when there is nothing left to take away.“
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Evolution is the best Architect
Evolutionary design is the kind of design that
survived (evolutionary) ...
Plants, Animals and other living beings in nature
The human body
Early and continuous feedback
Allow for failure
Inspection & Adaption
15
16
Evolutionary
Design
Examples
The evolution of the command
service module starting with the
module designed for Gemini-2
mission (left) to the command module
for the Appollo-XIV mission.
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Evolution of NASA Space Suits
17
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Apple Mac - Evolution of a Computer 1984-
2009
18
1984
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Did they think upfront?
Yes, but the question is how much ....
19
When was the last time
you did see an architecture
drawn on the board by an architect, that
actually came into being
as originally designed?
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
BDUF / Waterfall - did never work! Really.
20
Let‘s think of software
Fear of not knowing enough is an omnipresent pattern in all organizations
Enterprise Architects do not code ...
„Beautiful piece of ficition“
„Architecture is not living in a document - it is living in code“ (James Coplien)
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
NDUF - No Design upfront
21
see Ron Jeffries: XP installed
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
NDUF didn‘t work either - well, most of the time ...
22
In some cases, ...
Only for really typical architectures (Java EE 3-tier) plus design driven processes (XP, TDD)
Almost no risks
Familarity with the environment / architecture for the last 20 years
This is why Agile/XP and Architects really got into a bad relationship in some companies
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
RUFD - the right upfront design
23
„rough“ design
Architectural vision („Product Vision“)
Keep the desing upfront short
Not too short
term coined by Jim Coplien
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Incremental Design... so often misunderstood
Key is to keep the code easily changeable
We need clean code for this
Easy to understand
No redundancy - DRY
Decoupled
We stop anticipating future unknown requirements
We start with a rough design and refine further on
We maintain a changeable code
24
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture in an agile light
Architecture embodies the critical design decissions
that typify a system
The significance of decissions needs to be
understood and assessed
Significance of decissions is reduced
Key decissions reduce significance of other decissions
Doing the hard ones first make the easier ones easier,
doing the easy ones first make the hard ones harder.
25
Source: James Coplien, 2008
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Agile embraces evolving Architecture
Agile: The right detail in the right time
Architectural Styles and
Design Patterns set the frame
Use Test Driven Design to focus on the details
26
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Agenda
Scrum in a Nutshell
Architecture
Evolving Architecture in Agile Dev
How to do Architecture with Scrum
27
Niels Bohr, ...
„Be careful about predicting things,
Especially when it is about the future.“
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture & Scrum
Basically, Architecture is treated as all other aspects of development (e.q. Quality) in Scrum
Enterprise Architects should be part of the daily game
They are treated as customers or stakeholders - move them out of the ivory tower
They define concrete requirements, constraints, specifications
Architects should be team members (and yes, coding)
Level of trust
Communication
Credibility
Build an architecture Board or “Community of Practice”.
28
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture & Scrum (2)
Feed the experience into the process
This can only be done „at the working line“
Have engineering practices in place
Test Driven Development
Continous Integration
Frequent and automated Releases
Metrics, Code Evaluation
Architecture is part of the planning game in Scrum (Sprint Planning 2)
29
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture & Scrum (3)
Architecture lives in code
Team‘s responsibility is the quality of the code
And therefore also architecture
Architecture is documented in code
Tests are the best and up-to date documentation of specs
Who is responsible?
In Scrum the P.O. decides on priorities but is consulted by an architect (team)
How much upfront?
It depends.
30
© 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com
Architecture Sprints
First have a Product Vision in place - P.O.
This includes an Architectural Vision - P.O. and team
Second, do the high level decisions - Decide on Architectural Styles
And refine only if necessary (Patterns)
Design as you go during the Sprint, Refactor permanent
It is ok to have an “Architecture Sprint”, but ...
Remember, Scrum demands working code at the end of a sprint
So, build tests (interfaces) and a rough implementation that proves that the architecture works
Refine the architecture on an ongoing basis - do the fine grained decisions as needed
Keep your entire software asset changeable
31

Weitere ähnliche Inhalte

Ähnlich wie 2009 scrum & architecture

The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application ArchitectureBrad Beiermann
 
Agile Mëtteg series session 7
Agile Mëtteg series session 7Agile Mëtteg series session 7
Agile Mëtteg series session 7Agile Partner S.A.
 
Aec Logic Company Profile
Aec Logic Company ProfileAec Logic Company Profile
Aec Logic Company Profileachandra_iitd
 
Agile Architecture Belfast Software Architecture User Group
Agile Architecture   Belfast Software Architecture User GroupAgile Architecture   Belfast Software Architecture User Group
Agile Architecture Belfast Software Architecture User GroupPaul Wallace
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling toolsGraphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling toolsEtienne Juliot
 
Architecture vs. Design vs. Agile: What’s the Answer?
Architecture vs. Design vs. Agile: What’s the Answer?Architecture vs. Design vs. Agile: What’s the Answer?
Architecture vs. Design vs. Agile: What’s the Answer?TechWell
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architectsAndre Dovgal
 
CPD BIM for small engineering practices
CPD BIM for small  engineering practicesCPD BIM for small  engineering practices
CPD BIM for small engineering practicesEwa Ostrowska
 
Nemetschek Scia company profile (v 01072013)
Nemetschek Scia company profile (v 01072013)Nemetschek Scia company profile (v 01072013)
Nemetschek Scia company profile (v 01072013)Rudi Vanmechelen ✉ SCIA
 
Using Autodesk Technology to Accelerate Infrastructure Development
Using Autodesk Technology to Accelerate Infrastructure DevelopmentUsing Autodesk Technology to Accelerate Infrastructure Development
Using Autodesk Technology to Accelerate Infrastructure Developmentitnewsafrica
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
Open Source SOA@OpenFest.org
Open Source SOA@OpenFest.orgOpen Source SOA@OpenFest.org
Open Source SOA@OpenFest.orgKiril Mitov
 
2008 Metrics for agile software development
2008 Metrics for agile software development2008 Metrics for agile software development
2008 Metrics for agile software developmentAndreas Wintersteiger
 

Ähnlich wie 2009 scrum & architecture (20)

The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
Agile Mëtteg series session 7
Agile Mëtteg series session 7Agile Mëtteg series session 7
Agile Mëtteg series session 7
 
Aec Logic Company Profile
Aec Logic Company ProfileAec Logic Company Profile
Aec Logic Company Profile
 
Agile Architecture Belfast Software Architecture User Group
Agile Architecture   Belfast Software Architecture User GroupAgile Architecture   Belfast Software Architecture User Group
Agile Architecture Belfast Software Architecture User Group
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
Afes
AfesAfes
Afes
 
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling toolsGraphical DSL with Sirius: how to simplify the creation of custom modeling tools
Graphical DSL with Sirius: how to simplify the creation of custom modeling tools
 
Architecture vs. Design vs. Agile: What’s the Answer?
Architecture vs. Design vs. Agile: What’s the Answer?Architecture vs. Design vs. Agile: What’s the Answer?
Architecture vs. Design vs. Agile: What’s the Answer?
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
IT architecture and architects
IT architecture and architectsIT architecture and architects
IT architecture and architects
 
FAISAL SULEMAN_CV
FAISAL SULEMAN_CVFAISAL SULEMAN_CV
FAISAL SULEMAN_CV
 
CPD BIM for small engineering practices
CPD BIM for small  engineering practicesCPD BIM for small  engineering practices
CPD BIM for small engineering practices
 
Nemetschek Scia company profile (v 01072013)
Nemetschek Scia company profile (v 01072013)Nemetschek Scia company profile (v 01072013)
Nemetschek Scia company profile (v 01072013)
 
Using Autodesk Technology to Accelerate Infrastructure Development
Using Autodesk Technology to Accelerate Infrastructure DevelopmentUsing Autodesk Technology to Accelerate Infrastructure Development
Using Autodesk Technology to Accelerate Infrastructure Development
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
Arcburo - architectural outsourcing
Arcburo - architectural outsourcingArcburo - architectural outsourcing
Arcburo - architectural outsourcing
 
Open Source SOA@OpenFest.org
Open Source SOA@OpenFest.orgOpen Source SOA@OpenFest.org
Open Source SOA@OpenFest.org
 
2008 Metrics for agile software development
2008 Metrics for agile software development2008 Metrics for agile software development
2008 Metrics for agile software development
 
Software app slides
Software app slidesSoftware app slides
Software app slides
 

Kürzlich hochgeladen

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Kürzlich hochgeladen (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

2009 scrum & architecture

  • 1. Scrum & Architecture Dr. Andreas Wintersteiger Objectbay Software & Consulting GmbH andreas.wintersteiger@objectbay.com 1 Nov 2009
  • 2. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Agenda Scrum in a Nutshell Architecture Evolving Architecture in Agile Dev How to do Architecture with Scrum 2 Antoine de Saint-Exupéry, 1900 – 1944 “Perfection is achieved not when ther is nothing more to add, But when there is nothing left to take away.“
  • 3. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com 3 Roles, 3 Artifacts 3
  • 4. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com 5 Ceremonies (Sprint + 4 Meetings) 4
  • 5. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Sprints deliver working software Fixed lenght development cycles Originally one month duration Some teams use two or three weeks Establish a sustainable rhythm All needed development activities Potentially shippable product-increment Scrum development: sequential series of „iterations“ 5
  • 6. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Product increments are vertical 6 User Interface Business Logic / Workflow Database Infrastructure Increment1 Increment2 Increment3 ... and include all previous increments!
  • 7. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com All phases are all done within the sprint ... 7 ... but in cycles and countinuously! (not as a mini-waterfall)
  • 8. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Agenda Scrum in a Nutshell Architecture Evolving Architecture in Agile Dev How to do Architecture with Scrum 8 Antoine de Saint-Exupéry, 1900 – 1944 “Perfection is achieved not when ther is nothing more to add, But when there is nothing left to take away.“
  • 9. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com What is Architecture by the way? Structure Abstraction Perspectives A Framework for Change (Tom DeMarco) Extendability The Result of a design process Granularity 9
  • 10. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architectural Granularity is a Spectrum Architectural Styles Define the overall style of an application architecture, such as layered/n-tier, message passing, store & forward, pipes & filters, finite state machine, peer to peer, service oriented ... A set of ground-breaking decissions Enterprise / Design Patterns Describe finer grained patterns of architecture elements Many patterns available All based on GoF patterns 10
  • 11. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com The role of Requirements Functional Requirements They have impact on architectural decissions on a high level Top-level requirements should be known upfront Detailed requirements drive more the detailed design Non-functional May have an impact on high level design (Performance, Extensibility, Availability) Imply risks - we want to know them early (fail fast) 11 Architectural Styles Design Patterns
  • 12. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture is an asset Focus on the long term Stability of the system Extensibility Represents an asset value for the company The Architect is a Stakeholder Not seldomly sitting in the ivory tower But without power ... 12
  • 13. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture implications User Interface „The interface is the program“ (Raskin) Organizational Structure Conway‘s Law 13
  • 14. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Agenda Scrum in a Nutshell Architecture Evolving Architecture in Agile Dev How to do Architecture with Scrum 14 Antoine de Saint-Exupéry, 1900 – 1944 “Perfection is achieved not when ther is nothing more to add, But when there is nothing left to take away.“
  • 15. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Evolution is the best Architect Evolutionary design is the kind of design that survived (evolutionary) ... Plants, Animals and other living beings in nature The human body Early and continuous feedback Allow for failure Inspection & Adaption 15
  • 16. 16 Evolutionary Design Examples The evolution of the command service module starting with the module designed for Gemini-2 mission (left) to the command module for the Appollo-XIV mission.
  • 17. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Evolution of NASA Space Suits 17
  • 18. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Apple Mac - Evolution of a Computer 1984- 2009 18 1984
  • 19. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Did they think upfront? Yes, but the question is how much .... 19 When was the last time you did see an architecture drawn on the board by an architect, that actually came into being as originally designed?
  • 20. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com BDUF / Waterfall - did never work! Really. 20 Let‘s think of software Fear of not knowing enough is an omnipresent pattern in all organizations Enterprise Architects do not code ... „Beautiful piece of ficition“ „Architecture is not living in a document - it is living in code“ (James Coplien)
  • 21. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com NDUF - No Design upfront 21 see Ron Jeffries: XP installed
  • 22. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com NDUF didn‘t work either - well, most of the time ... 22 In some cases, ... Only for really typical architectures (Java EE 3-tier) plus design driven processes (XP, TDD) Almost no risks Familarity with the environment / architecture for the last 20 years This is why Agile/XP and Architects really got into a bad relationship in some companies
  • 23. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com RUFD - the right upfront design 23 „rough“ design Architectural vision („Product Vision“) Keep the desing upfront short Not too short term coined by Jim Coplien
  • 24. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Incremental Design... so often misunderstood Key is to keep the code easily changeable We need clean code for this Easy to understand No redundancy - DRY Decoupled We stop anticipating future unknown requirements We start with a rough design and refine further on We maintain a changeable code 24
  • 25. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture in an agile light Architecture embodies the critical design decissions that typify a system The significance of decissions needs to be understood and assessed Significance of decissions is reduced Key decissions reduce significance of other decissions Doing the hard ones first make the easier ones easier, doing the easy ones first make the hard ones harder. 25 Source: James Coplien, 2008
  • 26. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Agile embraces evolving Architecture Agile: The right detail in the right time Architectural Styles and Design Patterns set the frame Use Test Driven Design to focus on the details 26
  • 27. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Agenda Scrum in a Nutshell Architecture Evolving Architecture in Agile Dev How to do Architecture with Scrum 27 Niels Bohr, ... „Be careful about predicting things, Especially when it is about the future.“
  • 28. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture & Scrum Basically, Architecture is treated as all other aspects of development (e.q. Quality) in Scrum Enterprise Architects should be part of the daily game They are treated as customers or stakeholders - move them out of the ivory tower They define concrete requirements, constraints, specifications Architects should be team members (and yes, coding) Level of trust Communication Credibility Build an architecture Board or “Community of Practice”. 28
  • 29. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture & Scrum (2) Feed the experience into the process This can only be done „at the working line“ Have engineering practices in place Test Driven Development Continous Integration Frequent and automated Releases Metrics, Code Evaluation Architecture is part of the planning game in Scrum (Sprint Planning 2) 29
  • 30. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture & Scrum (3) Architecture lives in code Team‘s responsibility is the quality of the code And therefore also architecture Architecture is documented in code Tests are the best and up-to date documentation of specs Who is responsible? In Scrum the P.O. decides on priorities but is consulted by an architect (team) How much upfront? It depends. 30
  • 31. © 2006 - 2010 Objectbay Software & Consulting GmbH, Austria www.objectbay.com Architecture Sprints First have a Product Vision in place - P.O. This includes an Architectural Vision - P.O. and team Second, do the high level decisions - Decide on Architectural Styles And refine only if necessary (Patterns) Design as you go during the Sprint, Refactor permanent It is ok to have an “Architecture Sprint”, but ... Remember, Scrum demands working code at the end of a sprint So, build tests (interfaces) and a rough implementation that proves that the architecture works Refine the architecture on an ongoing basis - do the fine grained decisions as needed Keep your entire software asset changeable 31