SlideShare une entreprise Scribd logo
1  sur  140
Télécharger pour lire hors ligne
Crafting software systems for
forward-thinking businesses
Ken Auer
@kauerrolemodel
Agility &
Expertise
The Relationship Between
ken.auer@rolemodelsoftware.com
http://www.slideshare.net/kauerrolemodel/

the-relationship-between-agility-and-expertise
Complexity
Longevity
Software Explained

Complexity
Longevity
Inexpensive
Expensive
Software Explained

Complexity
Longevity
Inexpensive
Expensive
Software Explained

Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Software Explained

Simple
Website
MyFirst
TwilioApp
Complexity
Longevity
Inexpensive
Expensive
Software Explained

Impressive
prototype
Simple
Website
MyFirst
TwilioApp
Complexity
Longevity
Inexpensive
Expensive
Software Explained

Website/app
promoting a
new product
Impressive
prototype
Simple
Website
MyFirst
TwilioApp
Complexity
Longevity
Inexpensive
Expensive
Software Explained

Website/app
promoting a
new product
Impressive
prototype
Election results
reporting system
Simple
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp Consumables Investments
* http://litemind.com/expert-roadmap/
Dreyfus Model of
Skill Acquisition*

Rules Detached
Observer
Considers

Everything
Intuition
Relevant

Focus
Part of

System
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of
Skill Acquisition*

Rules Detached
Observer
Considers

Everything
Intuition
Relevant

Focus
Part of

System
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of
Skill Acquisition*

Rules Detached
Observer
Considers

Everything
Intuition
Relevant

Focus
Part of

System
Novice
Advanced Beginner
Competent
Proficient
Expert
* http://litemind.com/expert-roadmap/
Dreyfus Model of
Skill Acquisition*

Rules Detached
Observer
Considers

Everything
Intuition
Relevant

Focus
Part of

System
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
Tools
TechniquesSkills
DomainsLanguages
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
InherentComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
InherentComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Consumable Applications

“Deliver Fast, for Immediate Needs”
InherentComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Consumable Applications

“Deliver Fast, for Immediate Needs”
It is All About Speed
It is All About Speed
• Well-defined functionality in well-defined
domain
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”
InherentComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Software Assets

“Supporting Business, Expanding Business”
InherentComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
It is a Marathon
It is a Marathon
• Leveraging expertise in changing domain
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
InherentComplexity
Longevity
Time spent reading code vs. writing code
Code Read vs. Written
Benefits of Reflective Expertise

“code is read more often than it is written”*
10-100x
4-10x
1x
TimetoGrasp&
EffectivelyExpress
2-4x
1-2x
2-4x 4-10x 10-100x
Code Read vs. Written
InherentComplexity
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
TechnicalDebt

IntroductionRate
4-10x
2-4x
1-2x
Costs of Less Skilled Producers

“don’t confuse speed/motion with progress”*
IntroducedComplexity
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
TechnicalDebt

IntroductionRate
4-10x
2-4x
1-2x
Costs of Less Skilled Producers

“don’t confuse speed/motion with progress”*
IntroducedComplexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
* attributed to many… if you think you are the first to say it, please correct Google
Complexity
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
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp
Complexity
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
Website
MyFirst
TwilioApp
The
Uncomfortable Reality
The
Uncomfortable Reality
• “We only hire smart people”
The
Uncomfortable Reality
• “We only hire smart people”
• Are all of your people 

really experts?
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
Novice
Adv. Beg
Competent
Proficient
Expert
Example

Weak

Professional

Developer

Skill

Scorecard
The Good News
The Good News
• We have learned “best practices”
The Good News
• We have learned “best practices”
• Nearly anyone can do them 

(or learn to do them)
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”
SCRUM - Simple Agile

SCRUM - Simple Agile

Customer Feedback
eXtreme Programming
Continuous Refinement of...
• Requirements
• Design
• Plan
• People
• Results
Potential 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
TDD, Refactoring, Pairing +
Collective Code Ownership
• Achieve validated quality code
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. eXtreme

Surface vs. Deep
SCRUM vs. eXtreme

