technical excellence: why does it not stick even now?

Post on 17-Oct-2014

574 Views

Category:

Business

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Technical excellence, meaning e.g. quality code, sound architecture, good test automation and coverage, continuous integration and continuous deployment, is the pre-requisite of sustainable software development. Sustainability of software development is essential for improving the Return On Investment and extending the life cycle of software products and services. In my talk I will explain why the majority of organizations is still not making effective management decisions to ensure they get technical excellence. I will argue that technical excellence is impossible to buy from a software vendor and impossible to enforce in contractual terms. The other side to this subject is my second argument: the only way to ensure technical excellence is to have a skilled and motivated team that takes responsible of it, and giving that team the responsibility and means to ensure technical excellence I will go over my personal experiences relating to management decisions regarding technical excellence and illustrate the thinking that is behind the ineffective decision-making related to technical excellence. In conclusion, I will describe what kind of change of mindset is required for making effective management decisions regarding technical excellence.

TRANSCRIPT

Technical Excellence: Why does it not stick even now?

Antti Kirjavainen @anttiki

Test Coverage Policy: The Idea

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

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

building it right

to

maximize delivery potential

Technical Excellence

Why don’t we have it, then?

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

Product Backlog

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

15

mon

ths

Example from Real Life: The Reality

Product Backlog

Architectural feature I

Feature 1

Feature 2

Architectural feature II

Feature 3

Feature 4

Feature 5

Feature 6

12

mon

ths

to g

o

Example from Real Life: The Decision

Product Backlog

Architectural feature I

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Arch

itectu

ral featu

re II

Duct tape & chewing gum solutions

6 m

on

ths

to

go

Example from Real Life: The Effects

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

What is needed instead?

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

Skills

Autonomy

Discipline

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

MotivationUnderstandingSkillsAutonomyDiscipline

Requires

How can devs support that?

Managers, Business and Developers

Trust enables

Autonomy

Managers

Business

Developers

Developers can bring

Skills

+Understanding

+Discipline

Shared

Motivation

Understanding

Discipline

Motivation for Managers, Business?

Trust enables

Autonomy

Managers

Business

Developers

Developers can bring

Skills

+Understanding

+Discipline

Shared

Motivation

Understanding

Discipline

?

What’s in it for me?

Manager

Business

Example from Real Life: Legacy How-To

Product Backlog

Architectural feature I

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Arch

itectu

ral featu

re II

Duct tape & chewing gum solutions

6 m

on

ths

to

go

Example from Real Life: The Effects

Your cautionary story?

How to build trust?

Trust enables

Autonomy

Managers

Business

Developers

Developers can bring

Skills

+Understanding

+Discipline

Shared

Motivation

Understanding

Discipline

?

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

Micromanagement by the teamMike Cohn

What to do if there’s no trust?

Do not be an order-taker!

Product Backlog

Architectural feature I

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

Feature 6

Arch

itectu

ral featu

re II

Duct tape & chewing gum solutions

6 m

on

ths

to

goX

How to grow development organization?

Trust enables

Autonomy

Managers

Business

Developers

Developers can bring

Skills

+Understanding

+Discipline

Shared

Motivation

Understanding

Discipline

?

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

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

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

Skills

Autonomy

Discipline

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

Managers, Business and Developers

Trust enables

Autonomy

Managers

Business

Developers

Developers can bring

Skills

+Understanding

+Discipline

Shared

Motivation

Understanding

Discipline

What’s in it for me?

Manager

Business

What would the Experts choose instead?

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

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/

top related