SlideShare a Scribd company logo
AGILE ARCHITECTURE –
IDEALS, HISTORY, AND
A NEW HOPE
Gary Pedretti
GARY PEDRETTI
 Owner, Sodoto Solutions
 SODOTO = See One, Do One, Teach One
 Professional Scrum Trainer, Scrum.org
 Over sixteen years in the software industry as a generalizing
specialist: DBA, coder, BA, architect, tester, manager
 Scrum: Team member, Scrum Master, PO, Coach
 GaryPedretti.com
 @GaryPedretti
 http://www.linkedin.com/in/GaryPedretti
 http://www.slideshare.net/earl128
 SpeakerRate: http://TinyUrl.com/GarysSpeakerRate
IDEALS
MISUNDERSTANDINGS
BACKLASH
A NEW HOPE
Agenda
BUT FIRST – WHAT IS “ARCHITECTURE”?
 “…the highest level concept of a system in its environment. The
architecture of a software system (at a given point in time) is its
organization or structure of significant components interacting
through interfaces, those components being composed of
successively smaller components and interfaces.” – RUP, IEEE
 “…shared understanding of the system design…architecture only
includes the components and interfaces that are understood by
all the developers…architecture is a social construct” – Fowler
 “Stuff that’s hard [expensive] to change later.” – Neal Ford and
others
BUT FIRST – WHAT IS “ARCHITECTURE”?
“Architecture is about the important stuff.
Whatever that is.” – Fowler
FRAMEWORK VS. APPLICATION VS. ENTERPRISE
 Neal Ford describes a “Framework-Level Architecture” – important
because the unit of reuse in modern languages is the library or
framework
 Application Architecture = building architecture
 Enterprise Architecture = city planning
 Service-Oriented Architecture (SOA) = very interesting as a blend of
Application and Enterprise Architectural concerns
A LONG TIME AGO IN A
GALAXY FAR, FAR AWAY…
IDEALS AND PRINCIPLES
LITTLE KNOWN FACTS ABOUT HAN SOLO,
THE IDEALIST
BUDDIES
(BASED ON HAN’S PRINCIPLES AND IDEALS)
AGILE (ARCHITECTURE) HAS IDEALS TOO
This is NOT your capital “A” Architects’ architecture!
AGILE ARCHITECTURE IDEALS, ETC. -
SOURCES
Ideals, Principles, Ideas => Techniques, Practices, Patterns
Agile Manifesto and its Principles
Kent Beck, Ward Cunningham, Ron Jeffries, et. al. from
eXtreme Programming (XP)
Martin Fowler
Scott Ambler
THE MANIFESTO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left
more.
PRINCIPLES BEHIND THE MANIFESTO
 Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
 Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.
 Working software is the primary measure of progress.
 Continuous attention to technical excellence and good design
enhances agility.
 Simplicity - the art of maximizing the amount of work not done - is
essential.
 The best architectures, requirements, and designs emerge from self-
organizing teams
A WORD ON “EVOLUTIONARY” VS.
“EMERGENT”
“If you accept the premise that architecture is about
things hard to change later, it becomes difficult to
allow an architecture to emerge.” – Neal Ford
Jeff Sutherland and Rebecca Wirfs-Brock agree
Words matter – this is about
communication…remember architecture is a social
construct…
XP – KENT BECK’S RULES FOR SIMPLE
DESIGN
1. Test Everything (and run all the tests)
2. Eliminate Duplication (code)
3. Express All Ideas (that the author wants to express)
4. Minimize Entities (classes and methods)
EVOLUTIONARY DESIGN > BDUF
No Big Design Up Front (BDUF)
Replace with Evolutionary
Design
Where Evolutionary Design !=
“code and fix” or Cowboy
Hacking
“
”
OPTIMISM IS AN OCCUPATIONAL HAZARD OF
PROGRAMMING, FEEDBACK IS THE
TREATMENT.
Kent Beck
FEEDBACK
MARTIN FOWLER
 Famous “Who Needs an Architect?” paper and “Is Design
Dead?” blog post
 Significant emphasis on the untenable split between
design and build with software (a technique that can work
in engineering, manufacturing, buildings, etc.), with XP
practices
 But in reality, encourages a healthy middle ground –
doesn’t disown UML, patterns, design activities, etc.
 Used Pramod Sadalage’s DB work as an example of the
