How Surveys, Tutors and Software Help to Assess Scrum Adoption in a Classroom Software Engineering Project

Agile methods are best taught in a hands-on fashion in realistic projects. The main challenge in doing so is to assess whether students apply the methods correctly without requiring complete supervision throughout the entire project. This paper presents experiences from a classroom project where 38 students developed a single system using a scaled version of Scrum. Surveys helped us to identify which elements of Scrum correlated most with student satisfaction or posed the biggest challenges. These insights were augmented by a team of tutors, which accompanied main meetings throughout the project to provide feedback to the teams, and captured impressions of method application in practice. Finally, we performed a post-hoc, tool-supported analysis of collaboration artifacts to detect concrete indicators for anti-patterns in Scrum adoption. Through the combination of these techniques we were able to understand how students implemented Scrum in this course and which elements require further lecturing and tutoring in future iterations. Automated analysis of collaboration artifacts proved to be a promising addition to the development process that could potentially reduce manual efforts in future courses and allow for more concrete and targeted feedback, as well as more objective assessment.

[1]  Daniela E. Damian,et al.  The promises and perils of mining GitHub , 2009, MSR 2014.

[2]  Alistair Cockburn,et al.  Agile Software Development: The Cooperative Game (2nd Edition) (Agile Software Development Series) , 2006 .

[3]  M. Fowler Improving the Design of Existing Code , 2000 .

[4]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[5]  Henrik Kniberg,et al.  Scrum and XP from the Trenches: Enterprise Software Development , 2007 .

[6]  Dietmar Pfahl,et al.  What Do We Know about Scientific Software Development's Agile Practices? , 2012, Computing in Science & Engineering.

[7]  Sally Fincher,et al.  Computer Science Curricula 2013 , 2013 .

[8]  References , 1971 .

[9]  Alexander Zeier,et al.  An Educational Testbed for the Computational Analysis of Collaboration in Early Stages of Software Development Processes , 2011, 2011 44th Hawaii International Conference on System Sciences.

[10]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[11]  Joint Task Force on Computing Curricula Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science , 2013 .

[12]  Daniela E. Damian,et al.  Teaching students global software engineering skills using distributed Scrum , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[13]  Shinji Kusumoto,et al.  Quantitative assessment with using ticket driven development for teaching scrum framework , 2014, ICSE Companion.

[14]  David Coppit,et al.  Large team projects in software engineering courses , 2005 .

[15]  Qin Zhang,et al.  Practical automated process and product metric collection and analysis in a classroom setting: lessons learned from Hackystat-UH , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[16]  Forrest Shull,et al.  Are developers complying with the process: an XP study , 2010, ESEM '10.

[17]  Vladan Deved Teaching Agile Software Development: A Case Study , 2011 .

[18]  Murray Hill,et al.  Lint, a C Program Checker , 1978 .

[19]  Grigori Melnik,et al.  A cross-program investigation of students' perceptions of agile methods , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[20]  DevedžićV.,et al.  Teaching Agile Software Development , 2011 .

[21]  Marco Torchiano,et al.  On the Difficulty of Computing the Truck Factor , 2011, PROFES.

[22]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[23]  Daniel M. Germán,et al.  The promises and perils of mining git , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[24]  Andreas Meier,et al.  Teaching agile software development at university level: Values, management, and craftsmanship , 2013, 2013 26th International Conference on Software Engineering Education and Training (CSEE&T).

[25]  J. G. Adair,et al.  The Hawthorne effect: A reconsideration of the methodological artifact. , 1984 .