Applying Software Craftsmanship Practices to a Scrum Project: an Experience Report

  • Percival Lucena IBM Research
  • Leonardo Tizzei IBM Research

Resumo


The Software Craftsmanship manifesto has defined values and principles that software development teams should follow to deliver quality software that fulfills functional and non-functional requirements without dealing with high amounts of technical debt. Software craftsmanship approach to software development prioritizes technical practices in order to provide a clean code base. This work analyzes a set of practices that can be applied to a Scrum project that aims to incorporate Software Craftsmanship values. The process implementation described may be a useful contribution for software development teams who also intend to implement Software Craftsmanship on their projects.

Palavras-chave: Sofwtare craftmanship, scrum, software engineering

Referências

Ambler, S. W. (2003). Agile model driven development is good enough. Software, IEEE, 20(5):71–73.

Association for Computing Machinery (2016). Software engineering code of ethics and profes- sional practice. http://www.acm.org/about/se-code\#full.

Bass, L., Weber, I., and Zhu, L. (2015). Devops: A Software Architect’s Perspective, chapter 1, pages 10–15. Pearson Education (US).

Beck, K. (2004). Extreme Programming Explained: Embrace Change, 2nd Edition. The XP Series. Addison-Wesley.

Bria, M. (2008). Craftsmanship—the fifth agile manifesto value. InfoQ, Aug, 20.

Brown, N., Cai, Y., Guo, Y., Kazman, R., Kim, M., Kruchten, P., Lim, E., MacCormack, A., Nord, R., Ozkaya, I., et al. (2010). Managing technical debt in software-reliant systems. In FSE/SDP Workshop on Future of software engineering research, pages 47–52. ACM.

Cunningham, W. (1993). The wycash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2):29–30.

Evans, E. (2004). Domain-driven design tackling complexity in the heart of software. Addison W.

Fowler, M. (2009). Flaccid scrum.

Fowler, M. and Highsmith, J. (2001). The agile manifesto. Software Development, 9(8):28–35.

Hastie, S. and Wojewoda, S. (2015). Standish group 2015 chaos report. bit.ly/1JOlpiW.

Jacobson, I. and Seidewitz, E. (2014). A new software engineering. Communications of the ACM, 57(12):49–54.

Mancuso, S. (2015). The Software Craftsman: Professionalism, Pragmatism, Pride, chapter 1, pages 24–36. Prentice Hall.

Martin, R. (2008a). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.

Martin, R. (2008b). Quintessence: The fifth element for the agile manifesto. bit.ly/1WRAGeL.

Martin, R. (2011). The Clean Coder: A Code of Conduct for Professional Programmers. Robert C. Martin Series. Pearson Education.

McBreen, P. (2002). Software craftsmanship: The new imperative. Addison-Wesley Professional. McConnell, S. (1998). The art, science, and engineering of software development. Software,IEEE, 15(1):120–118.

Melo, C. d. O., Santos, V., Katayama, E., Corbucci, H., Prikladnicki, R., Goldman, A., and Kon, F. (2013). The evolution of agile software development in Brazil. Journal of the Brazilian Computer Society, 19(4):523–552.

Mordal-Manet, K., Balmas, F., Denier, S., Ducasse, S., Wertz, H., Laval, J., Bellingard, F., and Vaillergues, P. (2009). The squale model—a practice-based industrial quality model. In Inter- national Conference on Software Maintenance, pages 531–534. IEEE.

Mushtaq, Z. and Qureshi, M. R. J. (2012). Novel hybrid model: Integrating Scrum and XP. International Journal of Information Technology and Computer Science, 4(6):39.

Oliveira, F., Goldman, A., and Santos, V. (2015). Managing technical debt in software projects using scrum: An action research. In Agile Conference, pages 50–59. IEEE.

Pagel, P. (2009). History of the software craftsmanship manifesto. bit.ly/1TGsLza.

Schwaber, K. and Sutherland, J. (2011). The scrum guide. Scrum Alliance.

VersionOne (2016). 7th annual state of agile development survey.

Winter, B. (2015). Agile Performance Improvement: The New Synergy of Agile and Human Per- formance Technology, chapter 5: The Agile Software Engineer’s Toolkit. Apress.
Publicado
25/10/2016
LUCENA, Percival; TIZZEI, Leonardo. Applying Software Craftsmanship Practices to a Scrum Project: an Experience Report. In: WORKSHOP SOBRE ASPECTOS SOCIAIS, HUMANOS E ECONÔMICOS DE SOFTWARE (WASHES), 1. , 2016, Maceió. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 11-20. ISSN 2763-874X.