“unchangeable” becoming fluid
SCOTT AMBLER
In his “Agile Modeling,” lays out specific
 Values
 Principles
 Practices
Builds off of core agile principles, and forges
middle ground regarding UML, patterns,
forethought, etc.
Worked with Pramod Sadalage on Database
Refactoring
MISUNDERSTANDINGS
GOING SOMEWHERE, SOLO?
HAN SHOT FIRST!!
MERCENARY, SWASHBUCKLER, EVERY-
MAN-FOR-HIMSELF…**SOLO**
AND SMUG, TOO!!
I’M SO MISUNDERSTOOD
BUDDIES
REMINDER: BASED ON HAN’S (SELFLESS)
PRINCIPLES AND IDEALS
OH, SO MANY MISUNDERSTANDINGS
Agile Principles…
FIRST, LET’S IMAGINE THE IDEALS
ABUSED…
XP
The Manifesto
ABUSING XP PRINCIPLES
NO BDUF!!!
(and skipping the “no Cowboy
Hacking, either” part)
ABUSING THE MANIFESTO
 NO DOCUMENTATION NECESSARY!
 NO PLANS!
 (ignoring the “while there is value in the items on
the right” part completely)
 Individuals and interactions over processes and tools
 Working software over comprehensive
documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan
ABUSING THE PRINCIPLES BEHIND THE
MANIFESTO
 CODERS ARE GODS NOW – ME ME ME – what’s motivation
again? What’s a stakeholder?
 WORKING SOFTWARE IS THE ONLY THING THAT MATTERS!
 SIMPLE is best – ALWAYS!
 Things emerge – I don’t need to think about them!!
“
”
ONE OF THE MORE INSIDIOUS AND PERSISTENT
MYTHS OF AGILE DEVELOPMENT IS THAT UP-FRONT
ARCHITECTURE AND DESIGN ARE BAD; THAT YOU
SHOULD NEVER SPEND TIME UP FRONT…DESIGN
FROM NOTHING, ONE TEST-CASE AT A TIME.
PARDON ME, BUT THAT’S HORSE SHIT.
“Uncle Bob” Martin
WOW!
HAVE YOU BEEN HERE BEFORE???
(THE EMPIRE STRIKES BACK?)
THE BACKLASH
GUESS I’M ON MY OWN, HAN…
CAN YOU BLAME HIM?
WE’VE SEEN A LOT OF BACKLASH FROM
ALL THOSE MISUNDERSTANDINGS…
Organizational Snapback
New Frameworks to “Address the issue of…”
Broken Trust
ORGANIZATIONAL SNAPBACK – THREE
STEPS FORWARD, TWO STEPS BACK
“Change Spasm” – Simon Rendl
“Organizational Antibodies” – Michael Sahota
“
”
THERE COMES A POINT AT WHICH EMERGENT
DESIGN IS AN INSUFFICIENT RESPONSE TO THE
COMPLEXITY OF LARGE-SCALE SYSTEM
DEVELOPMENT.
From a newer framework
Question: Is there a magical point at which waterfall,
command/control, phase-gated, heavily plan-based
methodologies suddenly just “start to work”?????
“
”
FOR THIS WE NEED SOME INTENTIONAL
ARCHITECTURE—A SET OF PURPOSEFUL, PLANNED
ARCHITECTURAL INITIATIVES TO ENHANCE
SOLUTION DESIGN, PERFORMANCE AND
USABILITY—AND WHICH PROVIDES GUIDANCE FOR
INTER-TEAM DESIGN AND IMPLEMENTATION
SYNCHRONIZATION.
Read: Command and Control?? Funny, Mike Cohn used intentional
at least back to 2009…
From a newer framework
“
”
IN THE CASES WHERE NEW PLATFORMS ARE
PARTICULARLY INNOVATIVE, OR IN THE CASE OF
ENTIRELY NEW (GREENFIELD) DEVELOPMENT, IT IS
COMMON THAT SYSTEM ARCHITECTS PLAY A ROLE
IN THE INITIAL DEFINITION AND BUILD OUT OF THE
RUNWAY.
Read: Self-Organizing Teams Probably Can’t Be Trusted
From a newer framework
I HAVE A QUESTION
Is there a magical point at which waterfall,
command/control, phase-gated, heavily plan-based
methodologies suddenly just “start to work”?????
But…what about nature?
CAN PEOPLE BE TRUSTED TO MAKE DECISIONS AT
THE LAST RESPONSIBLE MOMENT?
 Or will they typically conflate responsible with
