1 Introduction

Originally developed by North [8], Behavior Driven Development (BDD) is an “increasingly prevailing agile development approach in recent years, and has gained attentions of both research and practice” [10]. It is focused on defining fine-grained specifications of the behaviour of the targeting system, in a way that they can be automated as executable specifications of a system [8, 10]. It is also an outside-in agile software development process for agile teams that helps in a cooperative way to reduce this type of rework and regain time for new development work [9].

BDD uses the Gherkin language to describe software behaviors [5], providing a specific ubiquitous language that helps stakeholders to specify their system tests [10]. It starts with textual descriptions of the requirements using specific keywords that tag the type of sentence (Given, When, Then), indicating how the sentence is going to be treated in the subsequent development phases [1, 5].

Regarding serious games, “they combine the entertainment value of games with additional objectives such as players acquiring knowledge or skills, receiving guidance and feedback on tasks to perform, or contributing partial solutions to problems” [2]. They are “intentionally designed to attract, engage, and retain (even addict) players by applying psychology principles” [2], whose impact for educational purposes has received considerable attention.

Considering the relationship between BDD and serious games, BDD has been used to document user stories as an approach to identify game rules [3]. Stakeholders who are exposed to gamified elements can produce more BDD user stories in better quality and with more creative ideas [6]. Moreover, as a cooperative game, BDD can be used to demonstrate how issues can arise when requirements are not communicated effectively or clarified with other team members [4].

This paper presents the “BDD Assemble!”, a paper-based game proposal able to complement the list of BDD game options, as well as improve the BDD design competence among agile development students.

2 Related Work

Regarding BDD usage to design a game, BDD Warriors [3] is a card game that describes fictional scenarios as sets of Given-When-Then constructs that must be completed by the players to get points and win the game. Players score collaboratively by completing scenarios, which should make sense for the other players to consider them as complete.

By the application of gamification strategies, the UserStory Game [6] is a game on BDD-based requirements elicitation with diversified game elements. It is an online gamified platform for eliciting requirements through user stories and acceptance tests, which was developed to test the effect of gamification on engagement and on performance in requirements engineering (Fig. 1).

Fig. 1.
figure 1

UserStory Game example [6].

Finally, focusing on the agile perspective, and without face-to-face communication, software teams playing the BDD Game rely on their interpretation of a set of instructions - while under the pressure of time and resources, which are based on a drawing in a booklet that represents a set of user requirements that need to be implemented [4].

3 Methodology

“BDD Assemble!” is a competition among player teams to combine in short time proposed Gherkin sentences. Each team receives a story and 4 possible scenarios related to it. Similar pieces of Gherkin sentences for Given, When and Then are distributed for each team to be fit into their respective scenarios. Teams are challenged to produce correct sentences using the distributed pieces in each scenario, under the pressure of time against the other players. The team wins if it can complete more correct scenarios before the other competitors. Figure 2 illustrates some prepared Gherkin sentences for possible scenarios in a ATM (Account is in credit, Account is overdrawn past the overdraft limit, Deposit money and Transfer between accounts) to be combined by each player team.

Fig. 2.
figure 2

BDD sentences for the “BDD Assemble!” gameplay.

As a verification approach for the game, the same was used by master degree students in a Software Engineering (SE) classroom (Fig. 3). In this activity, the students participated in a game match with 4–5 players each team, which was performed after the conclusion of the Acceptance Test class.

Fig. 3.
figure 3

“BDD Assemble!” gameplay by master degree students in a SE class.

4 Conclusions and Future Work

This paper introduced “BDD Assemble!”, a paper-based entertainment approach that allows the production of BDD scenarios by proposed Gherkin sentences in a colaborative and competitive way.

Satisfaction, usefulness, ease of learning and ease of use attributes was also identified during the game play by the evaluated students via USE questionnaire [7], confirming that the proposed game can combine fun and engaging with BDD learning.

As future work, it is intended to produce a digital version of the proposed game, as well as more BDD scenarios together with the application and evaluation of the game in different SE classes.