decide at the last responsible moment

Post on 15-Apr-2017

123 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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