possible?
 Rebecca Wirfs-Brock said “yes” at Agile 2013 –
granted, her blog backs this idea with one
psychological study
“
”
THE PROBLEM IS THAT EMPOWERED TEAMS ARE
STILL HUMAN, THEY DO WHAT THEY ARE INCENTED
TO DO. ARE THEY BEING REWARDED FOR QUALITY?
OR ARE THEY BEING REWARDED FOR
PRODUCTIVITY? HOW MUCH RECOGNITION IS THE
TEAM GETTING FOR GOOD CODE QUALITY? HOW
MUCH ARE THEY GETTING FOR DELIVERING
WORKING FEATURES?
“Uncle Bob” Martin
CAREFUL OF THE INCENTIVES
CAN YOU BE TRUSTED?
A NEW HOPE…?
SO MISUNDERSTOOD…
WE HAVE A NEW HOPE TOO…BACK
TO PRINCIPLES
MISUSE AND ABUSE OF PRINCIPLES
I’ve already covered some typical
misuses…including where they deviate and
what to concentrate on…
MISUSE AND ABUSE OF PRINCIPLES
Let’s look at some other things to get us back
to principles…
TOOLS – FROM THE OBVIOUS
TO THE LEAST-EXPECTED
CRC CARDS AND RESPONSIBILITY-
BASED MODELING
 Play the game with a cross-functional team
1. “Is it really the responsibility of this object to handle this
request?”
2. “Is it its responsibility to keep track of all that information?”
 “The best architectures, requirements, and designs
emerge from self-organizing teams.”
SACRIFICIAL ARCHITECTURES
 Mike Brittain and Etsy’s Lean Startup experimentation approach:
architecture is irrelevant until a feature is proven to be wanted by
some pilot demographic, in which case you rebuild it in a
sustainable fashion
 Fowler coined the term “Sacrificial Architecture” in October 2014
to describe these throwaways – “often the best code you can
write now is code you'll discard in a couple of years time”
 Safely enables YAGNI++
 “Simplicity - the art of maximizing the amount of work not done -
is essential.”
NON-FUNCTIONAL REQUIREMENTS
ARE ACTUALLY FEATURES
 “Performance is a feature“ – Jeff Atwood
 What does your product vision actually say about size of
market, globalization, user appetite for risk, etc.?
 Realize any one answer is temporal…it will evolve
 “Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.”
UNIFIED MODELING LANGUAGE (UML)
AND MODEL-DRIVEN ARCHITECTURE (MDA)
 “Forward Engineering” – code generation from model
 “Reverse Engineering” – model extraction from code
 These approaches enable Ambler’s Agile Modeling Practices of:
 Single Source of Information
 Discard Temporary Models
 Iterate to Another Artifact
 Prove it with Code
 Update Only When it Hurts
 “Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.”
EVEN MORE TOOLS TO DIG INTO
MENTORSHIP
 Communities of Practice
 Lunch and Learns
 Pairing and Swarming
 Remember that quote about Architecture
fundamentally being a social construct?
 “Continuous attention to technical
excellence and good design enhances
agility.”
COMMUNICATION AND HAVING
DIFFICULT
CONVERSATIONS
 “Business people and developers must
work together daily throughout the
project.”
“
”
SOFTWARE IS NOT LIMITED BY PHYSICS, LIKE
BUILDINGS ARE. IT IS LIMITED BY IMAGINATION, BY DESIGN, BY
ORGANIZATION. IN SHORT, IT IS LIMITED BY PROPERTIES OF
PEOPLE, NOT BY PROPERTIES OF THE WORLD. “WE HAVE MET
THE ENEMY, AND HE IS US.
Ralph Johnson
YOUR METAPHORS ARE FUNDAMENTALLY
BROKEN
ORGANIZATIONAL
TRANSFORMATION
 “Build projects around motivated
individuals. Give them the
environment and support they
need, and trust them to get the job
done.”
COMMUNICATION, TEAMWORK,
HUMOR, HUMILITY…
THANK YOU!
 Questions?
RESOURCES AND CITATIONS
 Neal Ford
 http://www.ibm.com/developerworks/java/library/j-eaed1/index.html
 Martin Fowler
 http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
 http://martinfowler.com/articles/evodb.html
 http://martinfowler.com/articles/designDead.html
 Ron Jeffries
 http://xprogramming.com/xpmag/expEmergentDesign
 Scott Ambler
 http://www.agilemodeling.com/practices.htm
 “Uncle Bob” Martin
 https://sites.google.com/site/unclebobconsultingllc/home/articles/the-scatology-of-agile-
architecture
 Rebecca Wirfs-Brock
 http://wirfs-brock.com/blog/2011/05/12/agile-architecture-myths-3-good-architecture-
emerges/
 http://wirfs-brock.com/blog/2013/08/13/architecture-at-agile-2013/
 Mike Cohn
 http://www.mountaingoatsoftware.com/blog/agile-design-intentional-yet-emergent

More Related Content

PDF
Agile Architecture v2.0 BITKOM Software Summit 2013
PPTX
This IS Agile Development
PPTX
Agile DC 2013 - Comparing Scaled Agile Framework (SAFe) with Disciplined Agil...
PPTX
Agile delivery a game changer
ODP
Agile Architecture
PPTX
Territories, Not Hierarchies
PDF
Adam boczek 2015 agile architecture in 10 steps v1.0
PDF
Microservices: Architecture for Agile Software Development
Agile Architecture v2.0 BITKOM Software Summit 2013
This IS Agile Development
Agile DC 2013 - Comparing Scaled Agile Framework (SAFe) with Disciplined Agil...
Agile delivery a game changer
Agile Architecture
Territories, Not Hierarchies
Adam boczek 2015 agile architecture in 10 steps v1.0
Microservices: Architecture for Agile Software Development

Viewers also liked (6)

PPTX
Why We Need Architects (and Architecture) on Agile Projects
PPTX
Software architecture in an agile environment
PDF
Agile enterprise architecture
PPTX
Lean Enterprise Architecture
PDF
Technical Debt: Do Not Underestimate The Danger
PPTX
Comparing Scaled Agile Framework (SAFe) and Disciplined Agile Delivery (DAD)
Why We Need Architects (and Architecture) on Agile Projects
Software architecture in an agile environment
Agile enterprise architecture
Lean Enterprise Architecture
Technical Debt: Do Not Underestimate The Danger
Comparing Scaled Agile Framework (SAFe) and Disciplined Agile Delivery (DAD)
Ad

Similar to Agile Architecture: Ideals, History, and a New Hope (20)

PPTX
Agile Architecture and Modeling - Where are we Today
PPTX
Agilelessons scanagile-final 2013
PDF
How do you design
PDF
i poste it befoure three days until now i did not get the answer, to.pdf
PPTX
Thoughts On Architecting V4 2
PPT
Contemporary Software Engineering Practices Together With Enterprise
PDF
Creating An Incremental Architecture For Your System
PDF
On System Design
PDF
Enterprise Design and the Future of Enterprise Architecture
PDF
how do u design?
PPTX
SDLC Smashup
PPT
Agile Architectures, Agile Cultures
PPTX
Software Architecture for Agile Development
PPTX
An Agile Development Primer
PDF
Distributed cat herding
PDF
Design process
PPTX
Visual Design and Architecture
PPTX
Agile architecture upload
PPTX
Emergent Architecture - March 2011
PPT
Architectural Thinking - What Is Architecture?
Agile Architecture and Modeling - Where are we Today
Agilelessons scanagile-final 2013
How do you design
i poste it befoure three days until now i did not get the answer, to.pdf
Thoughts On Architecting V4 2
Contemporary Software Engineering Practices Together With Enterprise
Creating An Incremental Architecture For Your System
On System Design
Enterprise Design and the Future of Enterprise Architecture
how do u design?
SDLC Smashup
Agile Architectures, Agile Cultures
Software Architecture for Agile Development
An Agile Development Primer
Distributed cat herding
Design process
Visual Design and Architecture
Agile architecture upload
Emergent Architecture - March 2011
Architectural Thinking - What Is Architecture?
Ad

More from Gary Pedretti (6)

