Blog Post Series
This is a series of blog posts about hands-on sessions you can facilitate at software conferences. You can find the rest of the hands-on sessions here.
You can learn from someone who shows a live demonstration about a concept, technique or tool.
The idea of performing kata comes from martial arts. Its purpose is to teach a group how to tackle a specific problem in a systematic approach.
It is a very efficient way of conveying information because it is a mix of theory and practice.
Kata = detailed choreographed patterns of movements practiced either solo or in group.
Typically it is longer than a talk and it has a specific focus.
Variations: live coding, live testing, testing demo,
The performing kata has the following steps:
A good intro of the speaker will help the audience understand what to expect and the types of questions they could ask during the session.
It should be brief, maximum 5 minutes.
This short presentation should contain what will happen during the session.
Also the duration and the outcome should be presented.
All this should take maximum 10 minutes. The shorter, the better. People want to see action.
The kata starts with a purpose in mind. It should be clear for the audience at all moments what the purpose is.
The speaker would write code, test, or perform some actions in order to teach the audience. All these live actions should have explanations in the background.
An important aspect is if the speaker lets the audience ask questions at all times, only at a time interval or just at the end. The speaker should mention this when starting the kata.
It can take from 30 minutes to 60-90 minutes, depending on the topic. These sessions require the attention of the audience. If they are too long, the audience will lose focus.
At the end of the kata, some conclusions are in order.
They should be short and clear, and discussed with the audience.
Getting feedback about the session from the audience is always a good thing.
This part should take between 5 and 10 minutes.
The speaker can improve their performing kata if they listen to the audience. Feedback is always good and it can lead to an excellent session where the audience will be delighted. Often a performing kata can be improved massively after the first 1-3 shows, and less and less the following ones. But in my experience it is clear that a performing kata is never perfect, and it cannot be excellent from the first show.
It is similar to the idea of a codecast, but performed live in front of an audience. A codecast is a screencast, but where code is presented. During a screencast the performer records the screen and audio with the purpose to teach the audience a specific concept, technique or tool.
A performing kata is more powerful than a talk when it comes to how fast the audience can learn a specific topic. This happens because experiential learning is more effective than the case when information is passed to the audience through a talk. Other sessions like workshops or dojos are even better from this point of view, because the audience can practice as well. You can read about them in the other articles from this series.
The speaker can learn a lot from the audience as well during a performing kata. Usually alternatives, small steps made in a different way or just new concepts can arise during the discussion with the audience.
This type of session is difficult to create. It needs a lot of knowledge about the whole coding or testing environment, a log of courage to perform live and tons of practice. From my experience just wanting to do a performing kata is a sign that the speaker knows very well what and how to do.
I recommend the speakers to discuss with the audience as often as they can, because they will keep their focus in this way. Often it can happen that a short question clarifies the whole presentation flow, so try to accept these questions in order to allow the audience to understand the presented concepts.
The idea of performance kata comes together with the idea of coding dojo and coding kata and was introduced by Dave Thomas in the book The Pragmatic Programmer.
Feel free to contact me to find more about sessions you can try during a software conference.