Organizational Patterns

Agile Architecting
Architecture
&
Organizational
Patterns
~
Erik Philippus
1
©IMPROVEMENT BV
Organizational Patterns
Architecture & Organization
Agile Architecting
Unless you understand how architecture
will interact with your organization,
even the most sensible architectures
can quickly stagnate or lead to more
unpleasant surprises
technical
complexity
social
complexity
2
Organizational Patterns
1
VRAPS
organizational patterns
Agile Architecting
• Vision
• Rhythm
• Anticipation
• Partnering
Five interrelated principles
that make a critical
difference in software
architecture success
• Simplification
3
Organizational Patterns
VRAPS
Agile Architecting
towards a balanced view
organization
effects of
architecture
are hidden
executive's
view
architecture
architecture
focus
shift in the
practitioner's
perspective
effects of
organization
are hidden
shift in the
executive's
perspective
organization
focus
4
Organizational Patterns
2
VRAPS
taking action
Agile Architecting
Recognise, diagnose and heal
harmful conditions
VRAPS Reference Model
Criteria are used for assessing a principle
Patterns describe common solutions to problems
encountered when putting the principle into practice
Antipatterns describe pitfalls,
or solutions applied in the wrong context
5
Organizational Patterns
VRAPS
Agile Architecting
patterns & antipatterns
Know Thy
Stakeholders
Missing
Piece
Anti-gravity
module
Trend
Surfer
Schedule
Chicken
Feature
Bloating
Tunnel
Vision
Portable
Hole
Phone
Doesn’t Ring
(Late)
Killer Feature
Banyan
Tree
6
Organizational Patterns
3
VRAPS anti-pattern:
Antigravity Module
Agile Architecting
Risky components are scheduled
to be completed last.
Anecdotal evidence:
“Then there will be more time
to address their risks.”
Forces:
“The launch module is 99% built all we need is the antigravity module.”
Related Pattern:
Close To Everest
• Limits of optimism are stretched by
management
• Customers demand estimates for
unprecedented features
Solution:
• Step back from the hypnotic excitement
surrounding pending sales and ask for
and accept honest answers
7
Organizational Patterns
VRAPS anti-pattern:
Banyan Tree
Agile Architecting
The absence of well-considered framework
leads to many single point solutions
Ficus Benghalensis
Forces:
• Intense time pressure leads to building
ad-hoc solutions
• Too much focus on individual products;
nothing is shared
• Many short-term decisions are made to
address immediate needs - leading to
higher maintenance costs and
increased complexity
Anecdotal Evidence:
"our speciality is making specials"
Solution:
•
Opposite Pattern:
Many unwanted/unused
features lead to no use
Root Bound
Conduct trade-off analysis: consider the
short-term and downstream consequences
• Commitment to get things back on to a
single track
8
Organizational Patterns
4
Chef Cook & Bottle Washer
Agile Architecting
Because of the presumed flexibility of software,
software engineers are considered to
quickly solve all integration problems
Forces:
“You should ask the
software guys
to solve this!”
•
•
•
•
•
Overestimation of software flexibility
Underestimation of software cost
Quick-and-dirty solutions
Short horizon
Prototype confused with final product
Solution:
• Development of a more ‘mature’
attitude as a software engineer
• Make an underlined comparison
between sw and hw solutions
9
Organizational Patterns
Scapegoat
Agile Architecting
At integration, a disproportional amount of
engineering time is asked from software engineers
to point out the erroneous module
“Must be the
software again!”
Related Pattern:
Delegate &
Create
Forces:
• Biased view on software development
as an engineering discipline
• Underestimation of software
engineering efforts
• Image of software engineers as a
chef cook and bottle-washer
Solution:
• Integration engineer with sufficient
software engineering experience
• Improve unit-testing
(using multidisciplinary scenario's)
• Morning Prayer
10
Organizational Patterns
5
Delegate & Create
Agile Architecting
The overall focus is on co-design,
instead of losing a lot of team effort
by 'scoring off' other teammembers
San Gimignano
Forces:
• teams/disciplines are 'settled up'
separately
• a lot of 'politics' in the organization
• macho behaviour
Make co-design,
not war
Solution:
• change reward culture
• focus on collective end-result
• help to build a cathedral, instead of
being a 'stone cutter'
Related Anti-Pattern:
Scapegoat
11
Organizational Patterns
My Flexible Friend
Agile Architecting
Specific customer wishes are automatically
translated into ‘single point solutions’, without
proper investigation of the overall impact.
Forces:
• Specials are the means
for customer satisfaction
• Heavy competition
• Corporate image
Anecdotal Evidence:
This special is not on our list;
you need to contact XXX
Related Anti-Pattern:
Solution:
• Make sound trade-off’s
• Minimize options
• Increase test-coverage
• Reserve resources to properly
incoporate 'rushed work'
Banyan Tree
12
Organizational Patterns
6
Radiate Information
Agile Architecting
"architectuur doe je aan de muur"
Keep the team focussed by utilizing a display of
critical team information that is continuously updated
and located in a spot where the team can see it constantly
Forces:
• Low visibility of crucial information
• Diminished focus on work results
• Ineffecient traditional reporting
(a lot of "what is your status?" interrupts)
• Low communication temperature
• Failure to amplify feedback
Information radiators
• are big,
• very easy to see,
(not only online, generally)
• change often enough
to be worth revisiting.
Related Anti-Pattern:
Phone doesn't ring
Solution:
• Visual sharing of team progress
e.g. with posterboard on the wall with
index cards and pushpins
• Information must be kept up-to-date
• Information is displayed where
passersby can see it
• Team members are able to update
the information
13
Organizational Patterns
Reference
Agile Architecting
David M. Dikel, David Kane, and James R. Wilson
Software Architecture: Organizational Principles and Patterns
Prentice Hall, ISBN 0-13-029032-7 (2001)
http://www.vraps.com
http://www.improvement-services.nl/Artikel.html#Spiegel
14
Organizational Patterns
7