Ken Auer
@kauerrolemodel
Agility & Expertise
The Relationship Between
[email protected] http://www.slideshare.net/kauerrolemodel/the-relationship-between-agility-and-expertise
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Impressive prototype
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Website/app promoting a new product
Impressive prototype
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Website/app promoting a new product
Impressive prototype
Election results reporting system
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Website/app promoting a new product
Impressive prototype
Record-keeping system subject to
changing regulations
Election results reporting system
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Website/app promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Inexpensive
Expensive
Software Explained
Website/app promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Simple WebsiteMyFirst
TwilioApp Consumables Investments
* http://litemind.com/expert-roadmap/
Dreyfus Model of Skill Acquisition*
Rules Detached Observer
ConsidersEverything
IntuitionRelevant
FocusPart ofSystem
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of Skill Acquisition*
Rules Detached Observer
ConsidersEverything
IntuitionRelevant
FocusPart ofSystem
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of Skill Acquisition*
Rules Detached Observer
ConsidersEverything
IntuitionRelevant
FocusPart ofSystem
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of Skill Acquisition*
Rules Detached Observer
ConsidersEverything
IntuitionRelevant
FocusPart ofSystem
Novice
Advanced Beginner
Competent
Proficient
Expert
Knowledge vs. Skill*
“There’s much more to mastering a skill than just acquiring more knowledge. Just like adults
are not simply bigger children, experts are not only smarter, more knowledgeable or faster than novices. The differences can be found at a more fundamental level, such as in how they perceive
the world and approach problems.” - Luciano Passuello
* http://litemind.com/expert-roadmap/
Knowledge vs. Skill*
“There’s much more to mastering a skill than just acquiring more knowledge. Just like adults
are not simply bigger children, experts are not only smarter, more knowledgeable or faster than novices. The differences can be found at a more fundamental level, such as in how they perceive
the world and approach problems.” - Luciano Passuello
* http://litemind.com/expert-roadmap/ ** https://www.amazon.com/Reflective-Practitioner-Professionals-Think-Action/dp/0465068782
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Intuitively identify and solve problems... it’s simple
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Intuitively identify and solve problems... it’s simple
Overwhelmed by Complexity
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Intuitively identify and solve problems... it’s simple
Overwhelmed by Complexity
Manage and Reduce Complexity
Cost of Advanced Beginners
Novice
Advanced Beginner
Competent
Proficient
Expert
Clueless
Mostly “right”
Make it run... right?
All of us are Novices at some things... Some may be experts in others... Usually somewhere in between
ToolsTechniquesSkillsDomainsLanguages
Follow rules on well-defined tasks
Complete similar tasks following rules
Have conceptual models in which to operate
Have conceptual framework in which to adjust
Intuitively identify and solve problems... it’s simple
Overwhelmed by Complexity
Manage and Reduce Complexity
Unwittingly Introduce Complexity
Benefits of Reflective Expertise
Inh
eren
t C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Inh
eren
t C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Consumable Applications“Deliver Fast, for Immediate Needs”
Inh
eren
t C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Consumable Applications“Deliver Fast, for Immediate Needs”
It is All About Speed• Well-defined functionality in well-defined
domain
• Well-defined technology stack appropriate for delivery medium
It is All About Speed• Well-defined functionality in well-defined
domain
• Well-defined technology stack appropriate for delivery medium
• Put it in front of users, hope they are happy… if they are not, move on
It is All About Speed• Well-defined functionality in well-defined
domain
• Well-defined technology stack appropriate for delivery medium
• Put it in front of users, hope they are happy… if they are not, move on
• Can become
➡ Advanced Beginner in months
➡ Proficient in 2-3 years
➡ Expert in < 5 years? (10,000 hours)
Software Assets“Supporting Business, Expanding Business”
Inh
eren
t C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Software Assets“Supporting Business, Expanding Business”
Inh
eren
t C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
It is a Marathon• Leveraging expertise in changing domain
• Technology needs to be helpful, not fleeting, and forward moving
It is a Marathon• Leveraging expertise in changing domain
• Technology needs to be helpful, not fleeting, and forward moving
• If people are not happy, business might stop
It is a Marathon• Leveraging expertise in changing domain
• Technology needs to be helpful, not fleeting, and forward moving
• If people are not happy, business might stop
• Domain and Technical Skills both really important
• Green fields are hard to find
• Typically deep domain model, not just UI
• Many communication challenges
• Learning Environment
Short-term vs. Long-term“code is read more often than it is written”*
2-4x 4-10x 10-100x
* attributed to many… if you think you are the first to say it, please correct Google
Inh
eren
t C
om
plex
ity
Longevity
Time spent reading code vs. w
riting code
Code Read vs. Written
Benefits of Reflective Expertise“code is read more often than it is written”*
10-100x
4-10x
1x
Tim
e to G
rasp &
E
ffectively Exp
ress
2-4x
1-2x
2-4x 4-10x 10-100x
Code Read vs. Written
Inh
eren
t C
om
plex
ity
Longevity* attributed to many… if you think you are the first to say it, please correct Google
Novice
Adv. Beginner
Competent
Proficient
Expert
Costs of Less Skilled Producers
* https://en.wikipedia.org/wiki/Technical_debt (paraphrased)
Technical debt is a metaphor referring to the eventual consequences of any development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete or proper. If the debt is not repaid, then it will keep on accumulating “interest,” making it hard to implement changes later on.
“don’t confuse speed/motion with progress”
1x
10-100x
Techn
ical Deb
tIn
trod
uctio
n R
ate
4-10x
2-4x
1-2x
Costs of Less Skilled Producers“don’t confuse speed/motion with progress”*
Intr
od
uce
d C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
* attributed to many… if you think you are the first to say it, please correct Google
1x
10-100x
Techn
ical Deb
tIn
trod
uctio
n R
ate
4-10x
2-4x
1-2x
Costs of Less Skilled Producers“don’t confuse speed/motion with progress”*
Intr
od
uce
d C
om
plex
ity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
* attributed to many… if you think you are the first to say it, please correct Google
Co
mpl
exit
y
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software
Website/App promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software
Website/App promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Turning a Prototype that
was shipped into a Software Asset
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software
Website/App promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Turning a system built with a
Consumable mindset into a Software Asset
Turning a Prototype that
was shipped into a Software Asset
Simple WebsiteMyFirst
TwilioApp
Co
mpl
exit
y
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software
Website/App promoting a new product
Impressive prototype
Decision Support system for experts in a changing domain
Record-keeping system subject to
changing regulations
Election results reporting system
Turning a system built with a
Consumable mindset into a Software Asset
Turning a System built by less
skilled producers into a Software
Asset
Turning a Prototype that
was shipped into a Software Asset
Simple WebsiteMyFirst
TwilioApp
The Uncomfortable Reality• “We only hire smart people”
• Are all of your people really experts?
• Compared to the guys who wrote the Agile Manifesto?
The Uncomfortable Reality• “We only hire smart people”
• Are all of your people really experts?
• Compared to the guys who wrote the Agile Manifesto?
• Experts are hard to find, cost lots of money, and don’t like simple tasks (or cleaning up others messes)
The Uncomfortable Reality• “We only hire smart people”
• Are all of your people really experts?
• Compared to the guys who wrote the Agile Manifesto?
• Experts are hard to find, cost lots of money, and don’t like simple tasks (or cleaning up others messes)
• To a manager (novice?) everyone who knows more than him looks like an expert
The Uncomfortable Reality• “We only hire smart people”
• Are all of your people really experts?
• Compared to the guys who wrote the Agile Manifesto?
• Experts are hard to find, cost lots of money, and don’t like simple tasks (or cleaning up others messes)
• To a manager (novice?) everyone who knows more than him looks like an expert
• To an advanced beginner, everyone who knows less than him looks like an idiot
The Good News
• We have learned “best practices”
• Nearly anyone can do them (or learn to do them)
• Doing them will
The Good News
• We have learned “best practices”
• Nearly anyone can do them (or learn to do them)
• Doing them will
• Make them better
The Good News
• We have learned “best practices”
• Nearly anyone can do them (or learn to do them)
• Doing them will
• Make them better
• Reduce your risk
The Good News
• We have learned “best practices”
• Nearly anyone can do them (or learn to do them)
• Doing them will
• Make them better
• Reduce your risk
• Not all tasks, even on a complex system, require an expert
* http://agilemanifesto.org/See http://agilemanifesto.org/principles.html for better description of “agile”
* http://agilemanifesto.org/See http://agilemanifesto.org/principles.html for better description of “agile”
eXtreme Programming Continuous Refinement of...
• Requirements
• Design
• Plan
• People
• ResultsPotential Value!
?
eXtreme Programming
code reviews
testing
design
simplicity
customer involvement
integration
short iterations
risk management
pair programming
100% unit, tracking acceptance
continuous refactoring
TSTTCPW, YAGNI, test-driven
they drive
daily or more often
1-4 week release cycle
collective code ownership
=>
=>
=>
=>
=>
=>
=>
=>
TDD, Refactoring, Pairing + Collective Code Ownership
• Achieve validated quality code
• Shared learning
TDD, Refactoring, Pairing + Collective Code Ownership
• Achieve validated quality code
• Shared learning
• In context
TDD, Refactoring, Pairing + Collective Code Ownership
• Achieve validated quality code
• Shared learning
• In context
• For context
TDD, Refactoring, Pairing + Collective Code Ownership
• Achieve validated quality code
• Shared learning
• In context
• For context
• Anyone(?) can keep it going forward with quality
SCRUM vs. eXtremeSurface vs. Deep
• SCRUM certification means you sat through a class
• Tells you to have feedback loops
SCRUM vs. eXtremeSurface vs. Deep
• SCRUM certification means you sat through a class
• Tells you to have feedback loops
• No programming approach
SCRUM vs. eXtremeSurface vs. Deep
• SCRUM certification means you sat through a class
• Tells you to have feedback loops
• No programming approach
• eXtreme Programming more deeply addresses approach to programming…
SCRUM vs. eXtremeSurface vs. Deep
• SCRUM certification means you sat through a class
• Tells you to have feedback loops
• No programming approach
• eXtreme Programming more deeply addresses approach to programming…
• …and makes you a better programmer?
Co
mpl
exit
y
Longevity
Benefits of Deep Agility
Customer Feedback
Continuous Integration
Test-Driven
Collective Code Ownership
Pair Programming
Iteration Planning
Continuous Refactoring
More depth puts in more checks against
introduced complexity and more results that reduce business riskStand-up Meetings
Co
mpl
exit
y
Longevity
Benefits of Deep Agility
Customer Feedback
Continuous Integration
Test-Driven
Collective Code Ownership
Pair Programming
Iteration Planning
Continuous Refactoring
More depth puts in more checks against
introduced complexity and more results that reduce business riskStand-up Meetings
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
• Two novices don’t produce the quality of experts by pairing
Reality of Internal Quality• Easy for anyone to slip in the name of expediency
• Make it run. Make it right. Make it fast. OR
• Make it run... fast enough?… Ship it.
• Make it right?
• Limited by expertise of most skilled participant
• Can increase by collaboration
• Two novices don’t produce the quality of experts by pairing
Two novices don’t produce the quality of experts by pairing!
Getting Past Advanced Beginner
“Proficient practitioners can take full advantage of the reflection and feedback that is core to agile methods.”*
But how do you get there? - Individual exercise? - Team work?
*Pragmatic Thinking & Learning, Andrew Hunt, p.35
Acceptable Methods to Ensure Quality Code and Coders
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
Acceptable Methods to Ensure Quality Code and Coders
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Information absorption Visual—65%
Auditory—30%Kinesthetic—5%
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Information absorption Visual—65%
Auditory—30%Kinesthetic—5%
FeedbackLoop
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Information absorption Visual—65%
Auditory—30%Kinesthetic—5%
FeedbackLoop
Reading code
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Information absorption Visual—65%
Auditory—30%Kinesthetic—5%
FeedbackLoop
2 people on email
Reading code
Hot Communication &High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
HotCommunication
High Skill Transfer
Low Skill Transfer
ColdCommunication
* http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
Information absorption Visual—65%
Auditory—30%Kinesthetic—5%
FeedbackLoop
Code out loud!
2 people on email
Reading code
Novice
Adv. Beg
Competent
Proficient
Expert
Clean Code, TDD, and
OO Thinkingmoves toward
the “mostskilled” at a
rate you canadjust
LanguageIdioms and strengths/
weaknessesget shared
among the
team
More skills are
picked up byincluding
specialistsin process and
observing“tips and
tricks”
“Have cheap people do easy things under the CLOSE supervision of someone who knows the difference”
- Ken Auer, 2010 SCNA talk “Lean Craftsmanship vs. Corporate Craftsmanship”
“Have advanced beginners do tasks for which the rules they know are appropriate to the context and check their
work. Let them watch, and have discussions with, someone who has the appropriate skills for the task
when the advanced beginner does not” - Ken Auer, 2013 SCNA talk “Craftsmen Cannot Live on Stack Overflow and Github Alone”
To a Novice, an Advanced Beginner looks like an Expert
Longevity
Novice
Adv. Beginner
Competent
Proficient
ExpertEA
SYMED
.HA
RDEA
SYMED
.HA
RD
EASY
MED
.HA
RD
Effectively Troubleshoot and correct Production
Support Challenges
Solidly Deliver on Well-Defined Tasks on Simple
Projects or subsets of Non-trivial Projects
Solidly Deliver on Well-Defined Tasks on Non-
trivial to Complex Projects
Hitting the Target w/ Software Developers
Co
mpl
exit
y
Longevity
Novice
Adv. Beginner
Competent
Proficient
ExpertEA
SYMED
.HA
RD
EASY
MED
.HA
RD
Turn Clear Requested
Features into Well-defined
Tasks
Turn Ill-defined Features into Prioritized
Well-defined tasks
Hitting the Target w/ Software Developers
Longevity
Novice
Adv. Beginner
Competent
Proficient
ExpertEA
SYMED
.HA
RD
EASY
MED
.HA
RD
Identify and Manage Inherent Complexity of
Technical Challenges and
Avoid Introducing Complexity
Identify Inherent Complexity of
Project/Customer Challenges and
Avoid Introducing Complexity or
Further Challenges
Co
mpl
exit
y
Hitting the Target w/ Software Developers
Basic Rules for Building Software Assets
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Basic Rules for Building Software Assets
• The Ratio of Experts-Novices should change based on the nature of the project
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Basic Rules for Building Software Assets
• The Ratio of Experts-Novices should change based on the nature of the project
• The Craftsmen-in-charge should oversee
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Basic Rules for Building Software Assets
• The Ratio of Experts-Novices should change based on the nature of the project
• The Craftsmen-in-charge should oversee
• Very productive development environment
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Basic Rules for Building Software Assets
• The Ratio of Experts-Novices should change based on the nature of the project
• The Craftsmen-in-charge should oversee
• Very productive development environment
• What tasks get done by which people
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Basic Rules for Building Software Assets
• The Ratio of Experts-Novices should change based on the nature of the project
• The Craftsmen-in-charge should oversee
• Very productive development environment
• What tasks get done by which people
• What form(s) of “two sets of eyes” is appropriate in what contexts
Take this home with you… assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity
Co
mpl
exit
y
Longevity
Benefits of Agility + Expertise
Trivial Tasks anyone can do with Async Pull
Request
Co
mpl
exit
y
Longevity
Benefits of Agility + Expertise
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
Co
mpl
exit
y
Longevity
Benefits of Agility + Expertise
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Co
mpl
exit
y
Longevity
Benefits of Agility + Expertise
New Feature Walking
Skeleton: built in test-driven fashion by proficient dev
with pair
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Co
mpl
exit
y
Longevity
Benefits of Agility + Expertise
Fleshing Out New Feature can be done by less experienced test-driven pairs
New Feature Walking
Skeleton: built in test-driven fashion by proficient dev
with pair
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Co
mpl
exit
y
Longevity
Benefits of Agility + ExpertiseStandards and Architecture
designed/enforced by Craftsmen
Fleshing Out New Feature can be done by less experienced test-driven pairs
New Feature Walking
Skeleton: built in test-driven fashion by proficient dev
with pair
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Co
mpl
exit
y
Longevity
Benefits of Agility + ExpertiseStandards and Architecture
designed/enforced by Craftsmen
Fleshing Out New Feature can be done by less experienced test-driven pairs
New Feature Walking
Skeleton: built in test-driven fashion by proficient dev
with pair
Debt Reduction identified,
prioritized, and attacked by
experienced pairs
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Co
mpl
exit
y
Longevity
Benefits of Agility + ExpertiseStandards and Architecture
designed/enforced by Craftsmen
Fleshing Out New Feature can be done by less experienced test-driven pairs
New Feature Walking
Skeleton: built in test-driven fashion by proficient dev
with pair
Well-defined Maintenance Tasks
can be done by “anyone” who has learned in context
Debt Reduction identified,
prioritized, and attacked by
experienced pairs
Trivial Tasks anyone can do with Async Pull
Request
Prototype needs highly skilled dev/
designer(s) with little code review but
significant stakeholder review
“Spiking” a New Feature typically needs
proficient dev with customer rep
feedback
Basic Rules for Building Software Craftsmen
Take this home with you… assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.
Basic Rules for Building Software Craftsmen
• Seek Hot Communication and High Skill Transfer situations for yourself and others
Take this home with you… assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.
Basic Rules for Building Software Craftsmen
• Seek Hot Communication and High Skill Transfer situations for yourself and others
• Be Hungry, Humble, and Smart
Take this home with you… assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.
Basic Rules for Building Software Craftsmen
• Seek Hot Communication and High Skill Transfer situations for yourself and others
• Be Hungry, Humble, and Smart
“Knowledge makes arrogant, but love edifies. If anyone supposes that he knows anything, he has not yet known as he ought to know” (1 Corinthians 8:1b-2a, NASB)
Take this home with you… assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.
Basic Rules for Building Software Craftsmen
• Seek Hot Communication and High Skill Transfer situations for yourself and others
• Be Hungry, Humble, and Smart
“Knowledge makes arrogant, but love edifies. If anyone supposes that he knows anything, he has not yet known as he ought to know” (1 Corinthians 8:1b-2a, NASB)
“When pride comes, then comes dishonor, But with the humble is wisdom.” (Proverbs 11:2, NASB)
Take this home with you… assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.
Slides & References• slides available at: http://www.slideshare.net/kauerrolemodel/the-
relationship-between-agility-and-expertise
• Dreyfus Model of Skill Acquisition
• http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition
• http://1.usa.gov/1iOLuWC - Dreyfus, Stuart E.; Dreyfus, Hubert L. (February 1980), A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition
• http://bit.ly/1fU3aLn - Benner, Patricia (2004), Using the Dreyfus Model of Skill Acquisition to Describe and Interpret Skill Acquisition and Clinical Judgment in Nursing Practice and Education
• RoleModel’s Craftsmanship Levels: http://bit.ly/29bHHU9
Top Related