Kata Structure
Nothing listed below should be new to anyone. Most of us have learned and used these techniques since childhood and throughout our schooling. Somewhere along the way we forgot the how and the why around how to practice our professional career skills. What we outline below is full of decades of insights, experiments and countless hours of self-reflection. The outline is simple...it's the experience, the wisdom, and the knowledge behind the bullet points that turns this into awesome.
Purpose:
To help developers discover a path that will give them learning techniques to effectively grow and perfect their craft throughout their career.
Our Core Driving Principles:
Learning-Performance Distinction: behaviorism stresses the difference between learning a behavior and the actual performance of the behavior.
Deliberate Practice: intentional, absolute perfection, immediate feedback, repetition
An object becomes a tool as soon as you stop thinking about how to use it - Michael Polanyi
Kata Rules:
-
One primary focus point
-
Simplest solution (think quick and dirty)
-
Anything goes, as long as you are following 1 and 2
-
Working software wins, prove it
Levels:
-
Beginners are learning proficiency in Kata Structure and Kata Rules
-
Apprentices are proficient with the Structure and the Rules and are learning proficiency in the Kata Tools
-
Journeymen are proficient with the Structure, Rules and Tools and are working on perfecting their craft through Kata
-
Masters have a wisdom and understanding of Kata that allows them to guide and mentor others effectively.
Progression:
-
Phase 1 (first 4 hours of day 1, end at lunch)
-
Goal: Emergent learning: learn how to effectively practice writing code within the Kata Structure setting, and become proficient with the Kata Rules.
-
4 hours of structured learning
-
Make the Kata Rules into a tool
-
Practice focusing on intentional learning and deliberate practice
-
Learn how to kata effectively
-
-
Phase 2 (next 1.5 - 2.5 days, now long to make tools of these practices? Lifetime is too long.)
-
Goal: Use Kata Structure to learn, and become proficient, using the Kata Tools
-
Test Driven Development
-
Collaborative Development (pair/mob)
-
Refactoring
-
4 Rules of Simple Design
-
-
Phase 3 (how do we instill culture of learning? How do we show them that Phase 3 is not a plaque/title, but rather a mindset that comes with great responsibility to continuously learn, become a mentor, remain coachable and not only make themselves better but to raise others to be awesome around them)
-
Goal: Use the Kata Structure, Kata Rules and Kata Tools to get better at crafting code
-
Design Patterns
-
Extreme OO
-
Emergent Design
-
TDD legacy code
-
Refactor legacy code
-
Craftspeople at Phase 3 are now responsible to continue
-
Phase 1 takes Beginners and raises them up to Apprentices.
Phase 2 gives Apprentices a solid foundation and strong helping hand to their way to becoming Journeymen.
Phase 3 exposes Apprentices and Journeymen in how Kata Process can help them to gain amazing insights and skill growth rewards through the use of regular deliberate structured practice.
Advancement:
We are using effective learning techniques to create a set of tools for us to learn new skills as well as hone our existing development techniques to become better at our craft.
Advancement from Phase 1 to Phase 2 is to have taken the 4 hour session and have a solid understanding of the Kata Structure, the Kata Rules and an understanding of the driving principles behind Kata.
Advancement from Phase 2 to Phase 3 requires a demonstration of perfect mastery of Phase 1 and Kata Tools in front of a panel of peers (this is a bit gray atm, still figuring this out, intended to let folks self organize and will go into more detail as we move forward and experiment with it, I want to be the first through this gauntlet and public demonstration, hoping to do it this upcoming week, how many at least 2, probably more. How do we enforce this? We can’t externally, we can only recommend it and give justification for it...which is holding everyone accountable for being excellent including the Phase 3 members) and Phase 3 members.