Learning agile software engineering practices using coding dojo

Information technology and computer science educators are experiencing an industry-driven change from plan-based software engineering development processes to more people-oriented Agile software engineering approaches. While plan-based software engineering practices have traditionally been taught in lectures, Agile practices can often be best learned by experiencing them in a realistic situation. One approach for bringing Agile practices to the learning community is a coding dojo, where a group of participants solve a programming task together using test-driven development and pair programming. Coding dojo is a form of learning which values concrete experience in a realistic context. In our experiment, we embedded a coding dojo into the Agile practices part of our undergraduate software engineering course. The participating students considered the coding dojo a useful experience, and most of them (82%) would recommend participation in coding dojos for their fellow students, as well.