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
Hitting the Target w/ Software

Complexity
Longevity
Inexpensive
Expensive
Hitting the Target w/ Software

Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Impressive
prototype
Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Website
promoting a
new product
Impressive
prototype
Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Website
promoting a
new product
Impressive
prototype
Election results
reporting system
Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Website
promoting a
new product
Impressive
prototype
Record-keeping
system subject to
changing regulations
Election results
reporting system
Simple
Website
Complexity
Longevity
Inexpensive
Expensive
Consumables Investments
Hitting the Target w/ Software

Website
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
* 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
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
Complexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software

Website
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
Complexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software

Website
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
Complexity
Longevity
Novice
Adv. Beginner
Competent
Proficient
Expert
Hitting the Target w/Software

Website
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
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
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
• To a manager (novice?) everyone
who knows more than him looks
like an expert
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 certification means you sat
through a class
• Tells you to have feedback loops
• No programming approach
• eXtreme Programming more deeply
addresses approach to programming
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
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
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
Software Assets

“Delivering, While Anticipating Next Horizon”
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
Software Assets

“Delivering, While Anticipating Next Horizon”Complexity
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 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 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 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 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 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 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 with
little code review but
significant stakeholder
review
“Spiking” a
New Feature
typically needs
proficient dev with
customer rep
feedback
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

More Related Content

PDF
CocoaConf Relationship Between Agility and Expertise
PDF
Anti agile pattern
PDF
The gordian knot
PDF
3S to 3E & 3G to 5G – agility beyond framework and dev team
PDF
11 steps you must take before purchasing talent acquisition technology
PPT
How to grow and manage Drupal organisations
PPTX
Agile Testing In Offshore - Oslo Meetup
PDF
What lies beneath
CocoaConf Relationship Between Agility and Expertise
Anti agile pattern
The gordian knot
3S to 3E & 3G to 5G – agility beyond framework and dev team
11 steps you must take before purchasing talent acquisition technology
How to grow and manage Drupal organisations
Agile Testing In Offshore - Oslo Meetup
What lies beneath

What's hot (8)

PDF
Scrum anti patterns More to unlearn than learn
PPTX
Software development fundamentals
PPTX
Software Craftsmanship and Agile Code Games
PPTX
Architecting Solutions and Systems – Randy’s Secrets to Success
PPT
564 Class Notes July 27, 2010
PDF
The Innovation Agency transferable skills workshop 1
PDF
Structured Authoring for Business-Critical Content
PDF
[教材] 例外處理設計與重構實作班201309
Scrum anti patterns More to unlearn than learn
Software development fundamentals
Software Craftsmanship and Agile Code Games
Architecting Solutions and Systems – Randy’s Secrets to Success
564 Class Notes July 27, 2010
The Innovation Agency transferable skills workshop 1
Structured Authoring for Business-Critical Content
[教材] 例外處理設計與重構實作班201309
Ad

Similar to The Relationship Between Agility and Expertise (20)

PDF
50.000 orange stickies later
PPT
Erp ocean's training strenth/Corporate Training
PDF
Code Quality Makes Your Job Easier
PDF
How to become a great developer
PPTX
Being Agile
PPTX
How to Implement Domain Driven Design in Real Life SDLC
PDF
Narrated Version Dallas MPUG
PPT
Gluing it all together: How teams can build enterprise JavaScript application...
PDF
Agile mobile first
PPTX
Chasingwindmills agile success
PDF
0 for 3: Edtech Startup Lessons Learned
KEY
Agile Development Overview (with a bit about builds)
PPT
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
PPTX
Follow the Money - How to Speak to Executives about Agile
PPTX
Why Isn't Clean Coding Working For My Team
KEY
Software and all that comes with it
PPT
Career building and Skills Development
PPTX
Consulting
PDF
Engineering Career Paths.pdf
PDF
SuperWeek 2023 - Building the case for Digital Analytics
50.000 orange stickies later
Erp ocean's training strenth/Corporate Training
Code Quality Makes Your Job Easier
How to become a great developer
Being Agile
How to Implement Domain Driven Design in Real Life SDLC
Narrated Version Dallas MPUG
Gluing it all together: How teams can build enterprise JavaScript application...
Agile mobile first
Chasingwindmills agile success
0 for 3: Edtech Startup Lessons Learned
Agile Development Overview (with a bit about builds)
How UXD Can Provide Leadership Skills for Complex Software Projects: A 4-Day ...
Follow the Money - How to Speak to Executives about Agile
Why Isn't Clean Coding Working For My Team
Software and all that comes with it
Career building and Skills Development
Consulting
Engineering Career Paths.pdf
SuperWeek 2023 - Building the case for Digital Analytics
Ad

Recently uploaded (20)

PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PDF
Workplace Software and Skills - OpenStax
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PPTX
Cybersecurity: Protecting the Digital World
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PPTX
Computer Software - Technology and Livelihood Education
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
E-Commerce Website Development Companyin india
PDF
Microsoft Office 365 Crack Download Free
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PPTX
Lecture 5 Software Requirement Engineering
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
PDF
Guide to Food Delivery App Development.pdf
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
Workplace Software and Skills - OpenStax
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
Trending Python Topics for Data Visualization in 2025
Topaz Photo AI Crack New Download (Latest 2025)
Cybersecurity: Protecting the Digital World
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
DNT Brochure 2025 – ISV Solutions @ D365
Computer Software - Technology and Livelihood Education
CNN LeNet5 Architecture: Neural Networks
E-Commerce Website Development Companyin india
Microsoft Office 365 Crack Download Free
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Lecture 5 Software Requirement Engineering
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
BoxLang Dynamic AWS Lambda - Japan Edition
Guide to Food Delivery App Development.pdf