PPTX
King Tut Architecture
PPTX
Holistic Product Development
PPTX
TFS 2012 + VS 2012 = Agile Goodness???
PPTX
Onion Architecture with S#arp
PPTX
T4 presentation
PPTX
Agile Modeling using the Architecture Tools in VS 2010
King Tut Architecture
Holistic Product Development
TFS 2012 + VS 2012 = Agile Goodness???
Onion Architecture with S#arp
T4 presentation
Agile Modeling using the Architecture Tools in VS 2010

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Network Security Unit 5.pdf for BCA BBA.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx

Agile Architecture: Ideals, History, and a New Hope

  • 1. AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti
  • 2. GARY PEDRETTI  Owner, Sodoto Solutions  SODOTO = See One, Do One, Teach One  Professional Scrum Trainer, Scrum.org  Over sixteen years in the software industry as a generalizing specialist: DBA, coder, BA, architect, tester, manager  Scrum: Team member, Scrum Master, PO, Coach  GaryPedretti.com  @GaryPedretti  http://www.linkedin.com/in/GaryPedretti  http://www.slideshare.net/earl128  SpeakerRate: http://TinyUrl.com/GarysSpeakerRate
  • 4. BUT FIRST – WHAT IS “ARCHITECTURE”?  “…the highest level concept of a system in its environment. The architecture of a software system (at a given point in time) is its organization or structure of significant components interacting through interfaces, those components being composed of successively smaller components and interfaces.” – RUP, IEEE  “…shared understanding of the system design…architecture only includes the components and interfaces that are understood by all the developers…architecture is a social construct” – Fowler  “Stuff that’s hard [expensive] to change later.” – Neal Ford and others
  • 5. BUT FIRST – WHAT IS “ARCHITECTURE”? “Architecture is about the important stuff. Whatever that is.” – Fowler
  • 6. FRAMEWORK VS. APPLICATION VS. ENTERPRISE  Neal Ford describes a “Framework-Level Architecture” – important because the unit of reuse in modern languages is the library or framework  Application Architecture = building architecture  Enterprise Architecture = city planning  Service-Oriented Architecture (SOA) = very interesting as a blend of Application and Enterprise Architectural concerns
  • 7. A LONG TIME AGO IN A GALAXY FAR, FAR AWAY… IDEALS AND PRINCIPLES
  • 8. LITTLE KNOWN FACTS ABOUT HAN SOLO, THE IDEALIST
  • 9. BUDDIES (BASED ON HAN’S PRINCIPLES AND IDEALS)
  • 10. AGILE (ARCHITECTURE) HAS IDEALS TOO This is NOT your capital “A” Architects’ architecture!
  • 11. AGILE ARCHITECTURE IDEALS, ETC. - SOURCES Ideals, Principles, Ideas => Techniques, Practices, Patterns Agile Manifesto and its Principles Kent Beck, Ward Cunningham, Ron Jeffries, et. al. from eXtreme Programming (XP) Martin Fowler Scott Ambler
  • 12. THE MANIFESTO Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 13. PRINCIPLES BEHIND THE MANIFESTO  Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.  Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.  Working software is the primary measure of progress.  Continuous attention to technical excellence and good design enhances agility.  Simplicity - the art of maximizing the amount of work not done - is essential.  The best architectures, requirements, and designs emerge from self- organizing teams
  • 14. A WORD ON “EVOLUTIONARY” VS. “EMERGENT” “If you accept the premise that architecture is about things hard to change later, it becomes difficult to allow an architecture to emerge.” – Neal Ford Jeff Sutherland and Rebecca Wirfs-Brock agree Words matter – this is about communication…remember architecture is a social construct…
  • 15. XP – KENT BECK’S RULES FOR SIMPLE DESIGN 1. Test Everything (and run all the tests) 2. Eliminate Duplication (code) 3. Express All Ideas (that the author wants to express) 4. Minimize Entities (classes and methods)
  • 16. EVOLUTIONARY DESIGN > BDUF No Big Design Up Front (BDUF) Replace with Evolutionary Design Where Evolutionary Design != “code and fix” or Cowboy Hacking
  • 17. “ ” OPTIMISM IS AN OCCUPATIONAL HAZARD OF PROGRAMMING, FEEDBACK IS THE TREATMENT. Kent Beck FEEDBACK
  • 18. MARTIN FOWLER  Famous “Who Needs an Architect?” paper and “Is Design Dead?” blog post  Significant emphasis on the untenable split between design and build with software (a technique that can work in engineering, manufacturing, buildings, etc.), with XP practices  But in reality, encourages a healthy middle ground – doesn’t disown UML, patterns, design activities, etc.  Used Pramod Sadalage’s DB work as an example of the “unchangeable” becoming fluid
  • 19. SCOTT AMBLER In his “Agile Modeling,” lays out specific  Values  Principles  Practices Builds off of core agile principles, and forges middle ground regarding UML, patterns, forethought, etc. Worked with Pramod Sadalage on Database Refactoring
  • 26. BUDDIES REMINDER: BASED ON HAN’S (SELFLESS) PRINCIPLES AND IDEALS
  • 27. OH, SO MANY MISUNDERSTANDINGS Agile Principles…
  • 28. FIRST, LET’S IMAGINE THE IDEALS ABUSED… XP The Manifesto
  • 29. ABUSING XP PRINCIPLES NO BDUF!!! (and skipping the “no Cowboy Hacking, either” part)
  • 30. ABUSING THE MANIFESTO  NO DOCUMENTATION NECESSARY!  NO PLANS!  (ignoring the “while there is value in the items on the right” part completely)  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan
  • 31. ABUSING THE PRINCIPLES BEHIND THE MANIFESTO  CODERS ARE GODS NOW – ME ME ME – what’s motivation again? What’s a stakeholder?  WORKING SOFTWARE IS THE ONLY THING THAT MATTERS!  SIMPLE is best – ALWAYS!  Things emerge – I don’t need to think about them!!
  • 32. “ ” ONE OF THE MORE INSIDIOUS AND PERSISTENT MYTHS OF AGILE DEVELOPMENT IS THAT UP-FRONT ARCHITECTURE AND DESIGN ARE BAD; THAT YOU SHOULD NEVER SPEND TIME UP FRONT…DESIGN FROM NOTHING, ONE TEST-CASE AT A TIME. PARDON ME, BUT THAT’S HORSE SHIT. “Uncle Bob” Martin WOW!
  • 33. HAVE YOU BEEN HERE BEFORE???
  • 34. (THE EMPIRE STRIKES BACK?) THE BACKLASH
  • 35. GUESS I’M ON MY OWN, HAN…
  • 37. WE’VE SEEN A LOT OF BACKLASH FROM ALL THOSE MISUNDERSTANDINGS… Organizational Snapback New Frameworks to “Address the issue of…” Broken Trust
  • 38. ORGANIZATIONAL SNAPBACK – THREE STEPS FORWARD, TWO STEPS BACK “Change Spasm” – Simon Rendl “Organizational Antibodies” – Michael Sahota
  • 39. “ ” THERE COMES A POINT AT WHICH EMERGENT DESIGN IS AN INSUFFICIENT RESPONSE TO THE COMPLEXITY OF LARGE-SCALE SYSTEM DEVELOPMENT. From a newer framework Question: Is there a magical point at which waterfall, command/control, phase-gated, heavily plan-based methodologies suddenly just “start to work”?????
  • 40. “ ” FOR THIS WE NEED SOME INTENTIONAL ARCHITECTURE—A SET OF PURPOSEFUL, PLANNED ARCHITECTURAL INITIATIVES TO ENHANCE SOLUTION DESIGN, PERFORMANCE AND USABILITY—AND WHICH PROVIDES GUIDANCE FOR INTER-TEAM DESIGN AND IMPLEMENTATION SYNCHRONIZATION. Read: Command and Control?? Funny, Mike Cohn used intentional at least back to 2009… From a newer framework
  • 41. “ ” IN THE CASES WHERE NEW PLATFORMS ARE PARTICULARLY INNOVATIVE, OR IN THE CASE OF ENTIRELY NEW (GREENFIELD) DEVELOPMENT, IT IS COMMON THAT SYSTEM ARCHITECTS PLAY A ROLE IN THE INITIAL DEFINITION AND BUILD OUT OF THE RUNWAY. Read: Self-Organizing Teams Probably Can’t Be Trusted From a newer framework
  • 42. I HAVE A QUESTION Is there a magical point at which waterfall, command/control, phase-gated, heavily plan-based methodologies suddenly just “start to work”????? But…what about nature?
  • 43. CAN PEOPLE BE TRUSTED TO MAKE DECISIONS AT THE LAST RESPONSIBLE MOMENT?  Or will they typically conflate responsible with possible?  Rebecca Wirfs-Brock said “yes” at Agile 2013 – granted, her blog backs this idea with one psychological study
  • 44. “ ” THE PROBLEM IS THAT EMPOWERED TEAMS ARE STILL HUMAN, THEY DO WHAT THEY ARE INCENTED TO DO. ARE THEY BEING REWARDED FOR QUALITY? OR ARE THEY BEING REWARDED FOR PRODUCTIVITY? HOW MUCH RECOGNITION IS THE TEAM GETTING FOR GOOD CODE QUALITY? HOW MUCH ARE THEY GETTING FOR DELIVERING WORKING FEATURES? “Uncle Bob” Martin CAREFUL OF THE INCENTIVES
  • 45. CAN YOU BE TRUSTED?
  • 48. WE HAVE A NEW HOPE TOO…BACK TO PRINCIPLES
  • 49. MISUSE AND ABUSE OF PRINCIPLES I’ve already covered some typical misuses…including where they deviate and what to concentrate on…
  • 50. MISUSE AND ABUSE OF PRINCIPLES Let’s look at some other things to get us back to principles…
  • 51. TOOLS – FROM THE OBVIOUS TO THE LEAST-EXPECTED
  • 52. CRC CARDS AND RESPONSIBILITY- BASED MODELING  Play the game with a cross-functional team 1. “Is it really the responsibility of this object to handle this request?” 2. “Is it its responsibility to keep track of all that information?”  “The best architectures, requirements, and designs emerge from self-organizing teams.”
  • 53. SACRIFICIAL ARCHITECTURES  Mike Brittain and Etsy’s Lean Startup experimentation approach: architecture is irrelevant until a feature is proven to be wanted by some pilot demographic, in which case you rebuild it in a sustainable fashion  Fowler coined the term “Sacrificial Architecture” in October 2014 to describe these throwaways – “often the best code you can write now is code you'll discard in a couple of years time”  Safely enables YAGNI++  “Simplicity - the art of maximizing the amount of work not done - is essential.”
  • 54. NON-FUNCTIONAL REQUIREMENTS ARE ACTUALLY FEATURES  “Performance is a feature“ – Jeff Atwood  What does your product vision actually say about size of market, globalization, user appetite for risk, etc.?  Realize any one answer is temporal…it will evolve  “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
  • 55. UNIFIED MODELING LANGUAGE (UML) AND MODEL-DRIVEN ARCHITECTURE (MDA)  “Forward Engineering” – code generation from model  “Reverse Engineering” – model extraction from code  These approaches enable Ambler’s Agile Modeling Practices of:  Single Source of Information  Discard Temporary Models  Iterate to Another Artifact  Prove it with Code  Update Only When it Hurts  “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
  • 56. EVEN MORE TOOLS TO DIG INTO
  • 57. MENTORSHIP  Communities of Practice  Lunch and Learns  Pairing and Swarming  Remember that quote about Architecture fundamentally being a social construct?  “Continuous attention to technical excellence and good design enhances agility.”
  • 58. COMMUNICATION AND HAVING DIFFICULT CONVERSATIONS  “Business people and developers must work together daily throughout the project.”
  • 59. “ ” SOFTWARE IS NOT LIMITED BY PHYSICS, LIKE BUILDINGS ARE. IT IS LIMITED BY IMAGINATION, BY DESIGN, BY ORGANIZATION. IN SHORT, IT IS LIMITED BY PROPERTIES OF PEOPLE, NOT BY PROPERTIES OF THE WORLD. “WE HAVE MET THE ENEMY, AND HE IS US. Ralph Johnson YOUR METAPHORS ARE FUNDAMENTALLY BROKEN
  • 60. ORGANIZATIONAL TRANSFORMATION  “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
  • 63. RESOURCES AND CITATIONS  Neal Ford  http://www.ibm.com/developerworks/java/library/j-eaed1/index.html  Martin Fowler  http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf  http://martinfowler.com/articles/evodb.html  http://martinfowler.com/articles/designDead.html  Ron Jeffries  http://xprogramming.com/xpmag/expEmergentDesign  Scott Ambler  http://www.agilemodeling.com/practices.htm  “Uncle Bob” Martin  https://sites.google.com/site/unclebobconsultingllc/home/articles/the-scatology-of-agile- architecture  Rebecca Wirfs-Brock  http://wirfs-brock.com/blog/2011/05/12/agile-architecture-myths-3-good-architecture- emerges/  http://wirfs-brock.com/blog/2013/08/13/architecture-at-agile-2013/  Mike Cohn  http://www.mountaingoatsoftware.com/blog/agile-design-intentional-yet-emergent

