Upload
liz-keogh
View
506
Download
1
Tags:
Embed Size (px)
DESCRIPTION
LSSC 2011 talk about incremental architecture. Includes some things about BDD and Real Options too.
Citation preview
The Problem
The Solution?
Architectstry to get it
right.
Development teamstry to get it
done.
It’s alwaysa people problem.
It’s also apoliticalproblem.
Tragedyof the
Commons
Hierarchy
Manager
Architect
Dev Dev
Architect
Dev
Whole Team
Analysis Dev Test Release
Assumeyou got it
wrong.
Agile focuses onusing
fast feedback.
Lean focuses onmaking slow feedback
faster.
Architectureis a
commitment.
Real Options
Options have value.
Options expire.
Never commit earlyunless you know why.
A Thought Experiment
Learning is60% - 80%
of software development
If a project has no risks, don’t do it.
The value of optionsincreases
as uncertainty rises
Don’t pick the right technology,pick the one that’scheapest to change.
Chris Matts
Deliberate Discovery
Traditional
Rework
Developers Testers
Deliberate Discovery skills
BDD
Less Rework
Developers Testers
Deliberate Discovery skills
Testers
Gatekeepers
Rework
Developers Architects
Strategicplans
Architects
Tactical constraints
Newplans
Educators
Architects
Architectural“tests”
Less Rework
DevelopersArchitects
The Feature Injection template
In order to achieve a goalAs the stakeholderI want some stuff.
An Example
In order to reduce security operations costsAs the VP of operationsI want users to use our single sign on.
Stakeholders, not Users
Architectural Scenarios
SpecificMeasurableAchievableRelevantTimeboxed
Or, how do we know when we’re done?
Given a contextWhen an event happens
Then an outcome should occur
Given Fred Brownis using the reporting app
When Fred Brown goesto the trading app
Then he should belogged on automatically
Is there a context in whichthis architecture will create
a different outcome?
Given Janet Green is not a trader
Given Janet is logged onto the reporting system
When Janet accesses thetrading system
Then Janet should be refused access
Is this the only outcomethat matters?
If we could achieve it with pixies, would it be enough?
Given Fred Brownis using the reporting app
When Fred Brown goesto the trading app
Then he should belogged on automatically
And his access for each appshould be logged
Having conversations
is more important thancapturing conversations
is more important thanautomating conversations
Dependent Aspects
Walking Skeleton
Prioritisiation
The Big Bucket
A Gantt Chart…
1 1 1
3 3
2 2
1
2
3
1
1
1
3
3
2
2
…on its side
Backlog1
1
1
3
3
2
2
Prioritizing for deadline
$$$$$$$$
$$$$$$$$
$$$$$$$$
$$$$$
$$$$$
$$
$$
$$
Shipped (1 year)
Not ShippedDeadline
Minimum Marketable Feature
$$$$$$$$
$$$$$$$$
$$$$$$$$
$$$$$
$$$$$
$$
$$
$$
Shipped (2 months)
Not Shipped
Not Shipped
Shipped (2 months)
Focusing on Risk
Options have value
Options expire
Shared Libraries
Smallis
beautiful
EnterpriseData
Dictionary
Bounded Contexts
The Best Approach
Gembaor
getting your hands dirty
Liz [email protected]@lunivore
Booklist
“Managing the Design Factory”,Don Reinertsen
“Waltzing with Bears”,Tom de Marco and Timothy Lister
“Domain Driven Design”,Eric Evans