Wednesday, June 01, 2011

ROOTS 2011 Notes - The 7 duties of GREAT software professionals Jurgen Appello

Roots - The 7 duties of GREAT software professionals Jurgen Appello

This is my notes from @jurgenappelo keynote at the #roots2011 in Bergen

Book: Management 3.0 - leading agile developers by J.A.

Once a SW business with unhappy customers
  •     Quality and productivity was low
  •     Developers had low skills and lacked discipline
  •     This led to more pressure
  •     Which again led to more bugs
  •     Which led to less time for education
  •     That again led to decrease in productivity
This is a reinforcement loop - you can write this in a causal loop diagram.
  •     Revenue was declining
  •     budgets cut
  •     and even more pressure
  •     This company was Doomed.
People must learn their duties to be great software professionals

Three maturity levels for skills (Japanese terminology)

    shu - traditional wisdom
    fla  - detachement, breaking with tradition
    Ri  - trancendence

Dreyfus model of learning has 5 levels ( Beginner Advanced beginner, Competent,Proficient, Expert)

Book: Gerry Weinberg - six maturity levels
Competence = maturity in 2 dimensions - SKILL and DISCIPLINE

Grow skills and discipline

The safest country to drive a car is (1. Marshall island, 2: San Marino, 3: Malta, 4 Iceland, 5: Netherlands, 6:Sweden, 7:UK,8switzerland,9:Japan)
Peter Drucker

    Self development
    People must learn. urgency vs importance, time management
    Coaching and mentoring - hire coaches
    Training and Certification
    Certifications are not that important in themselves, but they can catalyze other competence measures
    Culture and Socialization - let people identify with a small group
    Tools and infrastructure - tools must be adaptable
    Supervision and control (or Patrol)
    Have someone sample check the products of teams
    Clean up the shit

Self development is your own duty.

  1.  Motivate yourself
    Reading, Know yourself - 16 Basic desires,
    Books : Steven Reiss, Who am I ?
    Edward L Deci, The handbook of self realization
    Daniel Pink, Drive
  2. Give yourself goals (SMART), write books, do keynotes
    Peter F. Drucker - everything starts with a purpose.
    Goals should not be pushed with financial rewards
  3. Organize yourself
    Figure out how to be better
    100 interview questions for software developers 
  4. Measure yourself
    Definition of done
    use checklists
    Sub optimization principle, Lars Skytner, General Systems
    “what you measure is what you get (WYMIWYG) see blogpost
    How to measure and optimize the whole ? (Dimensions: Time, people,tools, functionality, process, value) You should measure all of them not just one.
    Happiness index Jeff Sutherland
  5. Connect yourself
    Collaborate with other people, connect to experts. the work place is a network:
    Book : The hidden power of social network, Cross et al
    Peoples network is more important than their skills
  6. Empower yourself
    Through delegation :
    1:Tell - Make decisions yourself
    2: Sell  - convince people
    3: Consult - get input from others before decision
    4: Join - make decisions together
    5: Advice - influence decisions made by others
    6: Confirm - ask for feedback after decisions
    7: Delegate - no influence - let other work
    Goal is to move higher in this chain
  7. Improve yourself
    - through feedback
    - Shortening the feedback cycle
    Model of fitness landscape
    Three drivers of improvement : Adaptation, Exploration (try experience, feedback), Anticipation
    1. Experiment with ideas
    2. Copy others peoples ideas
    3. Crossover: Mix the best ideas
    Non-linear improvement
    Kaizen : - gradually improvement
    Kaikaku : Radical change

No comments: