sufficient design

Post on 22-Jan-2015

1.707 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

If your software product were a film, which of its features would be a movie star, a supporting actor or an extra?Should you invest more in the software design of star features, especially if they generate the most revenue? And if so, what level of design quality is sufficient forfeatures that are supporting actors or extras? Doesn't Software Craftsmanship tell us that we need to write clean and simple code, regardless of its role? Or, if we are Lean and focus on increasing the speed of concept to cash, will quality suffer?Sufficient Design answers these questions and points the way towards how to blend Lean processes with Software Craftsmanship.

TRANSCRIPT

Sufficient Design

December 2010Joshua Kerievsky

Industrial Logic, Inc.Twitter: @JoshuaKerievsky

#SufficientDesign

Thursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

ThereIFixedIt.comThursday, December 16, 2010

Thursday, December 16, 2010

What Is

Sufficient Design?

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Build It Right!

Thursday, December 16, 2010

Build It Right!

Ship It Fast!

Thursday, December 16, 2010

Thursday, December 16, 2010

Build It Right!

Ship It Fast!

What Is Best?

Thursday, December 16, 2010

Thursday, December 16, 2010

Dirty Clean

Fast

SlowThursday, December 16, 2010

Dirty Clean

Fast

SlowThursday, December 16, 2010

Dirty Clean

Fast

SlowThursday, December 16, 2010

Dirty Clean

Fast

SlowThursday, December 16, 2010

Dirty Clean

Fast

SlowThursday, December 16, 2010

Dirty Clean

Fast

Slow

DEFECT

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow Fast

Delivery

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

5.X Development Deathcycle

Thursday, December 16, 2010

1.0 Release

Thursday, December 16, 2010

2.0 Release

Thursday, December 16, 2010

3.0 Release

Thursday, December 16, 2010

4.0 Release

Thursday, December 16, 2010

5.0 Release

Thursday, December 16, 2010

Costof

Change(CoC)

1 2 3 4 5Years

Release

Actual CoC

Optimal CoC

Model courtesy of Jim HighsmithThursday, December 16, 2010

Costof

Change(CoC)

1 2 3 4 5Years

Release

Actual CoC

Technical Debt

Optimal CoC

Model courtesy of Jim HighsmithThursday, December 16, 2010

Costof

Change(CoC)

1 2 3 4 5Years

Release

Actual CoC

Technical Debt

Optimal CoC

CustomerResponsiveness

Model courtesy of Jim HighsmithThursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Sufficient DesignCase Studies

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Manufacture In Bulk At Low Cost

Thursday, December 16, 2010

Deliver At No Cost To Least Served

Thursday, December 16, 2010

Goal: Quickly DeliverTo 20 Million People

Thursday, December 16, 2010

CheapPatio

Furniture

Tough,DurableBike Tire

ToughCheap

Castors

Steel FrameCheaply

Produced

SimpleParts +

Assembly

$59.20Competitor? $150

Thursday, December 16, 2010

CheapPatio

Furniture

Tough,DurableBike Tire

ToughCheap

Castors

Steel FrameCheaply

Produced

SimpleParts +

Assembly

$59.20Competitor? $150

Thursday, December 16, 2010

Low

Value

Low

Demand

Slow

Delivery

High

High

Fast

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow Fast

Delivery

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

Quick Collaborationon the Web

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow Fast

Delivery

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow Fast

Delivery

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow Fast

Delivery

Thursday, December 16, 2010

Complex Simple

Design

Low High

Debt

Assembled Crafted

Development

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Low High

Value

Low High

Demand

Slow

Delivery

Fast

Thursday, December 16, 2010

Simple

Design

Low High

Debt

Assembled Crafted

Development

Complex

Thursday, December 16, 2010

Thursday, December 16, 2010

Sketch

Thursday, December 16, 2010

Sketch

Thursday, December 16, 2010

Sketch

Craft

Thursday, December 16, 2010

Sketch

Craft

RefineThursday, December 16, 2010

Fowler’s Design Payoff Line

Thursday, December 16, 2010

Thursday, December 16, 2010

“Good Enough” involves rational choices, not compulsive behavior.

-James Bach, Good Enough Quality

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Sufficient Design may be Excellent to Poor design based on the CONTEXT at hand.

Thursday, December 16, 2010

Good Enough has nothing to do

with mediocrity. -James Bach,

Good Enough Quality

Thursday, December 16, 2010

“Our goal is to achieve an acceptable level

of risk.”-James Bach,

The Challenge of “Good Enough” Software

Thursday, December 16, 2010

Thursday, December 16, 2010

“Learn One New

Programming Language

Every Year.”

Thursday, December 16, 2010

“Learn One New

Programming Language

Every OTHERYear.”

Thursday, December 16, 2010

Thursday, December 16, 2010

Thursday, December 16, 2010

Thank You!

Thursday, December 16, 2010

top related