Continuous architecture - Managing architectural

Antonio Martini
Jan Bosch
Michel Chaudron
Project #2 of Software Center
Antonio Martini - PhD student in Software Engineering
Agile and Development Speed
We all know that Empowered, Self-managed, Feature
Teams, significantly increase development speed
FT = Feature Team
Need for Architecture Runway (2010’s)
...if someone provides them with architecture runway
“In systems of
complexity, building
and maintaining
sufficient
architectural
runway is a key to
overall productivity”
- Leffingwell*
Moral
FTs are great
for missions, but
someone must
provide the runway,
for the FTs’
takeoffs and returns
*) Dean Leffingwell, Scaling Software Agility, 2007
How do we Organize Runway Work?
Product
Owners
Customers
Feature Teams
(FTs)
Runway Teams
(RTs)
SW Architecture
AGILE
PRINCIPLES
CRITICAL*
Continuous
Integration Teams
COMMUNICATION
IS CRITICAL*
Test & Build
Architecture,
Governance
ORGANIZATION
CRITICAL*
*) We cannot afford to organize architecture work in pre-agile ways
Research Goal: avoid the accumulation of
Architectural Technical Debt…
ATD accumulation
Crisis critical point
Time
Antonio Martini - PhD student in Software Engineering
How? Finding dangerous architectural
technical debt
Antonio Martini - PhD student in Software Engineering
Research Results: Organizational Framework CAFFEA
Feature
Teams
defines
defines
steers
m
d d t
BLP – product backlog
BLR – runway backlog
FT – feature team
RT – runway team
GT – governance team
d – designer t – tester
P – product manager
a
k
Prioritization of
P ... AAA
a ... d d t RT1
Architecture Debt
vs
Features
...
P
...
steers
...
A
...
...
Find
FT1 d d t ... a
GT1
Architectural
Debt
GT
FT
Runway
Teams
BLR
A
A* ... A*
...
BLP
Governance
Teams
AAA
a
steers
a – team architect
A – governance architect
A* – chief architect
d d t RTn
7 organizations employing CAFFEA

Already started
 Ericsson
○ 3 sites
 Jeppesen
 Volvo AB (Powertrain)

Planned
 Axis
 Grundfos
Antonio Martini - PhD student in Software Engineering
Research Goal: providing information for
prioritization decisions
Architectural
Debt
A
Feature
Prioritization:
comparison and
ranking
Refactoring
P
Development
Current
Information
Increased
information
ARCHITECTURAL
DEBT ITEM
Antonio Martini - PhD student in Software Engineering
Attribute
Val
ue
Principal
$
Interest
$
Compound
interest
$
…
…
Research Results

2 methods for
 Showing component-dependency violations
 Spot unknown violations
 Prioritize violations
Comp A
Comp B
Antonio Martini - PhD student in Software Engineering
Next Step (1)

Study contagious
architectural
debt
 Recommendations
 Indicators
 Solutions
Component B
Propagated
ATD
Compound
Interest
Component C
Propagated
ATD
ATD Item
Component A
Antonio Martini - PhD student in Software Engineering
Principal
Next Step (2)

Methods for dependencies violations
 Apply
 Evaluate
 Replicate
Comp A
Comp B
Antonio Martini - PhD student in Software Engineering
Next Step (3)
Feature
Teams
defines
defines
steers
m
d d t
BLP – product backlog
BLR – runway backlog
FT – feature team
RT – runway team
GT – governance team
d – designer t – tester
P – product manager
a
k
Prioritization of
P ... AAA
a ... d d t RT1
Architecture Debt
vs
Features
...
P
...
steers
...
A
...
...
Find
FT1 d d t ... a
GT1
Architectural
Debt
GT
FT
Runway
Teams
BLR
A
...
BLP
Governance
Teams
AAA
A* ... A*
a
• Evaluatesteers
a• –Improve
team architect
A – governance architect
A* – chief architect
d d t RTn
…to be continued…
Antonio Martini - PhD student in Software Engineering