Looking for a new way to practice your craft? Randori provides a complementary way type of training when compared with katas. Elements are: Pair Programming, Pair changes with mechanism (Time box, Ping Pong), Start from scratch, Use TDD, Everyone should be following, Pair should be explaining, Audience gives suggestions only with when Green, Example at http://vimeo.com/2499540 .
1. Randori: Group Practice
Chaos In Motion
Mike Clement
@mdclement
mike@softwareontheside.com
http://blog.softwareontheside.com
2. “Often the true value
of a thing isn’t the
thing itself, but instead
is the activity that
created it.”
-Dave Thomas
3. Dave Thomas on Practice
“It’s like taking a group of fit kids and telling
them that they have four quarters to beat the
Redskins (hey, we manage by objectives, right?).
In software we do our practicing on the job, and
that’s why we make mistakes on the job. We
need to find ways of splitting the practice from
the profession. We need practice sessions.”
http://codekata.pragprog.com/2007/01/code_kata_backg.html
5. Shu Ha Ri
• 守 Shu – House of Laws; to abide
by, to defend
• 破 Ha – Stone; to break
• 離 Ri – Bird; to leave, to depart
• Similar to Dryfus model
– Novice, Advanced Beginner, Competent, Proficient, Expert
• Similar to Apprentice model
– Apprentice, Craftsman, Master
6.
7. Rules
• Pair Programming
• Use TDD
• Start from scratch
• Everyone should be following
• Pair should be explaining
• Audience gives suggestions only with when
Green
8. Quick Concepts
TDD Simple Design
• Red • Passes all tests
• Green • Clear, expressive, consistent
• Refactor • No duplication
• Minimal
9. Ways to get Green
• Fake it
• Obvious implementation
• Triangulation
10. Rules
• Pair Programming
• Use TDD
• Start from scratch
• Everyone should be following
• Pair should be explaining
• Audience gives suggestions only with when
Green
• Today: Will switch pairs about every 5 minutes
11. “Often the true value
of a thing isn’t the
thing itself, but instead
is the activity that
created it.”
-Dave Thomas
15. Forms of Practice
• Katas
• “Katas” or Solo Randori
• Group Randori
• Day of Randori
• Koans
• Coderetreat
16. Action Items!
• Work to get your team to practice a Randori
together.
• Explore other forms of practice.
• Practice, Practice, Practice!
• Attend the Utah Software Craftsmanship
Group!
17. “Often the true value
of a thing isn’t the
thing itself, but instead
is the activity that
created it.”
-Dave Thomas
18. Me
• @mdclement
• mike@softwareontheside.com
• http://blog.softwareontheside.com
• Utah Software Craftsmanship Group
– https://groups.google.com/forum/#!forum/ut-
software-craftsmanship
– @utahsc
– First Wednesday, Neumont, Room 300
Notes de l'éditeur
Verbs vs. NounsRequirements“Plans are useless, but planning is invaluable” – Dwight D. Eisenhowerthe value is the process that everyone goes through in order to produce the document: the understanding gained, the relationships forged, the negotiations, the compromises, and all the other little interactions which share information.QualityPlan, measure, build a quality product!Quality is PART OF THE PROCESS. Quality is in the spirit of the smallest of our daily activities.
The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the "quantity" group: fifty pound of pots rated an "A", forty pounds a "B", and so on. Those being graded on "quality", however, needed to produce only one pot - albeit a perfect one - to get an "A".Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the "quantity" group was busily churning out piles of work - and learning from their mistakes - the "quality" group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.http://www.codinghorror.com/blog/2008/08/quantity-always-trumps-quality.htmlArt & Fear: Observations On the Perils (and Rewards) of Artmaking [Paperback]David Bayles (Author), Ted Orland (Author)We learn by DOING!I would argue that we can’t do quantity on the job. We have to get the volume of repetitions elsewhere.
Concept introduced to software by Alistair CockburnShu - the technical foundation of the artSingle instructorCopy techniques without modificationit is the instructor that decides when the student moves on from Shu to Ha, not the studentIt’s up to the student to follow the instructor’s teaching as an empty vessel to be filled upHareflect on the meaning and purpose of everything that s/he has learned and thus come to a deeper understanding of the artRimust think originally and develop from background knowledge original thoughts about the art and test them against the reality of his or her background knowledge and conclusions as well as the demands of everyday lifethe art truly becomes the practitioner’s own and to some extent his or her own creationInvent own techniques
“defends against multiple attackers in quick succession without knowing how they will attack or in what order”
if anyone is lost, pair should explain – audience can ask clarifying questions, but not give suggestions unless Green
Familiarity with TDDFamiliarity with Principles of Simple Design
if anyone is lost, pair should explain – audience can ask clarifying questions, but not give suggestions unless Green
Verbs vs. NounsRequirements“Plans are useless, but planning is invaluable” – Dwight D. Eisenhowerthe value is the process that everyone goes through in order to produce the document: the understanding gained, the relationships forged, the negotiations, the compromises, and all the other little interactions which share information.QualityPlan, measure, build a quality product!Quality is PART OF THE PROCESS. Quality is in the spirit of the smallest of our daily activities.
Verbs vs. NounsRequirements“Plans are useless, but planning is invaluable” – Dwight D. Eisenhowerthe value is the process that everyone goes through in order to produce the document: the understanding gained, the relationships forged, the negotiations, the compromises, and all the other little interactions which share information.QualityPlan, measure, build a quality product!Quality is PART OF THE PROCESS. Quality is in the spirit of the smallest of our daily activities.