SlideShare a Scribd company logo
Technical Excellence Doesn't Just
Happen – Igniting a
Craftsmanship Culture
By Allison Pollard and Mike Rieser
INTRODUCTIONS
This is us!
Allison Pollard
• Agile Process Coach and
Consultant
• Firm Believer in
Continuous
Improvement
• DFW Scrum User Group
leader and Dallas Agile
Leadership Network
board member
• Glasses wearer
Mike Rieser (ree-sir)
• Agile Coach and
Consultant
• Technical Practices
Coach
• “Programmer shirt”
wearer
TECHNICAL EXCELLENCE
“In an agile project, technical excellence is measured by
both capacity to deliver customer value today and create an
adaptable product for tomorrow.”
– Jim Highsmith
Who’s problem is it?
How many programmers
does it take to change a
light bulb?
6
https://www.flickr.com/photos/belobaba/6058142799/
Who’s problem is it?
Who should be
concerned with the
long-term viability of
the codebase?
7
https://www.flickr.com/photos/f-oxymoron/5005673112/
Agile: build the right thing and build it right.
• Building it right means it
has a simple design, and
is maintainable and
flexible.
• Successful software
needs to be able to
evolve to meet
expanding needs.Photo by Yann, https://en.wikipedia.org/wiki/File:Taj_Mahal_(Edited).jpeg
Excellence Is a Habit!
Continuous attention
to technical excellence
and good design
enhances agility.
(9th Principle of the Agile Manifesto)
https://www.flickr.com/photos/ikoka/16843413711/
GROUP ACTIVITY
Discuss
Anyone have an anecdote of an extreme in technical
excellence? Either
• “too much”
• or “not enough”
That you can share in 30-60 seconds.
KINDLING CRAFTSMANSHIP
What will spark your culture change?
Process & Technical Practices
“People have told me that they see Scrum as the
management approach to agile development and
XP as the engineering practices that make it
effective, both bonded together by complimentary
practices and goals.”
– Ken Schwaber, co-creator of Scrum
Flaccid Scrum – Martin Fowler, 2009
• They want to use an agile process, and pick Scrum
• They adopt Scrum practices, and maybe even the principles
• After a while progress is slow because the code base is a mess
Five Years Later… 2014
My advice still stands - ensure you take technical practices
seriously when introducing Scrum (or indeed any agile
approach). – Martin Fowler
From Flaccid to Awesome!
Internal Quality
(Developer Facing)
External Quality
(Customer Facing)
Advice
High High You’re awesome!
High Low Get Customer-focused!
Low High It won’t Last. Refactor now!
Low Low Refactor versus Rewrite?!
Agile Requires Quality
Waterfall Agile
0
20
40
60
80
100
120
0 18 36 54
Quality over Time
0
20
40
60
80
100
120
0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60
Quality over Time
Process Dependencies
18
Waterfall
Upfront Requirements
Upfront Design
Agile
Evolutionary Design
Refactoring
Automated Developer
Tests
Test First
Test After
Software Costs
How Does Technical Debt Occur?
IT’s
“Done”
Business
“Accepts”
Result
True True ✔
True False
Communication
Problem
False True Technical Debt
False False ✔
How Does Technical Debt Occur?
• Complex Requirements – producing overly complicated
implementations, unreduced complexity
• Over Engineering – developers building more sophisticated code
than is necessary (Speculative Development). [Gold Plating]
• Business Solutioning – dictating technical solutions rather than
bringing problems to be solved.
• Ignorance – an incomplete understanding of how the system works
• Undone Work – deciding “writing automated tests slows us down”
• Good code / wrong place
• Cutting Corners – “quick and dirty”
Faster is Slower
We’ll “fix it later.”
When is later?
(There is no later!)
https://www.flickr.com/photos/9266144@N02/1074851879
The Business Made Me Do It!
What a Tech Lead says to his Product Owner:
“To do it right will take 2 Iterations. If we do it this other way, we can do
it in 2 days, but the developers will be forever burdened with fragile
code and it will impact our delivery on every project in the future.”
What the Product Owner hears:
“You can have it in 2 days!”
Moral:
Be sure you can live with the options you present.
Enhances. Really?
Compare
“Continuous attention to technical excellence
and good design enhances agility.”
– 9th Principle, Agile Manifesto
with
“Speed is a long-term side-effect of
producing code with the highest possible
internal quality.”
– Agile Testing by Lisa Crispin, Janet Gregory
perhaps
Continuous attention to technical excellence
and good design sustains agility.
https://www.flickr.com/photos/mr_t_in_dc/2322412546/
WHAT WE TRIED
And now for something completely different.
TDD Training
• Introduces the practice of Test-Driven Development
• Refreshers welcome
• ‘Ignites the spark’ around Test-Driven Development and why
we need it
Outcomes
• Shoot for “Test-Infected,” coach the rest
• 18,000 Unit Tests with 100% pass rate every build
• Tasks for “Unit Tests” have disappeared
Red
GreenRefactor
Maturity Model for TDD
36
SHU
(Follow)
HA
(Break Free)
RI
(Transcend)
 Still learning, follows but may
