+ All Categories
Home > Documents > AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE –...

AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE –...

Date post: 22-Sep-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
37
6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto Solutions SODOTO = See One, Do One, Teach One Trainer, Coach, Consultant Professional Scrum Trainer, Scrum.org Over twenty years in the software industry as a generalizing specialist: DBA, coder, BA, architect, tester, manager GaryPedretti.com @GaryPedretti http://www.linkedin.com/in/GaryPedretti http://www.slideshare.net/earl128 SpeakerRate: http://TinyUrl.com/GarysSpeakerRate Scrum.org Improving the Profession of Software Development
Transcript
Page 1: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

1

AGILE ARCHITECTURE –IDEALS, HISTORY, AND A NEW HOPEGary Pedretti

@GaryPedretti

GARY PEDRETTI

� Owner, Sodoto Solutions

� SODOTO = See One, Do One, Teach One

� Trainer, Coach, Consultant� Professional Scrum Trainer, Scrum.org

� Over twenty years in the software industry as a generalizing specialist: DBA, coder, BA, architect, tester, manager

� GaryPedretti.com

� @GaryPedretti

� http://www.linkedin.com/in/GaryPedretti

� http://www.slideshare.net/earl128

� SpeakerRate: http://TinyUrl.com/GarysSpeakerRate

Scrum.orgImproving the Profession of Software Development

Page 2: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

2

@GaryPedretti

IDEALS & PRINCIPLES

MISUNDERSTANDINGS

BACKLASH

A NEW HOPE

Agenda

@GaryPedretti

BUT FIRST – WHAT IS “ARCHITECTURE”?

� “…the highest level concept of a system in its environment….at a given point in time…structure of significant components interacting through interfaces…[and] 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

Page 3: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

3

@GaryPedretti

“Architecture is about the important stuff. Whatever that is.” – Fowler

@GaryPedretti

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

Page 4: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

4

@GaryPedretti

A LONG TIME AGO IN A GALAXY FAR, FAR AWAY…

IDEALS & PRINCIPLES

@GaryPedretti

LITTLE KNOWN FACTS ABOUT HAN SOLO, THE IDEALIST

Page 5: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

5

@GaryPedretti

BUDDIES(BASED ON HAN’S PRINCIPLES AND IDEALS)

@GaryPedretti

IDEALS

Page 6: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

6

@GaryPedretti

AGILE (ARCHITECTURE) HAS IDEALS TOO

This is NOT your capital “A” Architects’ architecture!

@GaryPedretti

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

Page 7: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

7

@GaryPedretti

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.

@GaryPedretti

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 designenhances 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

Page 8: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

8

@GaryPedretti

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…

@GaryPedretti

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)

Page 9: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

9

@GaryPedretti

EVOLUTIONARY DESIGN > BDUF

�No Big Design Up Front (BDUF)�Replace with Evolutionary

Design�Where Evolutionary Design !=

“code and fix” or Cowboy Hacking

@GaryPedretti

”OPTIMISM IS AN OCCUPATIONAL HAZARD OF PROGRAMMING, FEEDBACK IS THE TREATMENT.

Kent Beck

FEEDBACK

Page 10: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

10

@GaryPedretti

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

@GaryPedretti

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

Page 11: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

11

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

@GaryPedretti

MISUNDERSTANDINGS

Page 12: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

12

@GaryPedretti

GOING SOMEWHERE, SOLO?

@GaryPedretti

HAN SHOT FIRST!!

Page 13: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

13

@GaryPedretti

MERCENARY, SWASHBUCKLER, EVERY-MAN-FOR-HIMSELF…**SOLO**

@GaryPedretti

AND SMUG, TOO!!

Page 14: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

14

@GaryPedretti

I’M SO MISUNDERSTOOD

@GaryPedretti

JUSTIFIED!

Page 15: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

15

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

@GaryPedretti

OH, SO MANY MISUNDERSTANDINGS

Agile Principles…

Page 16: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

16

@GaryPedretti

FIRST, LET’S IMAGINE THE IDEALS ABUSED…

�XP�The Manifesto

@GaryPedretti

ABUSING XP PRINCIPLES

�NO BDUF!!!

�(and skipping the “no Cowboy Hacking, either” part)

Page 17: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

17

@GaryPedretti

ABUSING THE MANIFESTO

� NO DOCUMENTATION NECESSARY!� NO PLANS!

