Architecture and Agility

Architecture and Agility
© 2008 DevJam - All rights reserved.
Questions?
Please!
© 2008 DevJam - All rights reserved.
Expectations?
© 2008 DevJam - All rights reserved.
Session (Forum) Outline
Architecture: What is it?
Agility and Architecture
Incrementally Validating Designs
Agility, Usability and Architecture
Architects and Agility
© 2008 DevJam - All rights reserved.
Architecture
© 2008 DevJam - All rights reserved.
What the bleep is Architecture?
© 2008 DevJam - All rights reserved.
Metaphors We Live By
© 2008 DevJam - All rights reserved.
Metaphors We Live By
© 2008 DevJam - All rights reserved.
Troubles in Architecture Land
(over cost - late - dissatisfied customers)
(designers and
builders disconnected)
© 2008 DevJam - All rights reserved.
“Ch-Ch-Ch-Ch-Changes”
(work end to end with clients)
(more personal
satisfaction
© 2008 DevJam
- All rights reserved. and pride)
Your Architectural Stories?
What works?
What doesn’t?
© 2008 DevJam - All rights reserved.
An Extreme Response
Delivery over architecture
No use before reuse
No documentation?
TDD / Refactoring
Architectural spikes
Collective ownership
and
more
…
© 2008 DevJam - All rights reserved.
Architecture
And
Agility
© 2008 DevJam - All rights reserved.
Agile projects lack architectural vision
?
Agile projects are designed
one iteration at a time
© 2008 DevJam - All rights reserved.
Agile Realities ( real quotes)
“Scrum is just a way for mgmt to ask us to
get more done”
“Agile is a term given to XP so that it would
be acceptable to the masses”
“Agile is now such a buzz word, it has lost
its meaning so I simply don’t use it”
© 2008 DevJam - All rights reserved.
Cross cutting forums feed vision
Business driven designs are
incrementally validated
© 2008 DevJam - All rights reserved.
Architectural Forums
Project (6 – 12 months)
Chartering
Project
Retrospective
Roadmap
Personas
Product Backlog
Releases (1 – 3 Months)
Planning
Retrospective
Iterations (1 - 4 weeks)
Plan
Build
Reflect
Daily Standup
(SCRUM)
© 2008 DevJam - All rights reserved.
Chartering a Common Vision
Chartering starts building domain language
© 2008 DevJam - All rights reserved.
Release Planning
and
Cross Cutting
Concerns
© 2008 DevJam - All rights reserved.
Incrementally
Validating
Designs
© 2008 DevJam - All rights reserved.
Design Happens Continuously
Stand (up)
and Deliver
© 2008 DevJam - All rights reserved.
Design Honesty is Challenged
Tests Do Not Know How to Lie
© 2008 DevJam - All rights reserved.
Evolutionary Design (IXP Style)
© 2008 DevJam - All rights reserved.
What About Documentation?
© 2008 DevJam - All rights reserved.
Pragmatic Documentation Exists
© 2008 DevJam - All rights reserved.
Living Documentation Lives
© 2008 DevJam - All rights reserved.
Fixed Cycles (simple, powerful)
Surfacing Architectural Abstractions
© 2008 DevJam - All rights reserved.
Agility
Usability
Architecture
© 2008 DevJam - All rights reserved.
User Centered Design
Architecture that includes people
© 2008 DevJam - All rights reserved.
A New Way of Working
© 2008 DevJam - All rights reserved.
© 2008 DevJam - All rights reserved.
© 2008 DevJam - All rights reserved.
© 2008 DevJam - All rights reserved.
© 2008 DevJam - All rights reserved.
Architects and Agility
( architects as guides )
© 2008 DevJam - All rights reserved.
Old School Architect
Pictures Over People
© 2008 DevJam - All rights reserved.
One a Personal Note
Producers Guide Improvisation
© 2008 DevJam - All rights reserved.
A New Metaphor
What about …
… architects as guides?
© 2008 DevJam - All rights reserved.
Developer Guides
Architectural Spike Service
1) Take a snapshot of code
2) Spike on solution
3) Present solution to developers
4) Work with developers to use solution
5) Iterate and improve solution
6) New tool is created for developers
Developers are the customers!
© 2008 DevJam - All rights reserved.
Developer Manifesto
© 2008 DevJam - All rights reserved.
Community Guide
Connecting product owners to developers
Connecting developers and testers
Guide for young programmers
Leading by Example
© 2008 DevJam - All rights reserved.
System Guide
Promoting systems thinking
Using cross iteration planning as a tool
Connect with other communities as needed
Systems have personalities
© 2008 DevJam - All rights reserved.
The Agile Architect is …
a design, builder
a guide, not a dictator
a product language builder
interested in connecting people
Could apply to the architecture?
© 2008 DevJam - All rights reserved.
Architecture
and
Agility
( what - where – when – who )
© 2008 DevJam - All rights reserved.
Questions?
Development Agility – Coaching Agility
[email protected]
www.devjam.com
© 2008 DevJam - All rights reserved.