not know why.
 New code comes with new
tests.
 Changed code comes with
tests around the changes.
 Internalized practice, but still
needs a coach.
 Understands pros and cons.
 All code is written test-first.
 Able to go beyond what has
been taught
 Creates a unit testing
framework because they
needed one and it didn’t
exist.
Code Clinics
• A non-judgmental place where developers can bring their
coding issues to look for feedback or work collaboratively on
solutions, watch and help others, get mentoring if needed,
identify how to apply concepts from the book or get some
code under test.
Outcome
• Sometimes repurposed into “Code Review”
• A few dedicated “Lurkers”
• As delivery pressure increases, attendance decreases
• Found “classroom exercises” this way https://www.flickr.com/photos/lloyds-
screenies/2696378369/
Transferring Code Ownership
Devs:
This is horrible! They ought to do something about this!
Coach:
Management wants you to have a nice code base to work in, but
they aren’t in the code every day.
This is where you work every day.
If you want a nice place to work, you’re going to have to clean it up.
“You” are “they.”
Outcome
“Don’t touch that!” replaced with
“Why didn’t you clean that up?”
Tech Lead Interview Process
• Recruiting Tech Leads that are evangelists and mentors for the
concepts we care about (TDD, Quality, Refactoring, OO Design)
• Interview includes: a coding problem, a code review problem,
a non-technical-solution problem
• Allowed no exceptions for folks hired into a Tech Lead role
Outcome
• “New DNA” rejecting “Old DNA”
• “Supervisor” Tech Leads did not do well
• Hit most on: Senior Devs looking for their next level
http://disney.wikia.com/wiki/File:Star_wars_movi
es_darth_maul_obi-wan_wars_hd-wallpaper-
481469.jpg
Code Reviews
• Originally no definition of “Production Worthy”
• Code is continually ‘assessed’ (every iteration) and
feedback given to ensure we continue to steer
away from the addition of debt to the codebase
• The more frequent the code reviews, the more
likely we are to avoid pitfalls at the end of a project
Outcome
• Reviews with different teams were at different
levels
• Smell: sign-off became “required”
• Now community owned
https://www.flickr.com/photos/ericvaughn/972882
9199
https://www.flickr.com/photos/dmcdevit/1143743
631
https://www.flickr.com/photos/26116471@N03/6
788264645
Additional Coaching Items
• Directive – leave things better than you found it
• Free Book – Working with Legacy Code by Feathers
• Book Club – meet over lunch to discuss a book on software
craftsmanship
• Community of Practice – a recurring meeting for developers
to communicate across teams on successful solutions and
useful tips and techniques applied to the codebase
• Continuous Integration – reduces deploy costs and fast-tracks
code improvements to teams
Practices & Process
Where would
focusing only on
delivery get you?
Process
TechnicalExcellence
WRAP UP!
Perfect (v.)
• Continuous Improvement requires continuous learning –
encourage a learning environment.
• Problems are one of the first signs that something needs
changed.
• Get to the root cause, and fix it. The symptoms will go
away.
https://pixabay.com/en/learn-note-sign-directory-
64058/
Invest in your people
CFO: What if we train them, and they leave?
COO: What if we don’t, and they stay?
Copyright: David Franklin/Shutterstock
Fan the Flame!
• There really is no
substitute for a
developer that has a
spark to make it
right.
• When you see the
spark, encourage the
flame!Photo by Billy Hathorn,
https://commons.wikimedia.org/wiki/File:Kindling_for_starting_a_campfire_IMG_2454.JPG
Create a Safe Environment
“Initiative is punishable.”
– Russian Proverb
• If you want teams to take
initiative, you must allow
for failure.
• Mistakes are an indicator
of trying something new.
• Teams require autonomy to
achieve excellence.
LongTermViabilityRequiresDiscipline
“Just put it anywhere” only works for a short time!
Image from Raiders of the Lost Ark
THE END
Allison Pollard allison.pollard@improving.com
@allison_pollard (Twitter)
Mike Rieser mike@mrieser.com
@MichaelRieser (Twitter)
Best Measure of Code Quality
Hard to game.