Surface vs. Deep
• SCRUM certification means you sat
through a class
SCRUM vs. eXtreme

Surface vs. Deep
• SCRUM certification means you sat
through a class
• Tells you to have feedback loops
SCRUM vs. eXtreme

Surface vs. Deep
• SCRUM certification means you sat
through a class
• Tells you to have feedback loops
• No programming approach
SCRUM vs. eXtreme

Surface 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. eXtreme

Surface 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?
Complexity
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
Complexity
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

Reality of Internal Quality

• Easy for anyone to slip in the name of expediency
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
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
Acceptable Methods to Ensure
Quality Code and Coders
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
Hot Communication &

High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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%
Feedback

Loop
Hot Communication &

High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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%
Feedback

Loop
Reading
code
Hot Communication &

High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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%
Feedback

Loop
2 people on
email
Reading
code
Hot Communication &

High Skill Transfer
Pair Programming
Opportunistic Pairing
Pair Refactoring/Rewriting
Synchronous pull requests
Asynchronous pull requests
Hot

Communication
High Skill
Transfer
Low Skill
Transfer
Cold

Communication
* 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%
Feedback

Loop
Code out
loud!
2 people on
email
Reading
code
Novice
Adv. Beg
Competent
Proficient
Expert
Example

Weak

Professional
Developer

Skill

Scorecard
Novice
Adv. Beg
Competent
Proficient
Expert
Clean Code,
TDD, and

OO Thinking

moves toward

the “most

skilled” at a

rate you can

adjust
Language

Idioms and 

strengths/

weaknesses

get shared

among
the
team
More skills
are

picked up by

including

specialists

in 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
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Craftsmanship Levels*
* http://bit.ly/29bHHU9
Wisdom
Knowledge
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
EASYMED.HARD
EASYMED.HARD
EASYMED.HARD
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
Complexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
EASYMED.HARD
EASYMED.HARD
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
Expert
EASYMED.HARD
EASYMED.HARD
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
Complexity
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
Complexity
Longevity
Benefits of Agility + Expertise

Complexity
Longevity
Benefits of Agility + Expertise

Complexity
Longevity
Benefits of Agility + Expertise

Trivial Tasks
anyone can do
with Async Pull
Request
Complexity
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
Complexity
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
Complexity
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
Complexity
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
Complexity
Longevity
Benefits of Agility + Expertise

Standards 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
Complexity
Longevity
Benefits of Agility + Expertise

Standards 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
Complexity
Longevity
Benefits of Agility + Expertise

Standards 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

Contenu connexe

Similaire à CocoaConf Relationship Between Agility and Expertise

The Relationship Between Agility and Expertise
The Relationship Between Agility and ExpertiseThe Relationship Between Agility and Expertise
The Relationship Between Agility and ExpertiseKen Auer
 
Erp ocean's training strenth/Corporate Training
Erp ocean's training strenth/Corporate TrainingErp ocean's training strenth/Corporate Training
Erp ocean's training strenth/Corporate TrainingERP OCEAN Infotech Pvt Ltd
 
Chasingwindmills agile success
Chasingwindmills agile successChasingwindmills agile success
Chasingwindmills agile successPaul Boos
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons LearnedSeriousGamesAssoc
 
Career building and Skills Development
Career building and Skills DevelopmentCareer building and Skills Development
Career building and Skills DevelopmentBahaa Farouk
 
Software and all that comes with it
Software and all that comes with itSoftware and all that comes with it
Software and all that comes with itAlberto Brandolini
 
Follow the Money - How to Speak to Executives about Agile
Follow the Money - How to Speak to Executives about AgileFollow the Money - How to Speak to Executives about Agile
Follow the Money - How to Speak to Executives about AgileAgileThought
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010sqlserver.co.il
 
Narrated Version Dallas MPUG
Narrated Version Dallas MPUGNarrated Version Dallas MPUG
Narrated Version Dallas MPUGGlen Alleman
 
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestMozaic Works
 
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery EventThe Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery EventXebiaLabs
 
Cloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa MonicaCloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa MonicaVMware Tanzu
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job EasierTonya Mork
 
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...Scott Abel
 
