technical excellence: why does it not stick even now?
Post on 17-Oct-2014
574 views
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
Nurturing Technical Excellence
Photo by D Sharon Pruitt
Emphasis on Flow over Batches
Photo by Daniele Zedda Infographic from People10
Understanding
Skills
Autonomy
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
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
Nurture Technical Excellence
Photo by D Sharon Pruitt
Maximize the ImpactPhoto by Spettacolopuro
Thank you for your attention
Antti [email protected]@anttiki
http://www.slideshare.net/AnttiKirjavainen/http://learninggamedev.wordpress.com/http://www.houston-inc.com/