Editor's Notes

  • #2: Application and Enterprise Architecture has been put through its paces in the agile world over the years: Ideals (architectural work inside the development team, shortening the design-to-implementation loop as much as possible) Misinterpretations and misunderstandings ("We don't need no stinking Architects!" screamed the Keyboard Cowboys) The inevitable backlash of misinterpretations, lack of craft, and the inertia of the status quo (Architectural Epics continuing to encourage a split between business and IT, command-and-control capital-"A" Architects). Where are we now? What have we learned? More importantly, what have we forgotten? Now more than ever, we need to go back to the core principles of agility and emergent architecture. Let's talk.
  • #4: This is a tour of Agile Architecture history in rough chronological order, followed by ideas and tools In “A New Hope,” I will talk about specific techniques and mindsets that can help you go forward with success.
  • #9: In the Star Wars “expanded universe” of books and comics… Solo loses his commission and is dishonorably discharged when he refuses an order to skin Chewbacca for commandeering a ship carrying Wookiee children destined for slavery; Chewbacca, in turn, swears a "life-debt" to Solo. - Ann C. Crispin's The Han Solo Trilogy (1997–1998)
  • #10: Buddies by principle – Chewie’s sworn “life debt” on Han’s principled actions
  • #12: Roughly chronological order, going from mid-90s forward
  • #20: Values: communication, simplicity, feedback, courage, humility Principles: Assume Simplicity, Embrace Change, Enabling the Next Effort is Your Secondary Goal, Incremental Change, Maximize Stakeholder ROI, Model With a Purpose, Multiple Models, Quality Work, Rapid Feedback, Working Software Is Your Primary Goal, Travel Light Supplementary: Content is More Important Than Representation, Open and Honest Communication Practices: Display Models Publicly, Iterate to Another Artifact (where artifacts are models, diagrams, code, conversations) Active Stakeholder Participation, Apply the Right Artifact(s), Collective Ownership, Create Several Models in Parallel, Create Simple Content, Depict Models Simply, Display Models Publicly, Iterate to Another Artifact, Model in Small Increments, Model With Others, Prove it With Code, Single Source Information, Use the Simplest Tools Supplementary: Apply Modeling Standards, Apply Patterns Gently, Discard Temporary Models, Formalize Contract Models, Update Only When It Hurts
  • #26: Greedo was clearly going to hurt Han, looking at the dialogue: HAN: Even I get boarded sometimes. Do you think I had a choice? Han Solo slowly reaches for his gun under the table. GREEDO: You can tell that to Jabba. He may only take your ship. HAN: Over my dead body. GREEDO: That's the idea. I've been looking forward to killing you for a long time. HAN: Yes, I'll bet you have.
  • #27: Despite Solo’s swashbuckling, mercenary, out-for-myself appearances, remember that by the time we meet him in Star Wars: A New Hope, he is where he is based on a stand on his principles and ideals Buddies by principle – Chewie’s sworn “life debt” on Han’s principled actions
  • #32: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. – autonomy, mastery, and purpose Working software is the primary measure of progress. Simplicity - the art of maximizing the amount of work not done - is essential. The best architectures, requirements, and designs emerge from self-organizing teams
  • #36: Maybe Han is all about the “Solo”?
  • #46: Self-Organizing = anarchy, right? NO. Choosing “hows” in contexts of well-defined “whys” and at least partial “whats” Often backlash here when there never was a “why,” nor a will to create one
  • #53: Class – Responsibility – Collaborators “Is it really the responsibility of this object to handle this request?” “Is it its responsibility to keep track of all that information?” Play the CRC/RBD game with a cross-functional team!!! This ultimately moves towards DDD, ubiquitous language, strong business/dev relations, etc.
  • #56: Star UML, Sparx Enterprise Architect, Argo UML, Borland Together, Visual Studio Ultimate Architecture Tools
  • #60: Calls back to the Fowler ideas of fundamental split between manufacturing/design/build and software develpment Speaking of communication… Buildings Engineering Assembly Lines “Architecture” itself!!!