CocoaConf Relationship Between Agility and Expertise

Click here to load reader

  • date post

    12-Apr-2017
  • Category

    Software

  • view

    95
  • download

    0

Embed Size (px)

Transcript of CocoaConf Relationship Between Agility and Expertise

  • Crafting software systems for forward-thinking businesses

  • Ken Auer

    @kauerrolemodel

    Agility & Expertise

    The Relationship Between

    [email protected] http://www.slideshare.net/kauerrolemodel/the-relationship-between-agility-and-expertise

  • Co

    mpl

    exit

    y

    Longevity

    Software Explained

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Simple Website

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Impressive prototype

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Website/app promoting a new product

    Impressive prototype

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Website/app promoting a new product

    Impressive prototype

    Election results reporting system

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Website/app promoting a new product

    Impressive prototype

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Website/app promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Inexpe

    nsive

    Expens

    ive

    Software Explained

    Website/app promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Simple WebsiteMyFirst

    TwilioApp Consumables Investments

  • * http://litemind.com/expert-roadmap/

    Dreyfus Model of Skill Acquisition*

    Rules Detached Observer

    ConsidersEverything

    IntuitionRelevant

    FocusPart ofSystem

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

  • * http://litemind.com/expert-roadmap/

    Dreyfus Model of Skill Acquisition*

    Rules Detached Observer

    ConsidersEverything

    IntuitionRelevant

    FocusPart ofSystem

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

  • * http://litemind.com/expert-roadmap/

    Dreyfus Model of Skill Acquisition*

    Rules Detached Observer

    ConsidersEverything

    IntuitionRelevant

    FocusPart ofSystem

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

  • * http://litemind.com/expert-roadmap/

    Dreyfus Model of Skill Acquisition*

    Rules Detached Observer

    ConsidersEverything

    IntuitionRelevant

    FocusPart ofSystem

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

  • Knowledge vs. Skill*

    Theres 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*

    Theres much more to mastering a skill than just acquiring more knowledge. Just like adults

    are not simply bigger children, experts are not only smarter, more knowledgeable or faster than novices. The differences can be found at a more fundamental level, such as in how they perceive

    the world and approach problems. - Luciano Passuello

    * http://litemind.com/expert-roadmap/ ** https://www.amazon.com/Reflective-Practitioner-Professionals-Think-Action/dp/0465068782

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

    Have conceptual framework in which to adjust

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

    Have conceptual framework in which to adjust

    Intuitively identify and solve problems... its simple

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

    Have conceptual framework in which to adjust

    Intuitively identify and solve problems... its simple

    Overwhelmed by Complexity

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

    Have conceptual framework in which to adjust

    Intuitively identify and solve problems... its simple

    Overwhelmed by Complexity

    Manage and Reduce Complexity

  • Cost of Advanced Beginners

    Novice

    Advanced Beginner

    Competent

    Proficient

    Expert

    Clueless

    Mostly right

    Make it run... right?

    All of us are Novices at some things... Some may be experts in others... Usually somewhere in between

    ToolsTechniquesSkillsDomainsLanguages

    Follow rules on well-defined tasks

    Complete similar tasks following rules

    Have conceptual models in which to operate

    Have conceptual framework in which to adjust

    Intuitively identify and solve problems... its simple

    Overwhelmed by Complexity

    Manage and Reduce Complexity

    Unwittingly Introduce Complexity

  • Benefits of Reflective Expertise

    Inh

    eren

    t C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

  • Inh

    eren

    t C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Consumable ApplicationsDeliver Fast, for Immediate Needs

  • Inh

    eren

    t C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Consumable ApplicationsDeliver 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 AssetsSupporting Business, Expanding Business

    Inh

    eren

    t C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

  • Software AssetsSupporting Business, Expanding Business

    Inh

    eren

    t C

    om

    plex

    ity

    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-termcode is read more often than it is written*

    2-4x 4-10x 10-100x

    * attributed to many if you think you are the first to say it, please correct Google

    Inh

    eren

    t C

    om

    plex

    ity

    Longevity

    Time s

    pent re

    ading

    code v

    s. writi

    ng cod

    e

    Code Read vs. Written

  • Benefits of Reflective Expertisecode is read more often than it is written*

    10-100x

    4-10x

    1x

    Tim

    e to G

    rasp &

    E

    ffectively Exp

    ress

    2-4x

    1-2x

    2-4x 4-10x 10-100x

    Code Read vs. Written

    Inh

    eren

    t C

    om

    plex

    ity

    Longevity* attributed to many if you think you are the first to say it, please correct Google

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

  • Costs of Less Skilled Producers

    * https://en.wikipedia.org/wiki/Technical_debt (paraphrased)

    Technical debt is a metaphor referring to the eventual consequences of any development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete or proper. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on.

    dont confuse speed/motion with progress

  • 1x

    10-100x

    Techn

    ical Deb

    tIn

    trod

    uctio

    n R

    ate

    4-10x

    2-4x

    1-2x

    Costs of Less Skilled Producersdont confuse speed/motion with progress*

    Intr

    od

    uce

    d C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    * attributed to many if you think you are the first to say it, please correct Google

  • 1x

    10-100x

    Techn

    ical Deb

    tIn

    trod

    uctio

    n R

    ate

    4-10x

    2-4x

    1-2x

    Costs of Less Skilled Producersdont confuse speed/motion with progress*

    Intr

    od

    uce

    d C

    om

    plex

    ity

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    * attributed to many if you think you are the first to say it, please correct Google

  • Co

    mpl

    exit

    y

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Hitting the Target w/Software

    Website/App promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Hitting the Target w/Software

    Website/App promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Turning a Prototype that

    was shipped into a Software Asset

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Hitting the Target w/Software

    Website/App promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Turning a system built with a

    Consumable mindset into a Software Asset

    Turning a Prototype that

    was shipped into a Software Asset

    Simple WebsiteMyFirst

    TwilioApp

  • Co

    mpl

    exit

    y

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    Expert

    Hitting the Target w/Software

    Website/App promoting a new product

    Impressive prototype

    Decision Support system for experts in a changing domain

    Record-keeping system subject to

    changing regulations

    Election results reporting system

    Turning a system built with a

    Consumable mindset into a Software Asset

    Turning a System built by less

    skilled producers into a Software

    Asset

    Turning a Prototype that

    was shipped into a Software Asset

    Simple WebsiteMyFirst

    TwilioApp

  • The Uncomfortable Reality

  • 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 dont 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 dont 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 dont 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

    ExampleWeak

    ProfessionalDeveloper

    SkillScorecard

  • 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

    ResultsPotential Value!

    ?

  • eXtreme Programming

    code reviews

    testing

    design

    simplicity

    customer involvement

    integration

    short iterations

    risk management

    pair programming

    100% unit, tracking acceptance

    continuous refactoring

    TSTTCPW, YAGNI, test-driven

    they drive

    daily or more often

    1-4 week release cycle

    collective code ownership

    =>

    =>

    =>

    =>

    =>

    =>

    =>

    =>

  • TDD, Refactoring, Pairing + Collective Code Ownership

  • 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. eXtremeSurface vs. Deep

  • SCRUM vs. eXtremeSurface vs. Deep

    SCRUM certification means you sat through a class

  • SCRUM vs. eXtremeSurface vs. Deep

    SCRUM certification means you sat through a class

    Tells you to have feedback loops

  • SCRUM vs. eXtremeSurface vs. Deep

    SCRUM certification means you sat through a class

    Tells you to have feedback loops

    No programming approach

  • SCRUM vs. eXtremeSurface vs. Deep

    SCRUM certification means you sat through a class

    Tells you to have feedback loops

    No programming approach

    eXtreme Programming more deeply addresses approach to programming

  • SCRUM vs. eXtremeSurface vs. Deep

    SCRUM certification means you sat through a class

    Tells you to have feedback loops

    No programming approach

    eXtreme Programming more deeply addresses approach to programming

    and makes you a better programmer?

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Deep Agility

    Customer Feedback

    Continuous Integration

    Test-Driven

    Collective Code Ownership

    Pair Programming

    Iteration Planning

    Continuous Refactoring

    More depth puts in more checks against

    introduced complexity and more results that reduce business riskStand-up Meetings

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Deep Agility

    Customer Feedback

    Continuous Integration

    Test-Driven

    Collective Code Ownership

    Pair Programming

    Iteration Planning

    Continuous Refactoring

    More depth puts in more checks against

    introduced complexity and more results that reduce business riskStand-up Meetings

  • Reality of Internal Quality

  • 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 dont 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 dont produce the quality of experts by pairing

    Two novices dont produce the quality of experts by pairing!

  • Getting Past Advanced Beginner

    Proficient practitioners can take full advantage of the reflection and feedback that is core to agile methods.*

    But how do you get there? - Individual exercise? - Team work?

    *Pragmatic Thinking & Learning, Andrew Hunt, p.35

  • Acceptable Methods to Ensure Quality Code and Coders

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

  • Acceptable Methods to Ensure Quality Code and Coders

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

    Information absorption Visual65%

    Auditory30%Kinesthetic5%

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

    Information absorption Visual65%

    Auditory30%Kinesthetic5%

    FeedbackLoop

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

    Information absorption Visual65%

    Auditory30%Kinesthetic5%

    FeedbackLoop

    Reading code

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

    Information absorption Visual65%

    Auditory30%Kinesthetic5%

    FeedbackLoop

    2 people on email

    Reading code

  • Hot Communication &High Skill Transfer

    Pair Programming

    Opportunistic Pairing

    Pair Refactoring/Rewriting

    Synchronous pull requests

    Asynchronous pull requests

    HotCommunication

    High Skill Transfer

    Low Skill Transfer

    ColdCommunication

    * http://www.martinbauer.com/Articles/Open-Project-Management/Communication Alistair Cockburn, Agile Software Development, Addison-Wesley 2002

    Information absorption Visual65%

    Auditory30%Kinesthetic5%

    FeedbackLoop

    Code out loud!

    2 people on email

    Reading code

  • Novice

    Adv. Beg

    Competent

    Proficient

    Expert

    ExampleWeak

    ProfessionalDeveloper

    SkillScorecard

  • Novice

    Adv. Beg

    Competent

    Proficient

    Expert

    Clean Code, TDD, and

    OO Thinkingmoves toward

    the mostskilled at a

    rate you canadjust

    LanguageIdioms and strengths/

    weaknessesget shared

    among the

    team

    More skills are

    picked up byincluding

    specialistsin process and

    observingtips 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

    ExpertEA

    SYMED

    .HA

    RDEA

    SYMED

    .HA

    RD

    EASY

    MED

    .HA

    RD

    Effectively Troubleshoot and correct Production

    Support Challenges

    Solidly Deliver on Well-Defined Tasks on Simple

    Projects or subsets of Non-trivial Projects

    Solidly Deliver on Well-Defined Tasks on Non-

    trivial to Complex Projects

    Hitting the Target w/ Software Developers

  • Co

    mpl

    exit

    y

    Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    ExpertEA

    SYMED

    .HA

    RD

    EASY

    MED

    .HA

    RD

    Turn Clear Requested

    Features into Well-defined

    Tasks

    Turn Ill-defined Features into Prioritized

    Well-defined tasks

    Hitting the Target w/ Software Developers

  • Longevity

    Novice

    Adv. Beginner

    Competent

    Proficient

    ExpertEA

    SYMED

    .HA

    RD

    EASY

    MED

    .HA

    RD

    Identify and Manage Inherent Complexity of

    Technical Challenges and

    Avoid Introducing Complexity

    Identify Inherent Complexity of

    Project/Customer Challenges and

    Avoid Introducing Complexity or

    Further Challenges

    Co

    mpl

    exit

    y

    Hitting the Target w/ Software Developers

  • Basic Rules for Building Software Assets

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Basic Rules for Building Software Assets

    The Ratio of Experts-Novices should change based on the nature of the project

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Basic Rules for Building Software Assets

    The Ratio of Experts-Novices should change based on the nature of the project

    The Craftsmen-in-charge should oversee

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Basic Rules for Building Software Assets

    The Ratio of Experts-Novices should change based on the nature of the project

    The Craftsmen-in-charge should oversee

    Very productive development environment

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Basic Rules for Building Software Assets

    The Ratio of Experts-Novices should change based on the nature of the project

    The Craftsmen-in-charge should oversee

    Very productive development environment

    What tasks get done by which people

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Basic Rules for Building Software Assets

    The Ratio of Experts-Novices should change based on the nature of the project

    The Craftsmen-in-charge should oversee

    Very productive development environment

    What tasks get done by which people

    What form(s) of two sets of eyes is appropriate in what contexts

    Take this home with you assess your team and tasks and how you are going about managing inherent complexity and avoiding/reducing introduced complexity

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

    Trivial Tasks anyone can do with Async Pull

    Request

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

    New Feature Walking

    Skeleton: built in test-driven fashion by proficient dev

    with pair

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + Expertise

    Fleshing Out New Feature can be done by less experienced test-driven pairs

    New Feature Walking

    Skeleton: built in test-driven fashion by proficient dev

    with pair

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + ExpertiseStandards and Architecture

    designed/enforced by Craftsmen

    Fleshing Out New Feature can be done by less experienced test-driven pairs

    New Feature Walking

    Skeleton: built in test-driven fashion by proficient dev

    with pair

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + ExpertiseStandards and Architecture

    designed/enforced by Craftsmen

    Fleshing Out New Feature can be done by less experienced test-driven pairs

    New Feature Walking

    Skeleton: built in test-driven fashion by proficient dev

    with pair

    Debt Reduction identified,

    prioritized, and attacked by

    experienced pairs

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Co

    mpl

    exit

    y

    Longevity

    Benefits of Agility + ExpertiseStandards and Architecture

    designed/enforced by Craftsmen

    Fleshing Out New Feature can be done by less experienced test-driven pairs

    New Feature Walking

    Skeleton: built in test-driven fashion by proficient dev

    with pair

    Well-defined Maintenance Tasks

    can be done by anyone who has learned in context

    Debt Reduction identified,

    prioritized, and attacked by

    experienced pairs

    Trivial Tasks anyone can do with Async Pull

    Request

    Prototype needs highly skilled dev/

    designer(s) with little code review but

    significant stakeholder review

    Spiking a New Feature typically needs

    proficient dev with customer rep

    feedback

  • Basic Rules for Building Software Craftsmen

    Take this home with you assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.

  • Basic Rules for Building Software Craftsmen

    Seek Hot Communication and High Skill Transfer situations for yourself and others

    Take this home with you assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.

  • Basic Rules for Building Software Craftsmen

    Seek Hot Communication and High Skill Transfer situations for yourself and others

    Be Hungry, Humble, and Smart

    Take this home with you assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.

  • Basic Rules for Building Software Craftsmen

    Seek Hot Communication and High Skill Transfer situations for yourself and others

    Be Hungry, Humble, and Smart

    Knowledge makes arrogant, but love edifies. If anyone supposes that he knows anything, he has not yet known as he ought to know (1 Corinthians 8:1b-2a, NASB)

    Take this home with you assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.

  • Basic Rules for Building Software Craftsmen

    Seek Hot Communication and High Skill Transfer situations for yourself and others

    Be Hungry, Humble, and Smart

    Knowledge makes arrogant, but love edifies. If anyone supposes that he knows anything, he has not yet known as he ought to know (1 Corinthians 8:1b-2a, NASB)

    When pride comes, then comes dishonor, But with the humble is wisdom. (Proverbs 11:2, NASB)

    Take this home with you assess yourself and tasks and how you are going about giving and gaining wisdom. Geeks who know that people matter are the smartest geeks.

  • Slides & References slides available at: http://www.slideshare.net/kauerrolemodel/the-

    relationship-between-agility-and-expertise

    Dreyfus Model of Skill Acquisition

    http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition

    http://1.usa.gov/1iOLuWC - Dreyfus, Stuart E.; Dreyfus, Hubert L. (February 1980), A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition

    http://bit.ly/1fU3aLn - Benner, Patricia (2004), Using the Dreyfus Model of Skill Acquisition to Describe and Interpret Skill Acquisition and Clinical Judgment in Nursing Practice and Education

    RoleModels Craftsmanship Levels: http://bit.ly/29bHHU9