Software Process Improvement and Gaming using Essence: An Industrial Experience
Pan-Wei Ng · Journal of Industrial and Intelligent Information · 2014
Software development teams are often ill-trained and ill-equipped to improve the way they develop software. As a result, process improvement is often left to those from without the development team, such as quality assurance staff, coaches, and consultants. This paper describes a novel process improvement approach that helps development teams to quickly describe their existing processes and to discover for themselves ways which they can improve. This not only gives teams a greater sense of ownership, but also lays the foundation for sustained improvement. In particular, we demonstrate how to kick start process improvement through a workshop. This workshop introduces an element of fun through the use of games and dice throwing. This keeps participants highly engaged during the process improvement workshop, which helps them truly appreciate how recommended practices can work in their context, as well as side effects. Central to our approach is Essence, a method-independent software engineering kernel. Essence’s object-oriented and statebased representation provides building blocks for teams to describe existing processes and to enact them (human) simulation gaming. This allows teams to explore improvement areas in a self-directed manner, and to test how new practices work in their context. Our experience in conducting a process improvement and gaming workshop for an embedded product company demonstrates the viability of our approach.