More Related Content

What's hot

Refactoring workshop
Refactoring workshop Refactoring workshop
Refactoring workshop
Itzik Saban
 
Agile & Scrum – intro slides
Agile & Scrum – intro slidesAgile & Scrum – intro slides
Agile & Scrum – intro slides
Artem Bykovets
 
Agile - One Size Does Not Fit All
Agile - One Size Does Not Fit AllAgile - One Size Does Not Fit All
Agile - One Size Does Not Fit All
Maurizio Mancini
 
Atlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingAtlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile Testing
Maurizio Mancini
 
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
Maurizio Mancini
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
Elad Sofer
 
Agile and scrum masterclass
Agile and scrum masterclassAgile and scrum masterclass
Agile and scrum masterclass
Danish Khan
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Maurizio Mancini
 
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
AgileSparks
 
Titas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in AgileTitas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in Agile
Agile Lietuva
 
Scaling Quality by Building It In - Agile Tour Montreal 2017
Scaling Quality by Building It In - Agile Tour Montreal 2017Scaling Quality by Building It In - Agile Tour Montreal 2017
Scaling Quality by Building It In - Agile Tour Montreal 2017
Maurizio Mancini
 
Kanban for scrummers
Kanban for scrummersKanban for scrummers
Kanban for scrummers
AgileSparks
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware Project
Stephanie Gasche
 
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Maurizio Mancini
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps Mindset
Fadi Stephan
 
The Ultimate Agile Mix Tape (Agile 2017)
The Ultimate Agile Mix Tape (Agile 2017)The Ultimate Agile Mix Tape (Agile 2017)
The Ultimate Agile Mix Tape (Agile 2017)
Tommy Norman
 
Agile
AgileAgile
Agile
ANKUR-BA
 
Value Streams and the Scaled Agile Framework
Value Streams and the Scaled Agile FrameworkValue Streams and the Scaled Agile Framework
Value Streams and the Scaled Agile Framework
Cprime
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessment
Ravi Tadwalkar
 
Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019
Dane Weber
 

What's hot (20)

Refactoring workshop
Refactoring workshop Refactoring workshop
Refactoring workshop
 
Agile & Scrum – intro slides
Agile & Scrum – intro slidesAgile & Scrum – intro slides
Agile & Scrum – intro slides
 
Agile - One Size Does Not Fit All
Agile - One Size Does Not Fit AllAgile - One Size Does Not Fit All
Agile - One Size Does Not Fit All
 
Atlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile TestingAtlassian Summit 2015 Lean QA and Agile Testing
Atlassian Summit 2015 Lean QA and Agile Testing
 
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile organization in 100 days - Agile Tou...
 
Scrum intro ILTechTalks
Scrum intro ILTechTalksScrum intro ILTechTalks
Scrum intro ILTechTalks
 
Agile and scrum masterclass
Agile and scrum masterclassAgile and scrum masterclass
Agile and scrum masterclass
 
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
Getting Agile Right - Rebooting an Agile Organization in 100 days - Agile Tou...
 
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
Beginning the Kanban journey at an Enterprise IT - Case study - Pelephone
 
Titas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in AgileTitas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in Agile
 
Scaling Quality by Building It In - Agile Tour Montreal 2017
Scaling Quality by Building It In - Agile Tour Montreal 2017Scaling Quality by Building It In - Agile Tour Montreal 2017
Scaling Quality by Building It In - Agile Tour Montreal 2017
 
