In the book Understanding the four rules of simple design Corey Haines shares his insight after seeing thousands of people work on a specific code kata exploring the four rules of simple design.
Originally formulated by Kent Beck the four rules of simple design are
- Tests Pass
- Express Intent
- No Duplication
- Small
Superficially shallow, these four rules contain a wealth of insight. It can take a lifetime to master these concepts and apply them into software design.
One way of achieving mastery of a subject is through Deliberate Practice. That is why Corey Haines explores the nuances of the four simple rules through the medium of Code Kata's
Kata is a japanese word meaning "form"
It refers to a detailed choreographed pattern of martial arts movements made to be practised alone. It can also be reviewed within groups and in unison when training. It is practised in Japanese martial arts as a way to memorize and perfect the movements being executed.
A code kata is a term that refers to the deliberate practice of software development. It focuses on training and exploration and therefor is set apart from day to day practice
In order to foster the growth as a software developer it is sometimes necessary to retreat from the whims of day to day practice and focus on learning. During these retreats one is invited to explore various aspects of software development and software design. Often this is done by performing various kata's.
This repository provides the scaffolding to fascilitate a series of retreat focussing on the four simple rules of design.