Scrum and kanban in the enterprise webinar
Scrum and kanban in the enterprise   webinarScrum and kanban in the enterprise   webinar
Scrum and kanban in the enterprise webinarMike Cottmeyer
 
User eXperience
User eXperienceUser eXperience
User eXperienceAcquate
 

Similaire à CocoaConf Relationship Between Agility and Expertise (20)

The Relationship Between Agility and Expertise
The Relationship Between Agility and ExpertiseThe Relationship Between Agility and Expertise
The Relationship Between Agility and Expertise
 
Erp ocean's training strenth/Corporate Training
Erp ocean's training strenth/Corporate TrainingErp ocean's training strenth/Corporate Training
Erp ocean's training strenth/Corporate Training
 
Being Agile
Being AgileBeing Agile
Being Agile
 
Chasingwindmills agile success
Chasingwindmills agile successChasingwindmills agile success
Chasingwindmills agile success
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned
 
Agile recilience
Agile recilienceAgile recilience
Agile recilience
 
Career building and Skills Development
Career building and Skills DevelopmentCareer building and Skills Development
Career building and Skills Development
 
Software and all that comes with it
Software and all that comes with itSoftware and all that comes with it
Software and all that comes with it
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
Follow the Money - How to Speak to Executives about Agile
Follow the Money - How to Speak to Executives about AgileFollow the Money - How to Speak to Executives about Agile
Follow the Money - How to Speak to Executives about Agile
 
What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010What Is Good Performance Isqlug Jan 2010
What Is Good Performance Isqlug Jan 2010
 
Narrated Version Dallas MPUG
Narrated Version Dallas MPUGNarrated Version Dallas MPUG
Narrated Version Dallas MPUG
 
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
 
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery EventThe Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
The Three Pillars of Continuous Delivery - Boston Continuous Delivery Event
 
Cloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa MonicaCloud-Native Workshop - Santa Monica
Cloud-Native Workshop - Santa Monica
 
Code Quality Makes Your Job Easier
Code Quality Makes Your Job EasierCode Quality Makes Your Job Easier
Code Quality Makes Your Job Easier
 
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...
Manage Your Messaging with Machine-Assisted Editing and Large Scale Sentence-...
 
Tec314
Tec314Tec314
Tec314
 
Scrum and kanban in the enterprise webinar
Scrum and kanban in the enterprise   webinarScrum and kanban in the enterprise   webinar
Scrum and kanban in the enterprise webinar
 
User eXperience
User eXperienceUser eXperience
User eXperience
 

