ABSTRACT
Behavior-driven development (BDD) is a software development technique that in order to succeed relies heavily on the definition of clear acceptance criteria by software developers in the form of behavioral scenarios, later translated into acceptance tests. The adoption of BDD in Business Intelligence (BI) projects requires developers to have a broad acquaintance to business that often even customers themselves do not possess. This article presents an experience report on the use of BDD in the development of a large public health related BI project. Experience suggests that the use of BDD may not be appropriate for BI projects, especially during the early stages of development, when there is still insufficient clarity about business acceptance criteria. The need for broad maturity towards business understanding makes it complex to adopt the behavioral approach within the development process in projects of this nature.
- North, Dan; (2006). Introducing BDD. Better Software Magazine (USA).Google Scholar
- C. Solıs and X. Wang. A study of the characteristics of behavior driven development. In Proceedings of the 37th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2011), pages 383--387, 2011. Google ScholarDigital Library
- Yeoh, W. and Koronios, A., (2010). Critical Success Factors For Business Intelligence Systems, Journal of Computer Information Systems, Spring, 23--132.Google Scholar
- Martin, Robert C.; "Agile Software Development, Principles, Patterns, and Practices". Pearson Education, EUA (2002) Google ScholarDigital Library
- H.P. Tavares, G. Guimarães Rezende, V. Mota, R. Soares Manhães, R., and R. Atem De Carvalho, A tool stack for implementing Behaviour-Driven Development in Python Language, CoRR, 2010.Google Scholar
- Reinschmidt, J. & Francoise, A. Business Intelligence Certification Guide, IBM International Technical Support Organization, San Jose, CA, 2000.Google Scholar
- Smart, J. (2014). BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle. Manning Publications, Shelter Island, NYGoogle Scholar
- K. Schwaber e J. Sutherland, Guia do Scrum, Um guia definitivo para o Scrum: As regras do jogo. 2017, {online} disponível em: https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Portuguese-Brazilian.pdfGoogle Scholar
- Zimmer M, Baars H, Kemper H (2012) "The impact of agility requirements on business intelligence architectures". In: Proceedings of the 45th HICSS, Hawaii, 2007 Google ScholarDigital Library
- B.H. Wixom, H.J. Watson, "An empirical investigation of the factors affecting data warehousing success"; MIS Quarterly, 25 (1) (2001), pp. 17--41 Google ScholarDigital Library
- Cynthia Cohen, Stanley Birkin, Monica Garfield, and Harold Webb, "Managing Conflict in Software Testing," Communications of the ACM, vol. 47, no. 1, January 2004, pp. 76--81 Google ScholarDigital Library
- CMMI, P. T. (2010). Cmmi® for development, version 1.3, improving processes for developing better products and services, no. CMU/SEI-2010- TR-033. Software Engineering Institute.Google Scholar
- Associação Brasileira de Normas Técnicas - ABNT. Sistemas de gestão da qualidade: requisitos -- NBR ISO-9001. Rio de Janeiro, dez. 2000.Google Scholar
- GitLab. Application for all stages of the DevOps lifecycle. {online} disponível em: https://about.gitlab.comGoogle Scholar
- JUnit. Testing framework for Java 8 and beyond. {online} disponível em: https://junit.org/junit5/.Google Scholar
- H2 Database Engine. Java SQL database. {online} disponível em: http://www.h2database.com/html/main.html.Google Scholar
- Karma. Test Runner for JavaScript. {online} disponível em: https://karma runner.github.io/2.0/index.htmlGoogle Scholar
- Cordemans P., Landschoot S., Boydens J., Steegmans E. (2014) "Test-Driven Development as a Reliable Embedded Software Engineering Practice", M. A. Khan et al. (eds.), Embedded and Real Time System Development: A Software Engineering Perspective, Studies in Computational Intelligence 520, ©Springer-Verlag Berlin Heidelberg 2014Google ScholarCross Ref
- Corner Case. Wikipedia. Acessado em 8 de julho de 2018. {online} disponível em: https://en.m.wikipedia.org/wiki/Corner_case.Google Scholar
Index Terms
On the applicability of BDD in a Business Intelligence project: experience report
Recommendations
Behavior-Driven Development: A case study on its impacts on agile development teams
ICSEW'20: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering WorkshopsSoftware development practices which enhance software quality and help teams better develop collaboratively have received attention by the academic community. Among these techniques is Behavior-Driven Development (BDD), a development method which ...
Behavior-driven development benefits and challenges: reports from an industrial study
XP '18: Proceedings of the 19th International Conference on Agile Software Development: CompanionAgile approaches arose as a way of addressing some of the main challenges in software development, such as changing requirements, lack of understanding about the system scope, and out-of-sync between code, requirements, and documentation. Studies show ...
Test-Driven Development of Relational Databases
Developers can use a test-driven development with database schema just as they use it with application code. Implementing test-driven database development (TDDD) involves three relatively simple steps: database refactoring, database regression testing, ...
Comments