Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
© CGI Group Inc. CONFIDENTIAL
Agile Architecting with RCDA
Eltjo Poort
Dr. Eltjo Poort
Distinguished Solution Architect
2
With 25 years of experience as an architect in the digital world,
Eltjo is an internationally renowned speaker and author in his field.
He is the award-winning founder and owner of Risk- and Cost-
Driven Architecture, CGI’s agile architecture approach.
RCDAFounder / ownerCGI’s agile architecture
approach
PhDImproving Solution
Architecting Practices
ArchitecturePractice Lead
Reviewer
Coach
Agile transformer
30 Years experience in
software industry
14Peer-reviewed publications
2 Best paper awards
1993Joined CGI
2016 Linda Northrop Architecture
Award
http://eltjopoort.nl
Combining Architecture with Agile working
Conflicting paradigms?
Too much architecture leads to…
• Late business value delivery?
• Trouble responding to change?
• Slow learning from experience?
• Wasted design effort?
Too much agile practice leads to…
• Ill-considered, inconsistent choices?
• Re-inventing the wheel?
• Technical debt accumulation?
• Short-lived solutions?
3
Do we still need Architecture?
Result Improvement by applying Solution Architecture
Budget predictability 2-3 x better Std dev 32 → 13
Budget overrun 7 x less 22% → 3%
Time overrun 6 x less 48% → 8%
Troubled projects 3 x less 38% → 13%
Customer satisfaction 1-2 points better 10 point scale
Results delivered +10%
4
Survey among 49 software development projects between €50,000 and
€2,500,000. Reported by Raymond Slot, PhD Thesis, 2010.
Benefits of combining Agile and Architecture
5
Architecture
• Up-front design
• Structural stability
• Standardization
• Stability
• Risk and cost control
Balance
• Shortening the learning cycle
• Just enough anticipation
• Decentral where possible, standards where necessary
• Architectural design with a short feedback loop
• Balancing architecture and agile based on business rationale and not on dogma
Agile
• Experimentation
• Business features
• Local optimization
• Flexibility
• Quick business value
Principles of Agile Architecting
Architecture as a stream of decisions
Let economic impact determine your focus
Use just enough anticipation
Architecture is teamwork
Traditional architect involvement
7
Solution Delivery
Architecture Department
Architecture GuidanceCheck
points
Agile team perception of architect involvement
BUFD MYOBMYOB
Decisions are your main deliverable
Focus on Architectural Decisions is key to lowering cost of change
• Convey change
• Convey implications
• Convey rationale & options
• Ease of traceability
• Deal with change
• Shorter feedback loop
The Architect’s Daily Job
SolutionArchitect
Architecting Microcycle
Identify & prioritize
architectural concerns
Research possible solutions
Decide best fitting
solution
•What problems should I work on?
•What are my options?
•I’ll pick this one
The Architecting Microcycle
Identify & prioritize
architectural concerns
Research possible solutions
Decide best fitting
solution
Identify & prioritize
architectural concerns
Research possible solutions
Decide best fitting
solution
The Architecting Workflow
Architectural concerns
(backlog)Architectural
decisions
Architecture
Big Up-Front Design
Continuous stream of
Architectural Decisions
Continuous stream of architectural decisions
12
Traditional Agile
Development
Big Bang
Continuous stream of
improvements
Principles of Agile Architecting
Architecture as a stream of decisions
Let economic impact determine your focus
Use just enough anticipation
Architecture is teamwork
What is architecture about?
“Fundamental concepts or properties of a
system in its environment embodied in its
elements, relationships, and in the principles
of its design and evolution”.
[ISO/IEEE]
“Architecture is about the important stuff.
Whatever that is.”
[Fowler]
After talking to architects and stakeholders on dozens of projects, we
have come to equate the “important stuff” with the stuff that has most
impact on risk and costs.
Important → high risk and cost
Architecture as a
Risk- and Cost Management Discipline
Managing Cost and Risks is architecture’s primary business goal
Cost and Risks are prioritizing factors determining architect’s concerns
Architect should be an expert on costing and risk mitigation
Architecture as a risk mitigation mechanism
• Reduce uncertainty in feasibility of solution
• Reduce troubled projects
Architecture as a cost control mechanism
• Better predictability of solution cost
• Less budget overrun
Risk and Cost over Time
How architecture fulfills its primary goal
tCone of uncertainty
http://www.construx.com/Thought_Leadership/Books/The_Cone_of_Uncertainty/
Cone is narrowed by:
• Research
• Decision making
Architecture narrows the
cone by researching
strategies to architectural
concerns and making
architectural decisions.
RCDA: Risk and Cost Driven Architecture
• Applicable in agile and traditional engagements
• Highly scalable and pragmatic
• Architectural decision making based on economic trade-offs
• Architecture communication in economic terms
• Traceability from requirements to cost
Solution architecting principles and practices based on a view of
architecture as a risk and cost management discipline
Principles of Agile Architecting
Architecture as a stream of decisions
Let economic impact determine your focus
Use just enough anticipation
Architecture is teamwork
Architecture should be minimal
Avoid trap of “architecting everything”
• Architectures are hard to change
• Big architectures obstruct agility
• Give designers/developers as much freedom as they can handle
• Give yourself chance to keep total overview
• Three factors determine optimal amount of up-front design:
Business criticality + Size - Volatility
Just Enough Anticipation
Flow of architectural decisions ahead of development
Metaphor: Runway extended while in operation
• Just long enough to accomodate anticipated airplanes
Key tools to determine right amount of anticipation:
• Dependency analysis
• Technical debt control
• Economic trade-off: Net Present Value, Real Options Analysis
20
09 27
Balance your backlog
Architecture and other solution improvements
21 Philippe Kruchten
New features
Added
functionality
Architectural,
Structural
features
Defects Technical
Debt
Visible Invisible
Positive
Value
Negative
Value
Direct business valueIndirect business value
“Enablers”
SCRUM and the Architecture Microcycle
22
Sprint
Daily
Solution
Increment
Solution Backlog Sprint
Backlog
Architectural concernsArchitectural decisions
SCRUM and the Architecture Microcycle
23
Sprint
Daily
Solution
Increment
Solution Backlog Sprint
Backlog
Architectural
concerns
Architectural
decisions
Architecture
Microcycle
Architecture
Runway
Technical
Debt
User
Features
Defects
Stakeholders
Architecture Roadmapping
Planning with Just Enough Anticipation
Assign solution improvement items to releases based on
• Dependency analysis
• Real option value
• Technical debt control
24
Rel 1.3 Rel 2.0 Rel 2.1 Rel 2.2 Rel 2.3WebLogic
License
Expires
New
Reporting
Regulations
Competitor
Releases
NextGen
Reserve capacity
for agility
Architecture Roadmapping
Release strategy 1: value-first
• In line with Agile philosophy
• May increase TCO (more refactoring)
• Too “greedy” algorithm may run project into wall (complete rebuild)
• Good in volatile environments
25
Start Rel 1.0 Rel 1.1 Rel 1.2 Rel 2.0
Architecture Roadmapping
Release strategy 2: architecture-first
• In line with plan-driven philosophy
• Late delivery of value → risk of cancellation
• Risk of building wrong architecture (if context changes)
• Good for complex solutions
26
Start Rel 0.1 Rel 0.2 Rel 1.0 Rel 1.1
Principles of Agile Architecting
Architecture as a stream of decisions
Let economic impact determine your focus
Use just enough anticipation
Architecture is teamwork
Architecture is teamwork
• “Emerge” does not imply “without thinking”, “for free” or “magically”.
• It does stimulate re-thinking ownership of architectural decisions.
28 Source: Stefan Toth
Classic architecture: broad standardization
Hard rules Left open
Responsibility: Architecture Responsibility: Developers
Evolutionary architecture: eventual integrity
Hard rules Left open
Responsibility: Architecture
Responsibility: Developers
Suggestions
Architecture is teamwork
Organizing across teams: architecture owners
A
Virtual
architecture
team owns
conceptual
integrity
Multidisciplinary feature teams touch all components
SMEs own components
No ‘named’
architect
Architecture
marshalls
Architecture
owner Classic architect
Architecture is teamwork
Levels of distributed architectural ownership
30 Source: Stefan Toth
=
a
b
c
Crowd-sourced Centralized
Project size
Different locations
Domain expertise
Architecture base
External dependencies
Familiarity, experience
Discipline
Organizational context
Product level
Domain level
Multi-level architecture co-ordination
Product stakeholders
Domain architectDomain
roadmap
Domain
architecture
Product architect
Product roadmap
Product architecture
Delivery
team
Standards
Guidance
Risk
Cost
Domain stakeholders
CGI has a Digital Strategy and Transformation Approach
focused on all three areas of transformation.
Implementing RCDA: part of Digital Transformation
When it comes to digital transformation, technology is only part of the answer.
Realizing the promise of digital requires transformation across three areas—organization,
business model and technology.
32
Business
Model,
Operating
Model &
Process
Technology
Organization,
Culture, &
People
Change the game
• Optimize the customer experience
across all touch points
• Make decisions based on insights
• Increase innovation and
collaboration
• Create new market opportunities,
products and services
• Explore new business models
• Think outside-in, partner more
• Simplify
• Speed up and become agile
Leverage new technology
• Move to real time integrated operations
• Automate as much as possible
• Leverage new technology
• Take advantage of connectivity and cheaper
economics
Change organization
• Evaluate your leadership
• Revise structure
• Adjust appetite to risk
• Modernize the culture and
environment
• Enable the curious employees
• Make decisions based on
insights
• Encourage innovation and
collaboration
Creating the Agile Architecture balance
Awareness session
• Stakeholders hear about agile architecture principles
Agile Architecture Workshop
• Multidisciplinary team applies key agile architecture practices
Agile Architecture Maturity Assessment
• Measure baseline and progress towards the right balance
Reflection session
• Architects coach each other in applying practices
RCDA Practitioner Course
• In-depth architect training applying principles and practices
Tools & templates
• Improved documentation & communication for short feedback loop
Coaching & Change Management
• Helping the organization and its people transform their way of working
33
90 minutes
1 day
3 days½ day
CIO Office Enterprise Architect K W R W R R A
Tools & templates K
Domain A Domain Architect K A W R R
Solution A1 Solution Architect K A R R
Team
Solution A2 Solution Architect K A W R R
Team
Solution A3 Solution Architect K A W R R
Team
Domain B Domain Architect K A W R R
Solution B1 Solution Architect K A R R
Team
Solution B2 Solution Architect K A W R R
Team
Solution B3 Solution Architect K A W R R
Team
Domain C Domain Architect K A W R
Solution C1 Solution Architect K A R
Team
Solution C2 Solution Architect K A W R
Team
Solution C3 Solution Architect K A W R
Team
…
Kick-off meeting with all architects creates awareness
and buy-in
Baseline assessments per domain point to improvement
actions
Overall assessment
confirms improvements and
benefits
Multi-disciplinary team workshops
apply agile architecture
practices in teams
Retrospective days help
architects coach each other and
clarify practices
Tools & templates gradually
improved to facilitate short-
cycle architecture
Agile Architecture Transformation Plan
RCDASolution Architecture for the Digital Age
35
RCDA results:
• Agile solution shaping, quicker feedback loop
• More focus on economic reality
• Scalable architecting (smaller projects start quicker)
• Better risk and cost control in delivery
“"Strong architectural
decision making is key to
getting the most bang for the
buck. Applying RCDA helps
us maximize business value
in an agile environment,
while optimizing associated
cost and risks."
Rijn Buve, Group Chief
Architect, TomTom.
1200Architects
trained
19Proven practices
300Pages of guidance
14Peer-reviewed
publications
RCDA publications:
• Journal of Systems and Software
• IEEE Software Magazine (Sept. 2014, Nov. 2016)
• Leading architecture conferences: SATURN,
LAC, WICSA (best paper award)
• 2016 Linda Northrop Software Architecture Award
Open Grouprecognized in the
Certified Architect
program
Awardby Software
Engineering
Institute
Questions or Comments?
36Spare slides follow
RCDA Practices
Core Practices Supporting Practices
Requirements Analysis
Solution Shaping
Architecture Validation
Architecture Fulfillment
Architectural Requirements Prioritization
Architectural Decision Making
Architecture Evaluation
Stakeholder Workshop
Dealing with NFRs
Cost-Benefit Analysis
Architectural Prototyping
Supplier Evaluation
Requirements Convergence Plan
Architecture Implementation
Solution Shaping Workshop
Solution Costing
Architecture Documentation
Applying Architectural Strategies
Independent Architecture Assessment
Architecture Roadmapping
Technical Debt Control
Architecture Evolution
“Solution” Architecture?
• RCDA covers all types of IT-based solutions
• software application
• system of systems
• BPO solution
• service solution
• systems integration
• embedded system
• software as a service
• changes to the above
• Highly scalable
• from 2-week architecture for short-deadline bids…
• …to 2-year architecture for long-term engagements
38
Definition of Solution
Solution: a coherent set of changes delivered to meet a defined set of
stakeholder needs
• Changes: solution elements are created, modified or removed
• Delivered: coordination depends on governance model:
• agile or traditional
• portfolio, value stream, program or project
• contractual or otherwise
• Defined: depends on governance model:
• Epic / set of (user) stories
• Program / project definition
• Contract
• Change request
• …
39
Architectural Decision Making
Timing of architectural decisionsCertainty of correct architectural decision depends on knowledge:
• relative cost of the alternative solutions
• value and impact on the business
• delivery times
Timing architectural decision is balancing risk, costand delivery time:
• too little information → risk of not meeting key requirements
• waiting too long → delays, wasted resources
Key architecture skills:
• timing of architectural decisions
• making decisions based on incomplete information
• dealing with the resulting risks
There's an art of knowing when.
Never try to guess.
Toast until it smokes and then
twenty seconds less.
- Pat Hein
t
RiskCost of delay
Cost + Risk
Decision
time
Applying RCDA core practices
Werken onder Architectuur
Architectural Requirements
Prioritization
Architectural Decision
Making
Architecture Evaluation
Solution Costing
Architecture Documentation
Applying Architectural
Strategies
PAD 0.1
(Outline)
Project Brief
PAD
1.0
PID
PAD
N.M
Faseplan/RFC
(PAD)
X.Y
LCM? SLA?
Startup Initiatie Realisatie (Onderhoud)
Technical Debt Control
42
Agile Architecture Workshop
One-day workshop with multi-
disciplinary team.
• Proven way to get up to speed
with agile architecture.
• Foundation of agile architecture
principles and practices.
• Applying these practices to real-
life business epics from the
attendants’ own work context.
Attendants leave the workshop not
only with new skills and insights,
but with immediate business value
created on the spot.
43
Agile Architecture Maturity Model
Understanding context
Architectural decisions
Validation
Fulfillment
Behaviors scored 1-5:
1 Never
2 Sometimes
3 Ad hoc/Individuals
4 Mostly
5 Habit
Effective stakeholder
communication
Context knowledge managed
Decisions as primary deliverable
Prioritized by economic impact
Justified and documented
Well-timed decisions
Decentral unless…
Fulfills stakeholder needs?
Architectural runway recognized
Architecture debt control
Just enough anticipation
Agile Architecture Maturity Assessment
11 simple behaviors are indicators whether the organization is finding the
balance between Agile and Architecture – and point to improvements
44
Behavior Evidence Counterevidence
Architectural work is
prioritized by economic
impact.
In the architectural
workload, those concerns
and decisions that have
the highest risk and cost
impact on their collective
stakeholders are
considered first, and
receive the most attention.
Architecture work is based
on / prioritized by what is
mentioned in a
documentation template,
project plan or job
description.
Architectural decisions are
only made when
stakeholders ask for them.
Architectural decisions are
justified and documented
Architectural decisions,
including their status and
justification, are visible to
stakeholders.
Stakeholders only see the
effect of decisions after they
have been taken in a set of
views or models.
The criteria on which each
decision is based, and
their relation to specific
architectural drivers and
business goals, are visible
to stakeholders.
Justification for decisions is
not documented, or is mainly
based on generic principles
and not related to the
specific context.
Tools & Templates
Use tools stakeholders access daily
Example: JIRA
45
Tools & Templates
Example: Wiki
46
Let stakeholders know:
• What
• Why
• What happened
• What will happen
Drive stakeholder feedback
47
Architecture
Microcycle
Architecture
Microcycle
Architecture
Microcycle
Architecture
Microcycle
SAFe: Lean Agile principles & RCDA
1. Take an economic view
2. Apply systems thinking
3. Assume variability; preserve options
4. Build incrementally; fast, integrated learning cycles
5. Base milestones on objective evaluation of working systems
6. Limit WIP, reduce batches, manage queue length
7. Apply cadence, sync with cross-domain planning
8. Unlock the intrinsic motivation of knowledge workers
9. Decentralize decision-making
48
Risk- and Cost-Driven Architecture
The Solution is a System
Minimal Architecture
Architecture Microcycle
Architecture Roadmapping
Just Enough Anticipation
Architectural Prototyping
Architecture is
Team Work
ReferencesAbrahamsson, P., Babar, M. A., & Kruchten, P. (2010, March/April). Agility and Architecture: Can They Coexist? IEEE Software.
Boehm, B. (2010). Architecting: How Much and When? In A. Oram, & G. Wilson, Making Software: What Really Works, and Why We Believe It . O'Reilly Media.
Brown, N., Nord, R. L., & Ozkaya, I. (2010, November/December). Enabling Agility Through Architecture. CrossTalk.
Fowler, M. (2003, July/August). Who Needs an Architect? IEEE Software, pp. 2-4.
Jansen, A., & Bosch, J. (2005). Software Architecture as a Set of Architectural Design Decisions. Working IEEE/IFIP Conference on Software Architecture.
Malan, R., & Bredemeyer, D. (2002, september/oktober). Less is More with Minimalist Architecture. IT Pro, pp. 46-48.
Poort, E. R., & van Vliet, H. (2012). RCDA: Architecting as a Risk- and Cost Management Discipline. Journal of Systems and Software, 1995-2013.
Poort, E. R. (2014, Sept/Oct). Driving Agile Architecting with Cost and Risk. IEEE Software.
Poort, E. R. (2016, Nov/Dec). Just Enough Anticipation: Architect your Time Dimension. IEEE Software.
Slot, R. (2010). A method for valuing architecture-based business transformation and measuring the value of solutions architecture. Amsterdam.
Toth, S. (2015). Vorgehensmuster für Softwarearchitektur: Kombinierbare Praktiken in Zeiten von Agile und Lean. Hanser Fachbuchverlag.
49