Attend a Formal Practice Event

Background:

The burgeoning Software Craftsmanship movement's manifesto aspires to raise "... the bar of professional software development by practicing it and helping others learn the craft." The DeliberatePractice page at the Coding Dojo site says that: "various theories of learning (particularly those proposed by Dr K. Anders Ericsson) suggest that DeliberatePractice over a long period of time is at the heart of attaining expertise.

Plan

Attend a formal practice event - for example, a CodeRetreat or Coding Dojo.

Do

During the day, participate in a non-competitive, collaborative, fun environment

Some suggestions to consider for the event:

    • Work in an agreed-upon problem domain

    • Work in Pairs, Triples, Quads, Teams

    • Work in time-boxed Iterations

    • Discard previous work at start of new iteration

    • Distribute Expertise Around the Room

    • Use B/TDD

    • Let Pairs Innovate (...we prefer to test-drive...)

    • At Lunchtime and Day's End, Retrospect and Adapt

Afterward, summarize my experience and lessons learned in a blog post.

Check

My practice experience was a success if I practiced a critical mass of these:

and I remember things I learned, and can apply them to make better decisions during my work day

Act

    • Focus on practicing one of the skills I learned for a week.

    • Evaluate myself at the end of that week - what worked? What didn't?

    • Periodically go back to my blog post and see if I'm still using what I learned.

    • Periodically assess my progress: have I maintained the skills I learned, lost them, or am I developing them further?

    • Attend more practice sessions, either of the same type or of another type.