You Cannot Buy Technical Excellence

Post on 31-Oct-2014

826 views 1 download

Tags:

description

 

transcript

It’s Impossible to Buy Technical ExcellenceAntti Kirjavainen

It’s really

freaking madness to try to buy for or control Technical ExcellenceAntti Kirjavainen

Photo by Casey Konstantin

Inbox ZeroFrom Inboxzero.com

Technical Excellence

Continuous attention to technical excellence and good design enhances agility.

Technical Excellence

quality code, sound architecture, good test automation and coverage, continuous integration and continuous deployment.

Examples of Technical Excellence

Emphasis on Flow over Batches

Photo by Daniele Zedda

Emphasis on Flow over Batches

Photo by Daniele Zedda Infographic from People10

Emphasis on Flow over Batches

Photo by Daniele Zedda

Jan-2013 Feb-2013 Mar-2013 Apr-2013 May-20130

20

40

60

80

100

120

82

722

87

4

18

9378

13

96

Ratio of Value Adding and Fixing Work

Feature work Fixing work Number of defects

building it right

to

maximize delivery potential

Technical Excellence

Traditional “Solutions”

Alert

Alert!

Your organizationmight be suffering from a

Legacy mindset.Photo by Jeremiah Owyang

ProcessesAndpolicies

Test Coverage Policy: The Idea

>60% Unit Test Coverage

Regular reports

Quality

Test Coverage Policy: The Reality

>60% Unit Test Coverage

Regular reports

Lots of tests doing

nothing but adding % of test coverage

Alert

Alert!

Your organizationmight be suffering from a

Legacy mindset.

Contract clauses

Contract with a Warranty Period

Development

Acceptance Testing

Support, warranty period

6 months

We’ll fix all the defects for free during these periods!We’ll fix all the defects for free during these periods!

Contract with a Warranty Period

Development

Acceptance Testing

Support, warranty period

6 months

Prioritization by Business value

High risk, low

value

High risk, High value

Low risk, low

value

Low risk, high value

Example from Real Life: The Plan

Backlog A

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Backlog B

Feature 1

Feature 2

Feature 3

Feature 4

Backlog C

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Feature 7

15

mon

ths

Example from Real Life: The Reality

Backlog A

Architectural feature I

Feature 1

Feature 2

Architectural feature II

Feature 3

Feature 4

Feature 5

Feature 6

Backlog B

Integration work I

Feature 1

Feature 2

Additional feature I

Feature 3

Feature 4

Backlog C

Architectural feature III

Feature 1

Feature 2

Integration work II

Feature 3

Additional feature II

Feature 4

Feature 5

Feature 6

Feature 7

12

mon

ths

to g

o

Example from Real Life: The Decision

Backlog A

Architectural feature I

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Backlog B

Integration work I

Feature 1

Feature 2

Additional feature I

Feature 3

Feature 4

Backlog C

Architectural feature III

Feature 1

Feature 2

Feature 3

Additional feature II

Feature 4

Feature 5

Feature 6

Feature 7

6 m

on

ths

to

go

Arch

itectu

ral featu

re II

Integration work II

Duct tape & chewing gum solutions

Old approaches do not solve the problem

Processes and policies

Business value prioritization

Contract clauses

High risk, low

value

High risk, High value

Low risk, low

value

Low risk, high value

Why?

Traditional Management Paradigm:Extrinsic motivation

Desire to achieve goal GReward result RAssume R leads to G

Problems with non-linear effects

From Management 3.0 by Jurgen Appelo

Non-linear effects in SW dev

We are here

From Management 3.0 by Jurgen Appelo

New Management Paradigm:Intrinsic motivation

Desire to achieve goal GWhere G is its own reward

No non-linear effects

From Management 3.0 by Jurgen Appelo

Emphasis on Flow over Batches

Photo by Daniele Zedda Infographic from People10

Understanding

SkillsFrom Inboxzero.com

Autonomy

Discipline

Antti Leinonen, Sirkus Magenta, photo by Tuomas Stenbäck

MotivationUnderstandingSkillsAutonomyDiscipline

Requires

Contracting Point of View

Shared

Motivation

Understanding

Discipline

Trust enables

Autonomy

Contractor brings

Skills

+Understanding

+Discipline

Good Patterns

Contracting

Contractor dev team

IT (customer)

Business (customer)

Contracting: Lead from customer

Contractor dev team

IT (customer)

Business (customer)

Contracting: Lead from customer

Joint dev team

IT (customer)

Business (customer)

Who should define indicators / metrics?

DevelopersBusiness

IT / architectsManagers

Test Coverage Policy

>60% Unit Test Coverage