Dernier

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Dernier (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

CocoaConf Relationship Between Agility and Expertise

  • 1. Crafting software systems for forward-thinking businesses
  • 2. Ken Auer @kauerrolemodel Agility & Expertise The Relationship Between ken.auer@rolemodelsoftware.com http://www.slideshare.net/kauerrolemodel/ the-relationship-between-agility-and-expertise
  • 8. Complexity Longevity Inexpensive Expensive Software Explained
 Website/app promoting a new product Impressive prototype Simple Website MyFirst TwilioApp
  • 9. Complexity Longevity Inexpensive Expensive Software Explained
 Website/app promoting a new product Impressive prototype Election results reporting system Simple Website MyFirst TwilioApp
  • 10. Complexity 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 Website MyFirst TwilioApp
  • 11. Complexity 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 Website MyFirst TwilioApp
  • 12. Complexity 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 Website MyFirst TwilioApp Consumables Investments
  • 13. * http://litemind.com/expert-roadmap/ Dreyfus Model of Skill Acquisition*
 Rules Detached Observer Considers
 Everything Intuition Relevant
 Focus Part of
 System Novice Advanced Beginner Competent Proficient Expert
  • 14. * http://litemind.com/expert-roadmap/ Dreyfus Model of Skill Acquisition*
 Rules Detached Observer Considers
 Everything Intuition Relevant
 Focus Part of
 System Novice Advanced Beginner Competent Proficient Expert
  • 15. * http://litemind.com/expert-roadmap/ Dreyfus Model of Skill Acquisition*
 Rules Detached Observer Considers
 Everything Intuition Relevant
 Focus Part of
 System Novice Advanced Beginner Competent Proficient Expert
  • 16. * http://litemind.com/expert-roadmap/ Dreyfus Model of Skill Acquisition*
 Rules Detached Observer Considers
 Everything Intuition Relevant
 Focus Part of
 System Novice Advanced Beginner Competent Proficient Expert
  • 17. 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/

  • 18. 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

  • 19. 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 Tools TechniquesSkills DomainsLanguages
  • 20. 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 Tools TechniquesSkills DomainsLanguages Follow rules on well-defined tasks
  • 21. 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 Tools TechniquesSkills DomainsLanguages Follow rules on well-defined tasks Complete similar tasks following rules
  • 22. 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 Tools TechniquesSkills DomainsLanguages Follow rules on well-defined tasks Complete similar tasks following rules Have conceptual models in which to operate
  • 23. 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 Tools TechniquesSkills DomainsLanguages 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
  • 24. 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 Tools TechniquesSkills DomainsLanguages 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
  • 25. 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 Tools TechniquesSkills DomainsLanguages 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
  • 26. 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 Tools TechniquesSkills DomainsLanguages 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
  • 27. 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 Tools TechniquesSkills DomainsLanguages 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
  • 28. Benefits of Reflective Expertise
InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 31. It is All About Speed
  • 32. It is All About Speed • Well-defined functionality in well-defined domain
  • 33. It is All About Speed • Well-defined functionality in well-defined domain • Well-defined technology stack appropriate for delivery medium
  • 34. 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
  • 35. 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)
  • 36. Software Assets
 “Supporting Business, Expanding Business” InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 37. Software Assets
 “Supporting Business, Expanding Business” InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 38. It is a Marathon
  • 39. It is a Marathon • Leveraging expertise in changing domain
  • 40. It is a Marathon • Leveraging expertise in changing domain • Technology needs to be helpful, not fleeting, and forward moving
  • 41. 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
  • 42. 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
  • 43. 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 InherentComplexity Longevity Time spent reading code vs. writing code Code Read vs. Written
  • 44. Benefits of Reflective Expertise
 “code is read more often than it is written”* 10-100x 4-10x 1x TimetoGrasp& EffectivelyExpress 2-4x 1-2x 2-4x 4-10x 10-100x Code Read vs. Written InherentComplexity Longevity * attributed to many… if you think you are the first to say it, please correct Google Novice Adv. Beginner Competent Proficient Expert
  • 45. 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”
  • 46. 1x 10-100x TechnicalDebt
 IntroductionRate 4-10x 2-4x 1-2x Costs of Less Skilled Producers
 “don’t confuse speed/motion with progress”* IntroducedComplexity Longevity Novice Adv. Beginner Competent Proficient Expert * attributed to many… if you think you are the first to say it, please correct Google
  • 47. 1x 10-100x TechnicalDebt
 IntroductionRate 4-10x 2-4x 1-2x Costs of Less Skilled Producers
 “don’t confuse speed/motion with progress”* IntroducedComplexity Longevity Novice Adv. Beginner Competent Proficient Expert * attributed to many… if you think you are the first to say it, please correct Google
  • 48. Complexity 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 Website MyFirst TwilioApp
  • 49. Complexity 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 Website MyFirst TwilioApp
  • 50. Complexity 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 Website MyFirst TwilioApp
  • 51. Complexity 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 Website MyFirst TwilioApp
  • 53. The Uncomfortable Reality • “We only hire smart people”
  • 54. The Uncomfortable Reality • “We only hire smart people” • Are all of your people 
 really experts?
  • 55. The Uncomfortable Reality • “We only hire smart people” • Are all of your people 
 really experts? • Compared to the guys who wrote the Agile Manifesto?
  • 56. 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)
  • 57. 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
  • 58. 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
  • 61. The Good News • We have learned “best practices”
  • 62. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them)
  • 63. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them) • Doing them will
  • 64. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them) • Doing them will • Make them better
  • 65. 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
  • 66. 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
  • 69. SCRUM - Simple Agile

  • 70. SCRUM - Simple Agile
 Customer Feedback
  • 71. eXtreme Programming Continuous Refinement of... • Requirements • Design • Plan • People • Results Potential Value! ?
  • 72. 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 => => => => => => => =>
  • 73. TDD, Refactoring, Pairing + Collective Code Ownership
  • 74. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code
  • 75. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning
  • 76. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context
  • 77. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context • For context
  • 78. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context • For context • Anyone(?) can keep it going forward with quality
  • 80. SCRUM vs. eXtreme
 Surface vs. Deep • SCRUM certification means you sat through a class
  • 81. SCRUM vs. eXtreme
 Surface vs. Deep • SCRUM certification means you sat through a class • Tells you to have feedback loops
  • 82. SCRUM vs. eXtreme
 Surface vs. Deep • SCRUM certification means you sat through a class • Tells you to have feedback loops • No programming approach
  • 83. SCRUM vs. eXtreme
 Surface 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…
  • 84. SCRUM vs. eXtreme
 Surface 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?
  • 85. Complexity 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
  • 86. Complexity 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
  • 87. Reality of Internal Quality

  • 88. Reality of Internal Quality
 • Easy for anyone to slip in the name of expediency
  • 89. Reality of Internal Quality
 • Easy for anyone to slip in the name of expediency • Make it run. Make it right. Make it fast. OR
  • 90. 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.
  • 91. 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?
  • 92. 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
  • 93. 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
  • 94. 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
  • 95. 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!
  • 96. 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
  • 97. Acceptable Methods to Ensure Quality Code and Coders Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication
  • 98. Acceptable Methods to Ensure Quality Code and Coders Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication
  • 99. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * http://www.martinbauer.com/Articles/Open-Project-Management/Communication 
 Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
  • 100. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * http://www.martinbauer.com/Articles/Open-Project-Management/Communication 
 Alistair Cockburn, “Agile Software Development”, Addison-Wesley 2002
  • 101. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * 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%
  • 102. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * 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% Feedback
 Loop
  • 103. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * 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% Feedback
 Loop Reading code
  • 104. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * 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% Feedback
 Loop 2 people on email Reading code
  • 105. Hot Communication &
 High Skill Transfer Pair Programming Opportunistic Pairing Pair Refactoring/Rewriting Synchronous pull requests Asynchronous pull requests Hot
 Communication High Skill Transfer Low Skill Transfer Cold
 Communication * 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% Feedback
 Loop Code out loud! 2 people on email Reading code
  • 107. Novice Adv. Beg Competent Proficient Expert Clean Code, TDD, and
 OO Thinking
 moves toward
 the “most
 skilled” at a
 rate you can
 adjust Language
 Idioms and 
 strengths/
 weaknesses
 get shared
 among the team More skills are
 picked up by
 including
 specialists
 in process and
 observing
 “tips and tricks”
  • 108. “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
  • 116. Longevity Novice Adv. Beginner Competent Proficient Expert EASYMED.HARD EASYMED.HARD EASYMED.HARD 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
  • 117. Complexity Longevity Novice Adv. Beginner Competent Proficient Expert EASYMED.HARD EASYMED.HARD Turn Clear Requested Features into Well-defined Tasks Turn Ill-defined Features into Prioritized 
 Well-defined tasks Hitting the Target w/ Software Developers
  • 118. Longevity Novice Adv. Beginner Competent Proficient Expert EASYMED.HARD EASYMED.HARD 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 Complexity Hitting the Target w/ Software Developers
  • 119. 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
  • 120. 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
  • 121. 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
  • 122. 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
  • 123. 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
  • 124. 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
  • 127. Complexity Longevity Benefits of Agility + Expertise
 Trivial Tasks anyone can do with Async Pull Request
  • 128. Complexity 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
  • 129. Complexity 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
  • 130. Complexity 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
  • 131. Complexity 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
  • 132. Complexity Longevity Benefits of Agility + Expertise
 Standards 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
  • 133. Complexity Longevity Benefits of Agility + Expertise
 Standards 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
  • 134. Complexity Longevity Benefits of Agility + Expertise
 Standards 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
  • 135. 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.
  • 136. 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.
  • 137. 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.
  • 138. 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.
  • 139. 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.
  • 140. 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