The document outlines an agenda for an agile architecture workshop. The agenda includes sessions on agile architecture, defining the game/system, two rounds of gameplay with debriefings in between, and concluding remarks. It also provides background definitions and principles of architecture, how the complexity of a system and team size impact architectural approaches, and advice for architects emphasizing teamwork, empowerment, adaptability and vision over micro-management.
2. Agile Architecture 15 Minutes
Game Definition 15 Minutes
Round One 30 Minutes
Debrief 10 Minutes
Round Two 25 Minutes
Debrief 25 Minutes
February 4, 2013 2
3. International Standard Definition:
The fundamental concepts or properties of a system in its
environment embodied in its
elements, relationships, and in the principles of its design
and evolution.
Source: http://www.iso-architecture.org/42010/defining-architecture.html
February 4, 2013 3
4. Functional Definition:
Architecture provides a vision and path for the creation of
services and applications which conform to the
fundamental principles of the systems design.
February 4, 2013 4
5. Every system has an architecture
Every system needs a shared vision
Agile Architecture is deciding
when you conceive the architecture and how
you will share it?
February 4, 2013 5
6. SYSTEM COMPLEXITY
HIGH
Architect Architect
Just-In-Time Early
Emergent Architect
LOW
Architecture Just-In-Time
SMALL < 10 LARGE > 50
TEAM SIZE
February 4, 2013 6
7. SYSTEM COMPLEXITY
Verbal
HIGH
And Document
Document
Document
LOW
Verbal And
Verbal
SMALL < 10 LARGE > 50
TEAM SIZE
February 4, 2013 7
8. Conways Law
Your architecture will resemble your organization
Therefore, as an architect you should:
Provide for loose coupling
Preserve optionality
Design for reuse
Create APIs and SLAs
February 4, 2013 8
9. Architects provide the technical background
for business decisions
Every decision involves tradeoffs:
Jumping on short-term business benefits creates technical debt
Pursuing a tactical upgrade postpones rebuilding from scratch
Preventing hacks means spending time enforcing the architecture
February 4, 2013 9
11. Define how you architect, for example:
DRY Dont Repeat Yourself
Single Responsibility
Test Driven
Hands-on, no ivory tower architects
Continuous Everything
Developer to Production Tools
Empowered Teams
Agile Manifesto
February 4, 2013 11
13. Be the architect, but architect as a team
"An army is a team. It lives, eats, sleeps, fights as a
team. This individuality stuff is a bunch of bullsh*t."
~ General George S. Patton
February 4, 2013 13
14. Make decisions, now!
Be willing to make decisions. That's the most
important quality in a good leader.
~ General George S. Patton
February 4, 2013 14
15. Provide a vision, not micro-management
Never tell people how to do things. Tell them what
to do and they will surprise you with their
ingenuity.
~ General George S. Patton
February 4, 2013 15
16. Plan, but not too much
A good plan executed today is better than a
perfect plan executed at some indefinite point in
the future.
~ General George S. Patton
February 4, 2013 16
17. Listen to your people
A leader is a [person] who can adapt
principles to circumstances.
~ General George S. Patton
February 4, 2013 17