# “BDD Assemble!”: A Paper-Based Game Proposal for Behavior Driven Development Design Learning

Victor Sarinho

► To cite this version:

Victor Sarinho. "BDD Assemble!": A Paper-Based Game Proposal for Behavior Driven Development Design Learning. 1st Joint International Conference on Entertainment Computing and Serious Games (ICEC-JCSG), Nov 2019, Arequipa, Peru. pp.431-435, 10.1007/978-3-030-34644-7_41. hal-03652045

HAL Id: hal-03652045

https://inria.hal.science/hal-03652045

Submitted on 26 Apr 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# "BDD Assemble!": A Paper-Based Game Proposal for Behavior Driven Development Design Learning

Victor T. Sarinho¹[0000-0002-5653-8390]

Laboratório de Entretenimento Digital Aplicado (LEnDA)
State University of Feira de Santana, Av. Transnordestina, s/n, Novo Horizonte
Feira de Santana, Bahia, Brazil
vsarinho@uefs.br

**Abstract.** Game-based learning represents a promising alternative to teach computing in higher education. This paper presents "BDD Assemble!", a paper-based game proposal for teaching Behavior Driven Development (BDD) competences. For this, the proposed game and the evaluation approach with software engineering students are described. As a result, a simple, interactive and collaborative game was provided, able to teach BDD concepts in a practical, competitive and fun way.

**Keywords:** Behavior driven development · Educational game · Paper-based game.

## 1 Introduction

Originally developed by Dan 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 [5, 1].

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).

<figure><img src="image_2.png" /><figcaption>Fig. 1. UserStory Game example [6].</figcaption></figure>

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. Fig. 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.

<figure><img src="image_3.png" /><figcaption>**Fig. 2.** "BDD Assemble!" game play by master degree students in a SE classroom.</figcaption></figure>

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.

## 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 collaborative 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.
<figure><img src="image_4.png" /><figcaption>Fig. 3. “BDD Assemble!” game play by master degree students in a SE classroom.</figcaption></figure>

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.

## References

1. de Carvalho, R.A., Manhaes, R.S., et al.: Mapping business process modeling constructs to behavior driven development ubiquitous language. arXiv preprint arXiv:1006.4892 (2010)

2. Dalpiaz, F., Cooper, K.M.: Games for requirements engineers: Analysis and directions. IEEE Software (2018)

3. Hermann, A.C.: Bdd warriors other games. https://pt.slideshare.net/inovacaoDBServer/bdd-warriors-and-other-games (december 2016), last accessed 31 May 2019

4. Hindsight: Try our bdd game. https://www.hindsightsoftware.com/bdd-game

5. Kudryashov, K.: The beginner's guide to bdd. Dan North Q & A. https://inviqa.com/blog/bdd-guide (2015)

6. Lombriser, P., Dalpiaz, F., Lucassen, G., Brinkkemper, S.: Gamified requirements engineering: model and experimentation. In: International Working Conference on Requirements Engineering: Foundation for Software Quality. pp. 171–187. Springer (2016)

7. Lund, A.M.: Measuring usability with the use questionnaire. Usability interface 8(2), 3–6 (2001)

8. North, D.: Introducing bdd. https://dannorth.net/introducing-bdd/ (march 2006), last accessed 31 May 2019

9. Rahman, M., Gao, J.: A reusable automated acceptance testing architecture for microservices in behavior-driven development. In: 2015 IEEE Symposium on Service-Oriented System Engineering. pp. 321–325. IEEE (2015)

10. Solis, C., Wang, X.: A study of the characteristics of behaviour driven development. In: 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications. pp. 383–387. IEEE (2011)