Kanban for scrummers
Kanban for scrummersKanban for scrummers
Kanban for scrummers
 
Building Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware ProjectBuilding Cross-Functional Scrum-Teams in a Hardware Project
Building Cross-Functional Scrum-Teams in a Hardware Project
 
Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017Scaling Quality by Building it in - Agile Tour Ottawa 2017
Scaling Quality by Building it in - Agile Tour Ottawa 2017
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps Mindset
 
The Ultimate Agile Mix Tape (Agile 2017)
The Ultimate Agile Mix Tape (Agile 2017)The Ultimate Agile Mix Tape (Agile 2017)
The Ultimate Agile Mix Tape (Agile 2017)
 
Agile
AgileAgile
Agile
 
Value Streams and the Scaled Agile Framework
Value Streams and the Scaled Agile FrameworkValue Streams and the Scaled Agile Framework
Value Streams and the Scaled Agile Framework
 
Agile leadership assessment
Agile leadership assessmentAgile leadership assessment
Agile leadership assessment
 
Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019
 

Similar to Technical Excellence Doesn't Just Happen - AgileIndy 2016

Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Allison Pollard
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
Tathagat Varma
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
Xebia India
 
Product is Hard - Marty Cagan
Product is Hard - Marty CaganProduct is Hard - Marty Cagan
Product is Hard - Marty Cagan
Anthony Marter
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining quality
Aviran Mordo
 
Fundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part IFundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part I
Gopinath Ramakrishnan, Ph.D, CSM
 
Effective Scrum
Effective ScrumEffective Scrum
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
UserTesting
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
John Willis
 
Agile marries itil
Agile marries itilAgile marries itil
Agile marries itil
Mats Janemalm
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
asidharath
 
Agile for Business
Agile for BusinessAgile for Business
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
bcoder
 
Friday final test
Friday final testFriday final test
Friday final test
bcoder
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
Red Gate Software
 
DevOps in action - Azure DevOps
DevOps in action - Azure DevOpsDevOps in action - Azure DevOps
DevOps in action - Azure DevOps
XPDays
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
Zülfikar Karakaya
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
Aleem Khan
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite Developers
AXIA Consulting Inc.
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
Mustafa Savaşcı
 

Similar to Technical Excellence Doesn't Just Happen - AgileIndy 2016 (20)

Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Product is Hard - Marty Cagan
Product is Hard - Marty CaganProduct is Hard - Marty Cagan
Product is Hard - Marty Cagan
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining quality
 
Fundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part IFundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part I
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
UX in Action: IBM Watson
UX in Action: IBM WatsonUX in Action: IBM Watson
UX in Action: IBM Watson
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
 
Agile marries itil
Agile marries itilAgile marries itil
Agile marries itil
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
Agile for Business
Agile for BusinessAgile for Business
Agile for Business
 
It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
 
DevOps in action - Azure DevOps
DevOps in action - Azure DevOpsDevOps in action - Azure DevOps
DevOps in action - Azure DevOps
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite Developers
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 

More from Allison Pollard

Resilient Relationships
Resilient RelationshipsResilient Relationships
Resilient Relationships
Allison Pollard
 
Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)
Allison Pollard
 
Getting to better problems
Getting to better problemsGetting to better problems
Getting to better problems
Allison Pollard
 
Strength of our Strengths
Strength of our StrengthsStrength of our Strengths
Strength of our Strengths
Allison Pollard
 
Little Rock Tech Fest - Change your questions change your world
Little Rock Tech Fest - Change your questions change your worldLittle Rock Tech Fest - Change your questions change your world
Little Rock Tech Fest - Change your questions change your world
Allison Pollard
 
Transforming, not transformations
Transforming, not transformationsTransforming, not transformations
Transforming, not transformations
Allison Pollard
 
Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...
Allison Pollard
 
Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...
Allison Pollard
 
Getting Real without Getting Fired - Saying Things in a Way People Can Heart
Getting Real without Getting Fired - Saying Things in a Way People Can HeartGetting Real without Getting Fired - Saying Things in a Way People Can Heart
Getting Real without Getting Fired - Saying Things in a Way People Can Heart
Allison Pollard
 
