Definition
Katas are the detailed choreographed patterns of movements, that are either practiced solo, or in pairs. It’s a term derived from Japanese Martial Arts. The goal is to adapt and internalize a specific movement, or technique, via repeated practice, so that it can be eventually performed without thought or hesitation, under any circumstance.
In Software Development, programming Katas are designed around exercises like Implementing Rules, String Manipulations, Maths problems etc. In coding, the aim is to develop small exercises to hone skills, and then eventually transform them into things that are much more. A series of ‘Katas’ build on one another over iterations to demonstrate changing Business needs.
Further Reading
- “Toyota Kata: Managing People for Improvement, Adaptiveness and Superior Results”(book), by Mike Rother.