decide at the last responsible moment
Post on 15-Apr-2017
123 Views
Preview:
TRANSCRIPT
1
Decide at the Last Responsible Moment!…in the Agile landscape
Florin Cardasim, Moldova ICT Summit28 April 2016
The Agile Architecture Landscape
4
Architects
[verb]
what is the verb? shoot quickly
decisions
until the last responsible moment
make? (wrong answer)defer making
7
The Last Responsible Moment
"the moment at which failing to make a decision eliminates an important alternative.“
Mary and Tom Poppendieck
Keep as many options open for as long as possible
Commit when you must or when you have a good reason to
8
Early and Late Decisions
Some decisions can be made late in projectslook-and-feel
Some have to be made early onimplementation language
The majority of design decisions fall between
10
Sample Decision - Fitnesse
13
Sample Decision – How Many Servers
Context Internet-facing system requires about 12 services to be implemented
Decision Implement as 12 different servers?Implement as small number of monolithic servers?
Forces Separation of concerns, operational complexity, duplication of effort, evolution
Result Chose to create 12 different servers, despite the operational complexity.
14
Abstract
Hide the decision behind an abstraction to allow later change
e.g. data access library
15
Renegotiate
Change the decision to be made by renegotiating time, scope, constraints, …
e.g. persuade client to allow late change to the user interface
16
RedesignAvoid the decision by redesigning your system to avoid the problematic element
e.g. alter structure to avoid connection to element needing early decision
17
Late/Dynamic Binding
Explicitly add a mechanism to allow the decision to be changed later
e.g. late binding of components via configuration
Create Open Space
Split into groups
21
Exercise
Identify one early decisionDiscuss ways we can architect and design systems to defer or manage better.
10 minutes
Present4 teams, 5 minutes each
22
Sample Decision – How Many Servers
Context Internet-facing system requires about 12 services to be implemented
Decision Implement as 12 different servers?Implement as small number of monolithic servers?
Forces Separation of concerns, operational complexity, duplication of effort, evolution
Result Chose to create 12 different servers, despite the operational complexity.
23
Presentations
Growing Your Architecture…in the Agile landscape
florin.cardasim@strongbytes.roMoldova ICT Summit
28 April 2016
Grow (not build!) a framework
Goal: Allow developers to focus on meeting requirements, not repetitive programming
Time: Incrementally done.
Results from seeing repeated code and identifying common functionality.
Experiment on Branches
Goal: Experiment away from main code branch.
Time: Few hours to a few days.
When done: Merge or throwaway branch code.
Spikes
Used to figure out a functional or design approach.
Functionalbreak down and clarify large functionality, identify critical & risky functionality,
Technicalidentify feasibility and impact of design strategies
Where: part of the product backlogWhen: whenever necessary.Allocated time: Few hours to few days.
33
Exercise
Split into groups
Start from the Product Vision
Think of1 functionality which is unclear or risky1 architecturally significant problems
Analyze them in a functional and technical spike10 minutes
Present2 teams – functional spike, 5 minutes each team2 teams – technical spike, 5 minutes each team
34
Our Product VisionGreat apps for your Mac. Right on your Mac.
The Mac App Store is just like the App Store for iPad, iPhone, and iPod touch. So it’s as easy to find and download Mac apps as it is to add your favourite magazine to iPod or a new game to iPod touch. You can browse Mac apps by category, such as games, productivity, music, and more. Or do a quick search for something specific. Read developer descriptions and user reviews. Flip through screenshots. When you find an app you like, click to buy it. The Mac App Store has apps for just about everything and everyone. Here are a few of our favourites.
35
Presentations
36
Thank you!florin.cardasim@strongbytes.ro
Moldova ICT Summit 2016
top related