Getting real without getting fired
Getting real without getting firedGetting real without getting fired
Getting real without getting fired
Allison Pollard
 
Introducing Engineering Practices without being hands-on
Introducing Engineering Practices without being hands-onIntroducing Engineering Practices without being hands-on
Introducing Engineering Practices without being hands-on
Allison Pollard
 
Brewing great agile team dynamics
Brewing great agile team dynamicsBrewing great agile team dynamics
Brewing great agile team dynamics
Allison Pollard
 
Emerging Leadership - DevOps Days Dallas 2016
Emerging Leadership - DevOps Days Dallas 2016Emerging Leadership - DevOps Days Dallas 2016
Emerging Leadership - DevOps Days Dallas 2016
Allison Pollard
 
Changing organizational mindset
Changing organizational mindsetChanging organizational mindset
Changing organizational mindset
Allison Pollard
 
Information radiators
Information radiatorsInformation radiators
Information radiators
Allison Pollard
 
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
Allison Pollard
 
Change your questions change your world - Houston TechFest 2014
Change your questions change your world - Houston TechFest 2014Change your questions change your world - Houston TechFest 2014
Change your questions change your world - Houston TechFest 2014
Allison Pollard
 
Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
Allison Pollard
 
Creating strong & passionate agile communities of practice
Creating strong & passionate agile communities of practiceCreating strong & passionate agile communities of practice
Creating strong & passionate agile communities of practice
Allison Pollard
 
Beyond removing impediments - Scrum Master as team coach
Beyond removing impediments - Scrum Master as team coachBeyond removing impediments - Scrum Master as team coach
Beyond removing impediments - Scrum Master as team coach
Allison Pollard
 

More from Allison Pollard (20)

Resilient Relationships
Resilient RelationshipsResilient Relationships
Resilient Relationships
 
Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)
 
Getting to better problems
Getting to better problemsGetting to better problems
Getting to better problems
 
Strength of our Strengths
Strength of our StrengthsStrength of our Strengths
Strength of our Strengths
 
Little Rock Tech Fest - Change your questions change your world
Little Rock Tech Fest - Change your questions change your worldLittle Rock Tech Fest - Change your questions change your world
Little Rock Tech Fest - Change your questions change your world
 
Transforming, not transformations
Transforming, not transformationsTransforming, not transformations
Transforming, not transformations
 
Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...
 
Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...Everyday beliefs come true - Creating greatness through the stories we tell @...
Everyday beliefs come true - Creating greatness through the stories we tell @...
 
Getting Real without Getting Fired - Saying Things in a Way People Can Heart
Getting Real without Getting Fired - Saying Things in a Way People Can HeartGetting Real without Getting Fired - Saying Things in a Way People Can Heart
Getting Real without Getting Fired - Saying Things in a Way People Can Heart
 
Getting real without getting fired
Getting real without getting firedGetting real without getting fired
Getting real without getting fired
 
Introducing Engineering Practices without being hands-on
Introducing Engineering Practices without being hands-onIntroducing Engineering Practices without being hands-on
Introducing Engineering Practices without being hands-on
 
Brewing great agile team dynamics
Brewing great agile team dynamicsBrewing great agile team dynamics
Brewing great agile team dynamics
 
Emerging Leadership - DevOps Days Dallas 2016
Emerging Leadership - DevOps Days Dallas 2016Emerging Leadership - DevOps Days Dallas 2016
Emerging Leadership - DevOps Days Dallas 2016
 
Changing organizational mindset
Changing organizational mindsetChanging organizational mindset
Changing organizational mindset
 
Information radiators
Information radiatorsInformation radiators
Information radiators
 
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
Beyond Removing Impediments - Scrum Master as Team Coach - Houston TechFest 2014
 
Change your questions change your world - Houston TechFest 2014
Change your questions change your world - Houston TechFest 2014Change your questions change your world - Houston TechFest 2014
Change your questions change your world - Houston TechFest 2014
 
Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
 
Creating strong & passionate agile communities of practice
Creating strong & passionate agile communities of practiceCreating strong & passionate agile communities of practice
Creating strong & passionate agile communities of practice
 