� (ignoring the “while there is value in the items onthe 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

@GaryPedretti

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!!

Page 18: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

18

@GaryPedretti

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!

@GaryPedrettiHERE’S WHAT WE’RE AFTER…

1 2 3 4 5 6 7

Effort

T i m e

Features

Architecture/Infrastructure

Page 19: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

19

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

Abusing the Principles, Keyboard Cowboys, No Documentation

(Mid-00’s, Early-10’s)

@GaryPedretti

HAVE YOU BEEN HERE BEFORE???

Page 20: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

20

@GaryPedretti

THE EMPIRE STRIKES BACK? MISUNDERSTANDINGS GET CODIFIED WHEN RESPONDED TO…

THE BACKLASH

@GaryPedretti

GUESS I’M ON MY OWN, HAN…

Page 21: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

21

@GaryPedretti

CAN YOU BLAME HIM?

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

Abusing the Principles, Keyboard Cowboys, No Documentation

(Mid-00’s, Early-10’s)

BACKLASH

Page 22: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

22

@GaryPedretti

WE’VE SEEN A LOT OF BACKLASH FROM ALL THOSE MISUNDERSTANDINGS…

�Organizational Snapback�New Frameworks to “Address the issue of…”�Broken Trust

@GaryPedretti

ORGANIZATIONAL SNAPBACK – THREE STEPS FORWARD, TWO STEPS BACK

�“Change Spasm” – Simon Rendl

�“Organizational Antibodies” – Michael Sahota

Page 23: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

23

@GaryPedretti

THERE COMES A POINT AT WHICH EMERGENT DESIGN IS AN INSUFFICIENT RESPONSE TO THE COMPLEXITY OF LARGE-SCALE SYSTEM DEVELOPMENT.

From a newer scaled agile framework

Question: Is there a magical point at which waterfall, command/control, phase-gated, heavily plan-based methodologies suddenly just “start to work”?????

@GaryPedretti

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 scaled agile framework

Page 24: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

24

@GaryPedretti

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, and/or there are some ”important” architects who shouldn’t be on a team with coders…

From a newer scaled agile framework

@GaryPedretti

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?

Page 25: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

25

@GaryPedretti

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

@GaryPedretti

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

Page 26: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

26

@GaryPedretti

CAN YOU BE TRUSTED?

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

Abusing the Principles, Keyboard Cowboys, No Documentation

(Mid-00’s, Early-10’s)

BACKLASH

Organizational Regression, New Frameworks Build in Mistrust

(Early-to-Mid 10’s)

Page 27: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

27

@GaryPedretti

A NEW HOPE…?

@GaryPedretti

SO MISUNDERSTOOD…

Page 28: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

28

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

Abusing the Principles, Keyboard Cowboys, No Documentation

(Mid-00’s, Early-10’s)

BACKLASH

Organizational Regression, New Frameworks Build in Mistrust

(Early-to-Mid 10’s)

A NEW HOPE?

@GaryPedretti

WE HAVE A NEW HOPE TOO…BACK TO PRINCIPLES

Page 29: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

29

@GaryPedretti

MISUSE AND ABUSE OF PRINCIPLES

� I’ve already covered some typical misuses…including where they deviate and what to concentrate on…

@GaryPedretti

�Let’s look at some other things to get us back to principles…

Page 30: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

30

@GaryPedretti

TOOLS – FROM THE OBVIOUS TO THE LEAST-EXPECTED

@GaryPedretti

CRC CARDS AND RESPONSIBILITY-BASED MODELING

� Play the game with a cross-functional team1. “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.”

Page 31: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

31

@GaryPedrettiRESPONSIBILITY-BASED MODELING

The class then literally acted out the use case following these rules: � Perform the activities that comprise the use case by talking to one

another.� You can only talk to your collaborators. If you must talk to someone

else, you should talk to a collaborator who can talk to the other person. If that isn't possible, add a collaborator to your CRC card.

� You may not ask for the information you need to do something. Rather, you must ask the collaborator who has the information to do the work. It's okay to pass to that collaborator information he needs to do the work, but keep this interaction to a minimum.

� If something needs to be done and nobody can do it, create a new class (and CRC card) or add a responsibility to an existing class (and CRC card).

� If a CRC card gets too full, you must create another class (CRC card) to handle some of the responsibilities. Complexity is limited by what you can fit on a 4x6 index card.

� A recording made of the entire conversation is the program's dynamic model. The finished set of CRC cards is the program's static model. With many fits and starts, you can solve just about any problem this way.

@GaryPedretti

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++

� Akin to prototypes, Brooks’ “Build One to Throw Away” ???

� “Simplicity - the art of maximizing the amount of work not done -is essential.”

Page 32: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

32

@GaryPedretti

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.”

@GaryPedretti

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.”

Page 33: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

33

@GaryPedretti

EVEN MORE TOOLS TO DIG INTO

@GaryPedretti

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.”

Page 34: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

34

@GaryPedretti

COMMUNICATION AND HAVING DIFFICULT CONVERSATIONS

� “Business people and developers must work together daily throughout the project.”

@GaryPedretti

SOFTWARE IS NOT LIMITED BY PHYSICS, LIKEBUILDINGS 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

Page 35: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

35

@GaryPedretti

ORGANIZATIONAL TRANSFORMATION

� “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

@GaryPedretti

IDEALS

XP, Agile Manifesto, Ford / Fowler / Ambler

(Late-90’s, Early-00’s)

MISUNDERSTOOD

Abusing the Principles, Keyboard Cowboys, No Documentation

(Mid-00’s, Early-10’s)

BACKLASH

Organizational Regression, New Frameworks Build in Mistrust

(Early-to-Mid 10’s)

A NEW HOPE?

CRC Cards / Modeling, Sacrificial Architectures, Non-Functional = Functional, UML / MDA, Mentorship, Communication, Organizational Transformation

(Start Today!)

Page 36: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

36

@GaryPedretti

COMMUNICATION, TEAMWORK, HUMOR, HUMILITY…

@GaryPedretti

THANK YOU!

� LET ME KNOW WHAT YOU THINK: @[email protected]

� CONTACT ME REGARDING TRAINING AND WORKSHOPS IN THE MIDWEST(CHICAGO, MILWAUKEE, MADISON, MINNEAPOLIS, ST. LOUIS)

Scrum.orgImproving the Profession of Software Development

Page 37: AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE€¦ · 6/26/17 1 AGILE ARCHITECTURE – IDEALS, HISTORY, AND A NEW HOPE Gary Pedretti @GaryPedretti GARY PEDRETTI Owner, Sodoto

6/26/17

37

@GaryPedretti

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


Recommended