Agile Architecture in Practice
Agile Architecture in Practice
with RCDA
Eltjo Poort
TU/E Guest lecture 15 October 2019
PDEng Software Technology
Architecture
Practice Lead
Reviewer
Coach
Agile transformer
Linda Northrop
14 Architecture
Peer-reviewed publications
Award
2 Best paper awards
Dr. Eltjo Poort
Discuss:
What differentiates architecture
from other design disciplines?
Architecture Design
Fundamental properties All properties
Define guidelines Follow guidelines
Cross-cutting concerns Individual components
High impact (risk, cost) Details
Business stakeholders Developers
Manage uncertainty Avoid uncertainty
Architecture is context
Business
Architects cannot make the right design
Schedule
decisions without understanding the context of Cost Mission
the solution they are designing.
Resources Legal
Relying on generic design principles is not Values
Environment
good enough for the trade-offs architects have
to make. Compatibility Ethical/Moral
Flavors of context:
Complexity Dependability
• Business context
• Operational context
• Security/privacy context Production Quality
• …
© 2019 CGI Inc. 10
What do we architect?
Integrated software
systems Enterprise IT systems Embedded systems
Enterprise architecture
decisions
Domain architecture
decisions
Enterprise scope
Application architecture
decisions
Application scope
Component scope
Architecture as an
abstraction Making Architecture as a set
Modeling
Shaw, Garlan Decisions of design decisions
Tyree, Bosch, Kruchten, Woods
Architecture as a set of
structures
SEI, Kruchten, Rozanski & Woods
Architecture is about
Architecture as a risk and cost Validating Delivery the important stuff
management discipline (whatever that is)
Fairbanks, Poort Fowler
Too much architecture leads to… Too much agile practice leads to…
• Late business value delivery? • Ill-considered, inconsistent choices?
• Trouble responding to change? • Re-inventing the wheel?
• Slow learning from experience? • Technical debt accumulation?
• Wasted design effort? • Short-lived solutions?
Architecture Department
Check
Architecture Guidance
points
Solution Delivery
BUFD MYOB
MYOB
Understanding
Context
Understanding
Context
“The best
architectures Modeling Making
Decisions
emerge”
Building
Communication
Experimentation
Analysis
Analysis
(working)
Stakeholders Architectural Systems
design
Better understanding of design Understanding of architecture in
leads to better formulated needs operation leads to more feasible design
Project Epic/Feature/Story
Architecture is teamwork
Architecture Department
Check
Architecture Guidance
points
Solution Delivery
BUFD MYOB
MYOB
- Pat Hein
• Make it easy!
• Put a pencil on a string next to your
architecture wallpaper
• Let everyone know you welcome feedback
to achieve accepting
Criteria Drawbacks of decision
independence between teams working on the services, the additional complexity inherent in CQRS.
to achieve accepting
Criteria Drawbacks of decision
Architecture is teamwork
13 Open Group
1400 recognized in the Certified “"Strong architectural decision making
Architects trained Proven practices Architect program 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."
Linda Northrop
300 14 Award
Rijn Buve, Group Chief Architect,
TomTom.
Pages of guidance Peer-reviewed
publications Software Engineering
Institute
Architecture is teamwork
27
09
*Brown, N., Nord, R. L., & Ozkaya, I. (2010, November/December). Enabling Agility Through Architecture. CrossTalk.
Visible Invisible
Negative
Value Defects Technical Debt
Stakeholders
• Dependency Analysis
• Technical Debt Control
• Economic Reasoning
Poort, E. R. (2016, Nov/Dec). Just Enough Anticipation: Architect your Time Dimension. IEEE Software.
© 2019 CGI Inc. Risk and Cost Driven Architecture 48
Architecture Roadmapping
Strategy 1: Value-first roadmapping
Start Rel 1.0 Rel 1.1 Rel 1.2 Rel 2.0
Architecture is teamwork
• “Emerge” does not imply “without thinking”, Evolutionary architecture: eventual integrity
Multidisciplinary feature
teams touch all components
Virtual
architecture
team owns
conceptual
integrity A
Experts own components
a
b
=
c
The architecture
microcycle, driven by Models,…
stakeholder concerns, Arch Knowledge
feeds the knowledge Repository
t
repository and
decisions register
Decisions
Arch Decision Register
In the course of the solution lifecycle, the
knowledge repository and decision register grow as
the architecture is elaborated and maintained
Architectural Requirements
Prioritization
Architectural Decision
Making
Applying Architectural
Strategies
Architecture Modeling
Solution Costing
Independent Architecture
Assessment
Archtiecture Roadmapping
Architecture AD 0.1 AD AD AD
documents are (Outline) 1.0 N.M X.Y
snapshots linked to
Project Brief PID Phase plan LCM plan
project deliverables
© 2019 CGI Inc. 59
References
Abrahamsson, 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.
© 2019 CGI Inc. Risk and Cost Driven Architecture 60