Beyond removing impediments - Scrum Master as team coach
Beyond removing impediments - Scrum Master as team coachBeyond removing impediments - Scrum Master as team coach
Beyond removing impediments - Scrum Master as team coach
 

Recently uploaded

UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
attueb
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
kiara pandey
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
bhumivarma35300
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
jealousviolet
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
josephinedrea942
 
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdfBlockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Natsoft Corporation
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdfAI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
Daniel Zivkovic
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
ERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in CoimbatoreERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in Coimbatore
Nextskill Technologies
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech
 
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to KnowThe Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
onemonitarsoftware
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
ashiklo9823
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
revolutionary575
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
rachitkumar09887
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
singhlata50dh
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
902basic
 

Recently uploaded (20)

UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
 
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdfBlockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdfAI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
ERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in CoimbatoreERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in Coimbatore
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
 
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to KnowThe Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
 

Technical Excellence Doesn't Just Happen - AgileIndy 2016

  • 1. Technical Excellence Doesn't Just Happen – Igniting a Craftsmanship Culture By Allison Pollard and Mike Rieser
  • 3. Allison Pollard • Agile Process Coach and Consultant • Firm Believer in Continuous Improvement • DFW Scrum User Group leader and Dallas Agile Leadership Network board member • Glasses wearer
  • 4. Mike Rieser (ree-sir) • Agile Coach and Consultant • Technical Practices Coach • “Programmer shirt” wearer
  • 5. TECHNICAL EXCELLENCE “In an agile project, technical excellence is measured by both capacity to deliver customer value today and create an adaptable product for tomorrow.” – Jim Highsmith
  • 6. Who’s problem is it? How many programmers does it take to change a light bulb? 6 https://www.flickr.com/photos/belobaba/6058142799/
  • 7. Who’s problem is it? Who should be concerned with the long-term viability of the codebase? 7 https://www.flickr.com/photos/f-oxymoron/5005673112/
  • 8. Agile: build the right thing and build it right. • Building it right means it has a simple design, and is maintainable and flexible. • Successful software needs to be able to evolve to meet expanding needs.Photo by Yann, https://en.wikipedia.org/wiki/File:Taj_Mahal_(Edited).jpeg
  • 9. Excellence Is a Habit! Continuous attention to technical excellence and good design enhances agility. (9th Principle of the Agile Manifesto) https://www.flickr.com/photos/ikoka/16843413711/
  • 11. Discuss Anyone have an anecdote of an extreme in technical excellence? Either • “too much” • or “not enough” That you can share in 30-60 seconds.
  • 12. KINDLING CRAFTSMANSHIP What will spark your culture change?
  • 13. Process & Technical Practices “People have told me that they see Scrum as the management approach to agile development and XP as the engineering practices that make it effective, both bonded together by complimentary practices and goals.” – Ken Schwaber, co-creator of Scrum
  • 14. Flaccid Scrum – Martin Fowler, 2009 • They want to use an agile process, and pick Scrum • They adopt Scrum practices, and maybe even the principles • After a while progress is slow because the code base is a mess Five Years Later… 2014 My advice still stands - ensure you take technical practices seriously when introducing Scrum (or indeed any agile approach). – Martin Fowler
  • 15. From Flaccid to Awesome! Internal Quality (Developer Facing) External Quality (Customer Facing) Advice High High You’re awesome! High Low Get Customer-focused! Low High It won’t Last. Refactor now! Low Low Refactor versus Rewrite?!
  • 16. Agile Requires Quality Waterfall Agile 0 20 40 60 80 100 120 0 18 36 54 Quality over Time 0 20 40 60 80 100 120 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 Quality over Time
  • 17. Process Dependencies 18 Waterfall Upfront Requirements Upfront Design Agile Evolutionary Design Refactoring Automated Developer Tests Test First Test After
  • 19. How Does Technical Debt Occur? IT’s “Done” Business “Accepts” Result True True ✔ True False Communication Problem False True Technical Debt False False ✔
  • 20. How Does Technical Debt Occur? • Complex Requirements – producing overly complicated implementations, unreduced complexity • Over Engineering – developers building more sophisticated code than is necessary (Speculative Development). [Gold Plating] • Business Solutioning – dictating technical solutions rather than bringing problems to be solved. • Ignorance – an incomplete understanding of how the system works • Undone Work – deciding “writing automated tests slows us down” • Good code / wrong place • Cutting Corners – “quick and dirty”
  • 21. Faster is Slower We’ll “fix it later.” When is later? (There is no later!) https://www.flickr.com/photos/9266144@N02/1074851879
  • 22. The Business Made Me Do It! What a Tech Lead says to his Product Owner: “To do it right will take 2 Iterations. If we do it this other way, we can do it in 2 days, but the developers will be forever burdened with fragile code and it will impact our delivery on every project in the future.” What the Product Owner hears: “You can have it in 2 days!” Moral: Be sure you can live with the options you present.
  • 23. Enhances. Really? Compare “Continuous attention to technical excellence and good design enhances agility.” – 9th Principle, Agile Manifesto with “Speed is a long-term side-effect of producing code with the highest possible internal quality.” – Agile Testing by Lisa Crispin, Janet Gregory perhaps Continuous attention to technical excellence and good design sustains agility. https://www.flickr.com/photos/mr_t_in_dc/2322412546/
  • 24. WHAT WE TRIED And now for something completely different.
  • 25. TDD Training • Introduces the practice of Test-Driven Development • Refreshers welcome • ‘Ignites the spark’ around Test-Driven Development and why we need it Outcomes • Shoot for “Test-Infected,” coach the rest • 18,000 Unit Tests with 100% pass rate every build • Tasks for “Unit Tests” have disappeared Red GreenRefactor
  • 26. Maturity Model for TDD 36 SHU (Follow) HA (Break Free) RI (Transcend)  Still learning, follows but may not know why.  New code comes with new tests.  Changed code comes with tests around the changes.  Internalized practice, but still needs a coach.  Understands pros and cons.  All code is written test-first.  Able to go beyond what has been taught  Creates a unit testing framework because they needed one and it didn’t exist.
  • 27. Code Clinics • A non-judgmental place where developers can bring their coding issues to look for feedback or work collaboratively on solutions, watch and help others, get mentoring if needed, identify how to apply concepts from the book or get some code under test. Outcome • Sometimes repurposed into “Code Review” • A few dedicated “Lurkers” • As delivery pressure increases, attendance decreases • Found “classroom exercises” this way https://www.flickr.com/photos/lloyds- screenies/2696378369/
  • 28. Transferring Code Ownership Devs: This is horrible! They ought to do something about this! Coach: Management wants you to have a nice code base to work in, but they aren’t in the code every day. This is where you work every day. If you want a nice place to work, you’re going to have to clean it up. “You” are “they.” Outcome “Don’t touch that!” replaced with “Why didn’t you clean that up?”
  • 29. Tech Lead Interview Process • Recruiting Tech Leads that are evangelists and mentors for the concepts we care about (TDD, Quality, Refactoring, OO Design) • Interview includes: a coding problem, a code review problem, a non-technical-solution problem • Allowed no exceptions for folks hired into a Tech Lead role Outcome • “New DNA” rejecting “Old DNA” • “Supervisor” Tech Leads did not do well • Hit most on: Senior Devs looking for their next level http://disney.wikia.com/wiki/File:Star_wars_movi es_darth_maul_obi-wan_wars_hd-wallpaper- 481469.jpg
  • 30. Code Reviews • Originally no definition of “Production Worthy” • Code is continually ‘assessed’ (every iteration) and feedback given to ensure we continue to steer away from the addition of debt to the codebase • The more frequent the code reviews, the more likely we are to avoid pitfalls at the end of a project Outcome • Reviews with different teams were at different levels • Smell: sign-off became “required” • Now community owned https://www.flickr.com/photos/ericvaughn/972882 9199 https://www.flickr.com/photos/dmcdevit/1143743 631 https://www.flickr.com/photos/26116471@N03/6 788264645
  • 31. Additional Coaching Items • Directive – leave things better than you found it • Free Book – Working with Legacy Code by Feathers • Book Club – meet over lunch to discuss a book on software craftsmanship • Community of Practice – a recurring meeting for developers to communicate across teams on successful solutions and useful tips and techniques applied to the codebase • Continuous Integration – reduces deploy costs and fast-tracks code improvements to teams
  • 32. Practices & Process Where would focusing only on delivery get you? Process TechnicalExcellence
  • 34. Perfect (v.) • Continuous Improvement requires continuous learning – encourage a learning environment. • Problems are one of the first signs that something needs changed. • Get to the root cause, and fix it. The symptoms will go away. https://pixabay.com/en/learn-note-sign-directory- 64058/
  • 35. Invest in your people CFO: What if we train them, and they leave? COO: What if we don’t, and they stay? Copyright: David Franklin/Shutterstock
  • 36. Fan the Flame! • There really is no substitute for a developer that has a spark to make it right. • When you see the spark, encourage the flame!Photo by Billy Hathorn, https://commons.wikimedia.org/wiki/File:Kindling_for_starting_a_campfire_IMG_2454.JPG
  • 37. Create a Safe Environment “Initiative is punishable.” – Russian Proverb • If you want teams to take initiative, you must allow for failure. • Mistakes are an indicator of trying something new. • Teams require autonomy to achieve excellence.
  • 38. LongTermViabilityRequiresDiscipline “Just put it anywhere” only works for a short time! Image from Raiders of the Lost Ark
  • 39. THE END Allison Pollard allison.pollard@improving.com @allison_pollard (Twitter) Mike Rieser mike@mrieser.com @MichaelRieser (Twitter)
  • 40. Best Measure of Code Quality Hard to game.

