Kata | Glossary

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.

Iterative Development | Glossary

Definition

Iterative Development is a method that breaks down the large workload of a Software Development process into smaller chunks, and in cycles. The featured code is designed, developed and tested in continuous repeated cycles. Features are added/subtracted after each iteration so as to develop the software in its best possible condition to be deployed.

Iterative development is a key practice in Agile Development Methodology. It is a contrast with the traditional Waterfall Method, in which Development Cycle is ‘Gated’. The purpose of working in iterations is to allow more flexibility and change.  Every cycle brings more possibilities of improving the functionality of the product and towards finally building a great end product.

Further Reading

  •  “Agile and Iterative Development Complete Self-Assessment Guide” (book), by Gerardus Blokdyk .