Regular reports

Lots of tests doing

nothing but adding % of test coverage

What would the Experts choose instead?

Leading Indicators

Lagging Indicators

Technical Quality

Sound Architecture

Developers

Let excellence grow in circles or guilds!

Team A

Team C

Team B

Team D

Let excellence grow in circles or guilds!

DevOps Circle

Team A Team B

Team C Team D

Houston Inc. Frontend Circle

Frontend Circle

Board ofdirectors

Houston Personn

el

Customers & sales

Where

to

invest

Outside world

Houston Inc.

ProtosTraining

Feedback

Ideas

Visibility

Cred

Outside frontend

scene

Conferences + events

Involve devs on left side of value stream

Initiatives Validation Portfolio Backlog Preparation Developme

nt Deploy Learn

developersbusiness IT / architects

Involve devs on left side of value stream

Initiatives Validation Portfolio Backlog Preparation Developme

nt Deploy Learn

developersbusiness IT / architects

Options for solution

Risks

Concept

Breakdown of Work

Vision

Business Goals

Capabilities

Features

Adapted from BDD in the Large by Liz Keogh

Option for Solution Study

Goal Who HowWhat

Deliverable

Impact Mapping

From Impact Mapping by Gojko Adzic

Impact Mapping

Goal Who How What

Improve time to market of big

features in service A

Developers

Do major refactoring of the

code

Refactor high-priority areas

Do a complete rewrite of the

system

Build new system

Do the data migration

Replace the backend with a

new system

Build API over backend

Develop new backend for high-

priority stuff

BusinessLimit new features in progress

Prioritize new feature requests

Impact Mapping

Improve time to market of big

features in service A

Developers

Do major refactoring of the

code

Refactor high-priority areas

Do a complete rewrite of the

system

Build new system

Do the data migration

Replace the backend with a

new system

Build API over backend

Develop new backend for high-

priority stuff

BusinessLimit new features in progress

Prioritize new feature requests

Goal Who How What

Things to Consider

Hiring

MotivationUnderstandingSkillsAutonomyDiscipline

Hiring

Picking a contractor

MotivationUnderstandingSkillsAutonomyDiscipline

Picking a contractor

Individuals and interactions

Close collaboration

Get to know your prospective contracting developers well

Picking a contractor

Conclusions

building it right

to

maximize delivery potential

Technical Excellence

Emphasis on Flow over Batches

Photo by Daniele Zedda

Emphasis on Flow over Batches

Photo by Daniele Zedda Infographic from People10

Emphasis on Flow over Batches

Photo by Daniele Zedda

Jan-2013 Feb-2013 Mar-2013 Apr-2013 May-20130

20

40

60

80

100

120

82

722

87

4

18

9378

13

96

Ratio of Value Adding and Fixing Work

Feature work Fixing work Number of defects

Old approaches do not solve the problem

Processes and policies

Business value prioritization

Contract clauses

High risk, low

value

High risk, High value

Low risk, low

value

Low risk, high value

Traditional Management Paradigm:Extrinsic motivation

Desire to achieve goal GReward result RAssume R leads to G

Problems with non-linear effects

From Management 3.0 by Jurgen Appelo

New Management Paradigm:Intrinsic motivation

Desire to achieve goal GWhere G is its own reward

No non-linear effects

From Management 3.0 by Jurgen Appelo

Emphasis on Flow over Batches

Photo by Daniele Zedda Infographic from People10

Understanding

Inbox ZeroFrom Inboxzero.com

Autonomy

Discipline

Antti Leinonen, Sirkus Magenta, photo by Tuomas Stenbäck

Contracting Point of View

Shared

Motivation

Understanding

Discipline

Trust enables

Autonomy

Contractor brings

Skills

+Understanding

+Discipline

Contracting: Lead from customer

Joint dev team

IT (customer)

Business (customer)

Involve devs in choosing indicators

Leading Indicators

Lagging Indicators

Technical Quality

Sound Architecture

Developers

Let excellence grow in circles or guilds!

DevOps Circle

Team A Team B

Team C Team D

Involve devs on left side of value stream

Initiatives Validation Portfolio Backlog Preparation Developme

nt Deploy Learn

developersbusiness IT / architects

Options for solution

Risks

Concept

Hiring

MotivationUnderstanding

Discipline

Picking a contractor

Skills Motivation Understanding Discipline

Maximize the ImpactPhoto by Spettacolopuro

Thank you for your attention

Antti Kirjavainenantti.kirjavainen@houston-inc.com@anttiki

http://www.slideshare.net/AnttiKirjavainen/http://learninggamedev.wordpress.com/http://www.houston-inc.com/