Editor's Notes

  1. Calibrate the audience
  2. The answer is “None, it’s a hardware problem.”
  3. Hopefully everyone.
  4. Building it right could also be described as “rigid in the right places and flexible in the right places.” If Agile is about “embracing change”, then an Agile code base needs to be able to “embrace change.” Successful software may suffer from performance punishment. It did well, so now it needs to do more.
  5. Brainstorm in groups what it looks like when a team does not focus on technical excellence and share ideas with large group
  6. Brainstorm in groups what it looks like when a team does not focus on technical excellence and share ideas with large group
  7. Flaccid Scrum (http://martinfowler.com/bliki/FlaccidScrum.html) 29 Jan 2009 Five years of Flaccid Scrum (http://martinfowler.com/snips/201401291515.html) 29 Jan 2014
  8. Agile/Iterative process married with Waterfall technical practices will hit a productivity wall. After a certain number of iterations the ability to deliver with sustainable velocity diminishes. AA.Com released every 2-weeks with 80 defects per release. AppSupport fixed 10-15 defects per week. Adopted a zero-defect “no known defects” policy.
  9. We think it implies that there is little serious effort of throwing away unnecessary or redundant functions. Software engineering has been emphasizing the importance of requirements acquisition process but not sufficiently taking care of “unrequirements”. Software Lifetime and its Evolution Process over Generations By Tetsuo Tamai and Yohsuke Torimitsu http://tamai-lab.ws.hosei.ac.jp/pub/icsm92.pdf
  10. Cost to Test is also affected by bad code and inadvertent side effects. Also don’t discount FEAR’s effects on testing and change.
  11. Ward Cunningham’s originator of the metaphor (roughly): The difference between what the code is and what the code should be.
  12. With Good Code/Wrong Place = more dev audience
  13. With out Good Code/Wrong Place = more business audience
  14. Remember the feedback has a very long delay.
  15. As Lean thinking would have you make a decision at the last responsible moment. Let the person with the most information and who understands the implications make the decisions. Also, “Framework made me do it!” also a cop out.
  16. This was one of the “attractors” for our hiring developers. Don’t hire Merry-Maids.
  17. I needed allies!
  18. Review the craftsmanship culture and behaviors that set our coaching direction (i.e., leave things better than you found it, practice and get feedback)
  19. Horizontal – Process Low to High Vertical – Technical Excellence Practices Low to High Notice the upper right (highly rated on practices and on process). Focus on process and practices and you’ll get delivery! The most cogent take away is if you focus only on delivery. There is no telling where on this graph you’ll be. On the other hand, if you focus on executing well on your process, and paying attention to your practices. Delivery takes care of itself.
  20. “If it stinks, change it.” —Grandma Beck, discussing child-rearing philosophy