Combining Behaviour-Driven Development with Scrum for Software Development in the Education Domain

Pedro Lopes de Souza, Antonio Francisco do Prado, Wanderley Lopes de Souza, Sissi Marilia dos Santos Forghieri Pereira, Luís Ferreira Pires

2017

Abstract

Most of the Brazilian universities employ teaching-learning methodologies based on classic frontal lectures. The Medicine Programme of the Federal University of S˜ao Carlos (UFSCar) is an exception, since it employs active learning methodologies. The Educational and Academic Management System for Courses Based on Active Learning Methodologies (EAMS-CBALM) was built and it is currently used to support this programme, and has been made available for other programmes as well. This system was developed using Scrum, but during its development project it was often necessary to reconsider system behaviour scenarios, and consequently the product backlog items, mainly due to poor communication between the Product Owner (PO) and the development team. This paper discusses a case study in which Behaviour-Driven Development (BDD) has been used in combination with Scrum to redesign some EAMS-CBALM components. The paper demonstrates that the communication between the PO and the development team can be improved by using BDD as a communication platform to unambiguously define system requirements and automatically generate test suites.

References

  1. Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  2. Carlisle, C., Calman, L., and Ibbotson, T. (2009). Practicebased learning: The role of practice education facilitators in supporting mentors. Nurse Education Today, 29(7):715-721.
  3. Chauhan, R. (2016). Fusion of Agile-Scrum to BDD. http://docplayer.net/28500425-Fusion-of-agilescrum-to-bdd.html. Accessed: 2016-12-19.
  4. Cucumber (2016). Cucumber simple, human collaboration. https://cucumber.io. Accessed: 2016-12-19.
  5. Diepenbeck, M. and Drechsler, R. (2015). Behavior Driven Development for Tests and Verification . Springer Fachmedien Wiesbaden, Wiesbaden.
  6. El-Fakih, K., Yevtushenko, N., Bozga, M., and Bensalem, S. (2016). Distinguishing extended finite state machine configurations using predicate abstraction. J. Software Eng. R and D, 4:1.
  7. Evans, E. (2004). Domain-driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley.
  8. Guizzardi, G. (2005). Ontological foundations for structural conceptual models. PhD thesis, University of Twente, Enschede.
  9. JBehave (2015). JBehave - a BDD framework. http://jbehave.org. Accessed: 2016-12-19.
  10. JMeter (2016). JMeter graphical server performance testing tool. http://jmeter.apache.org. Accessed: 2016-12-19.
  11. JUnit (2016). JUnit - a framework to write repeatable tests. http://junit.org/junit4. Accessed: 2016-12-19.
  12. Koskela, L. (2008). Test Driven: Practical TDD and Acceptance TDD for Java Developers. Manning Pubs Co Series. Manning.
  13. Lubke, D. and Van Lessen, T. (2016). Modeling test cases in bpmn for behavior-driven development. IEEE Software, 33(5):15-21.
  14. Malik, Z. (2013). Value of Behavior-Driven Development for Backlog Refinement in Scrum. https://www.scrumalliance.org/community/articles/ 2013/march/value-of-behavior-driven-developmentfor-backlog-r. Accessed: 2016-12-19.
  15. MSpec (2016). MSpec - Context/Specification framework. https://github.com/machine/machine.specifications. Accessed: 2016-12-19.
  16. NBehave (2014). NBehave - a BDD framework. https:// github.com/nbehave/nbehave. Accessed: 2016-12-19.
  17. North, D. (2006). Introducing BDD. https://dannorth.net/ introducing-bdd. Accessed: 2016-12-19.
  18. Oruc¸, A. F. and Ovatman, T. (2016). Testing of web services using behavior-driven development. In CLOSER 2016 - Proceedings of the 6th International Conference on Cloud Computing and Services Science, Volume 2, Rome, Italy, April 23-25, 2016., pages 85-92.
  19. Rhem, J. (1998). Problem-based learning: an introduction. www1.udel.edu/pbl/deu-june2006/supplemental/ NTLF-PBL-introduction.pdf. Accessed: 2016-12-19.
  20. RSpec (2016). RSpec: behaviour driven development for ruby. http://rspec.info/. Accessed: 2016-12-19.
  21. Schwaber, K. and Sutherland, J. (2016). The definitive guide to scrum: The rules of the game. http://www.scrumguides.org/docs/scrumguide/v2016/ 2016-Scrum-Guide-US.pdf. Accessed: 2016-12-19.
  22. Silva, T., Hak, J.-L., and Winckler, M. (2016). Testing prototypes and final user interfaces through an ontological perspective for behavior-driven development. Lecture Notes in Computer Science, 9856:86-107.
  23. Soeken, M., Wille, R., and Drechsler, R. (2012). Assisted behavior driven development using natural language processing. Lecture Notes in Computer Science, 7304:269-287.
  24. Solis, C. and Wang, X. (2011). A study of the characteristics of behaviour driven development. In Proceedings of the 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 7811, pages 383-387. IEEE Computer Society.
  25. SpecFlow (2016). SpecFlow - Cucumber for .NET. http://specflow.org. Accessed: 2016-12-19.
  26. StoryQ (2010). StoryQ - a bdd framework for .net 3.5. https://storyq.codeplex.com/. Accessed: 2016-12-19.
  27. Tempski, P. (2014). “Caderno do Curso Educac¸ a˜o na Saúde para Preceptores do SUS”. Teaching and Research Institute of the Sírio-Liban eˆs Hospital (in Portuguese).
  28. UFSCar (2007). Curso de Medicina - CCBS Projeto Político Pedag ógico Medicina UFSCar. http://www.prograd.ufscar.br/cursos/cursosoferecidos-1/medicina. Accessed: 2016-12-19.
  29. Weltman, D. (2007). A Comparison of Traditional and Active Learning Methods: An Empirical Investigation Utilizing a Linear Mixed Model. University of Texas at Arlington.
  30. Wynne, M. and Hellesoy, A. (2012). The cucumber book : behaviour-driven development for testers and developers. The pragmatic programmers. Dallas, Tex. Pragmatic Bookshelf.
Download


Paper Citation


in Harvard Style

Lopes de Souza P., Francisco do Prado A., Lopes de Souza W., Pereira S. and Ferreira Pires L. (2017). Combining Behaviour-Driven Development with Scrum for Software Development in the Education Domain . In Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-248-6, pages 449-458. DOI: 10.5220/0006336804490458


in Bibtex Style

@conference{iceis17,
author={Pedro Lopes de Souza and Antonio Francisco do Prado and Wanderley Lopes de Souza and Sissi Marilia dos Santos Forghieri Pereira and Luís Ferreira Pires},
title={Combining Behaviour-Driven Development with Scrum for Software Development in the Education Domain},
booktitle={Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2017},
pages={449-458},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006336804490458},
isbn={978-989-758-248-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 19th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Combining Behaviour-Driven Development with Scrum for Software Development in the Education Domain
SN - 978-989-758-248-6
AU - Lopes de Souza P.
AU - Francisco do Prado A.
AU - Lopes de Souza W.
AU - Pereira S.
AU - Ferreira Pires L.
PY - 2017
SP - 449
EP - 458
DO - 10.5220/0006336804490458