(Clean) software development takes practice

(Clean) software development takes practice

This is the motto of an internal coding dojo held every month at ETECTURE in Frankfurt.

The term dojo (Japanese, Chinese: tao-ch’ang) literally means “place of the (practice) way” and comes from the field of martial arts in the Far East. Kata are formal patterns of movement to be practiced in a repetitive manner so that they become second nature and are executed instinctively during “actual combat”.  For the coding dojo, the principles of the dojo and of kata have been applied to programming. In the coding dojo sessions, ETECTURE software developers work through the programming exercises together (code kata), giving them the opportunity to learn from one another — something which is used to full advantage.

The objective of this “deliberate practice” is joint training and the sharing and exchange of information outside of normal everyday project work. In a protected space, the developers can try out different things and reflect on their activities.

The exercises themselves can cover various topics, such as “test-driven development”, “clean code”, “refactoring”, or “trying out unfamiliar technologies”.

The changing organization team sets the date, the type, and the task of the dojo and checks the feasibility and difficulty of the kata beforehand. Once the exercise has been presented to the teams, the participants work in pairs to solve the problem, in a method also referred to as pair-programming.

A wide range of solutions emerge, which are presented and compared at the end in a review. To ensure continuous improvement of the event, there is a subsequent period of reflection. The day then ends with the participants enjoying a pizza together, and of course talking shop some more.