The 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
  • 7. Complexity Longevity Inexpensive Expensive Consumables Investments Hitting the Target w/ Software
 Impressive prototype Simple Website
  • 8. Complexity Longevity Inexpensive Expensive Consumables Investments Hitting the Target w/ Software
 Website promoting a new product Impressive prototype Simple Website
  • 9. Complexity Longevity Inexpensive Expensive Consumables Investments Hitting the Target w/ Software
 Website promoting a new product Impressive prototype Election results reporting system Simple Website
  • 10. Complexity Longevity Inexpensive Expensive Consumables Investments Hitting the Target w/ Software
 Website promoting a new product Impressive prototype Record-keeping system subject to changing regulations Election results reporting system Simple Website
  • 11. Complexity Longevity Inexpensive Expensive Consumables Investments Hitting the Target w/ Software
 Website 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
  • 12. * 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
  • 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. 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/

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

  • 16. 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
  • 17. 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
  • 18. 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
  • 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 Follow rules on well-defined tasks Complete similar tasks following rules Have conceptual models in which to operate
  • 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 Complete similar tasks following rules Have conceptual models in which to operate Have conceptual framework in which to adjust
  • 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 Have conceptual models in which to operate Have conceptual framework in which to adjust Intuitively identify and solve problems... it’s simple
  • 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 Have conceptual framework in which to adjust Intuitively identify and solve problems... it’s simple Overwhelmed by Complexity
  • 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 Intuitively identify and solve problems... it’s simple Overwhelmed by Complexity Manage and Reduce Complexity
  • 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 Overwhelmed by Complexity Manage and Reduce Complexity Unwittingly Introduce Complexity
  • 25. Benefits of Reflective Expertise
InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 28. It is All About Speed
  • 29. It is All About Speed • Well-defined functionality in well-defined domain
  • 30. It is All About Speed • Well-defined functionality in well-defined domain • Well-defined technology stack appropriate for delivery medium
  • 31. 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
  • 32. 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)
  • 33. Software Assets
 “Supporting Business, Expanding Business” InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 34. Software Assets
 “Supporting Business, Expanding Business” InherentComplexity Longevity Novice Adv. Beginner Competent Proficient Expert
  • 35. It is a Marathon
  • 36. It is a Marathon • Leveraging expertise in changing domain
  • 37. It is a Marathon • Leveraging expertise in changing domain • Technology needs to be helpful, not fleeting, and forward moving
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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”
  • 43. 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
  • 44. 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
  • 45. Complexity Longevity Novice Adv. Beginner Competent Proficient Expert Hitting the Target w/Software
 Website 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
  • 46. Complexity Longevity Novice Adv. Beginner Competent Proficient Expert Hitting the Target w/Software
 Website 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
  • 47. Complexity Longevity Novice Adv. Beginner Competent Proficient Expert Hitting the Target w/Software
 Website 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
  • 48. Complexity Longevity Novice Adv. Beginner Competent Proficient Expert Hitting the Target w/Software
 Website 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
  • 50. The Uncomfortable Reality • “We only hire smart people”
  • 51. The Uncomfortable Reality • “We only hire smart people” • Are all of your people 
 really experts?
  • 52. The Uncomfortable Reality • “We only hire smart people” • Are all of your people 
 really experts? • Compared to the guys who wrote the Agile Manifesto?
  • 53. 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
  • 54. 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 • To a manager (novice?) everyone who knows more than him looks like an expert
  • 57. The Good News • We have learned “best practices”
  • 58. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them)
  • 59. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them) • Doing them will
  • 60. The Good News • We have learned “best practices” • Nearly anyone can do them 
 (or learn to do them) • Doing them will • Make them better
  • 61. 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
  • 62. 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
  • 65. SCRUM - Simple Agile

  • 66. SCRUM - Simple Agile
 Customer Feedback
  • 67. eXtreme Programming Continuous Refinement of... • Requirements • Design • Plan • People • Results Potential Value! ?
  • 68. 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 => => => => => => => =>
  • 69. TDD, Refactoring, Pairing + Collective Code Ownership
  • 70. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code
  • 71. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning
  • 72. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context
  • 73. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context • For context
  • 74. TDD, Refactoring, Pairing + Collective Code Ownership • Achieve validated quality code • Shared learning • In context • For context • Anyone(?) can keep it going forward with quality
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. Reality of Internal Quality

  • 79. Reality of Internal Quality
 • Easy for anyone to slip in the name of expediency
  • 80. Reality of Internal Quality
 • Easy for anyone to slip in the name of expediency • Make it run. Make it right. Make it fast. OR
  • 81. 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.
  • 82. 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?
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. 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!
  • 87. 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
  • 88. 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
  • 89. 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
  • 91. 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”
  • 92. “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
  • 100. 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
  • 101. 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 Software Assets
 “Delivering, While Anticipating Next Horizon”
  • 102. 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 Software Assets
 “Delivering, While Anticipating Next Horizon”Complexity
  • 103. 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
  • 104. 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
  • 105. 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
  • 106. 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
  • 107. 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
  • 108. 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
  • 111. Complexity Longevity Benefits of Agility + Expertise
 Trivial Tasks anyone can do with Async Pull Request
  • 112. Complexity Longevity Benefits of Agility + Expertise
 Trivial Tasks anyone can do with Async Pull Request Prototype needs highly skilled dev/designer with little code review but significant stakeholder review
  • 113. Complexity Longevity Benefits of Agility + Expertise
 Trivial Tasks anyone can do with Async Pull Request Prototype needs highly skilled dev/designer with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 114. 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 with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 115. 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 with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 116. 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 with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 117. 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 with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 118. 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 with little code review but significant stakeholder review “Spiking” a New Feature typically needs proficient dev with customer rep feedback
  • 119. 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