Post on 31-Oct-2014
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
Respect
From buzzfeed.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
Nurturing Technical Excellence
Photo by D Sharon Pruitt
Intrinsic Motivation
From buzzfeed.com
Emphasis on Flow over Batches
Photo by Daniele Zedda Infographic from People10
Understanding
Autonomy
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
Intrinsic Motivation
From buzzfeed.com
Emphasis on Flow over Batches
Photo by Daniele Zedda Infographic from People10
Understanding
Autonomy
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
Nurture Technical Excellence
Photo by D Sharon Pruitt
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/