To Agile or not to Agile Students (With a Twist): Experience Report from a Student Project Course

Agile software development and formal methods are seemingly on the opposite ends of the rigorousness scale. If carefully used, the can efficiently function in synergy to provide an evolutionary, iterative and tailorable process for a correct-by-construction system. In this work, we present the use of agile and formal methods in the academic context at the project course. We describe the development of the meeting scheduler – a web application, which utilised the Event-B formal method and the Vaadin framework within the Scrum development process. Our contribution includes remarks and advice for student projects regarding (i) the use of Scrum and (ii) the application of formal methods in "traditional" software development. We believe that results can be to some extent transferred to an industrial setting, where learning new technologies is involved within agile development processes.

[1]  Thomas Reichlmayr Working Towards the Student Scrum: Developing Agile Android Applications , 2011 .

[2]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[3]  Sune Wolff Scrum goes formal: Agile methods for safety-critical systems , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[4]  David F. Rico,et al.  Use of Agile Methods in Software Engineering Education , 2009, 2009 Agile Conference.

[5]  L. Abdulwahab,et al.  Agile Methods for Software Engineering Students Project: A Proposed Hybrid Methodology , 2015, DEIS 2015.

[6]  Marina Waldén,et al.  Using Scrum to Develop a Formal Model - An Experience Report , 2016, PROFES.

[7]  Michael R. Clarkson,et al.  Formal Methods Application: An Empirical Tale of Software Development , 2002, IEEE Trans. Software Eng..

[8]  Andreas Meier,et al.  Teaching and learning agile collaboration , 2014, 2014 IEEE 27th Conference on Software Engineering Education and Training (CSEE&T).

[9]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[10]  Boris Gloger,et al.  Scrum , 2021, Informatik-Spektrum.

[11]  Rajesh Vasa,et al.  Agile practices in software development - experiences from student projects , 2006, Australian Software Engineering Conference (ASWEC'06).

[12]  C. M. Holloway Why engineers should consider formal methods , 1997, 16th DASC. AIAA/IEEE Digital Avionics Systems Conference. Reflections to the Future. Proceedings.

[13]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[14]  Indika Perera,et al.  Impact of using agile practice for student software projects in computer science education , 2009 .

[15]  Kaisa Sere,et al.  Specification Metrics for Event-B Developments , 2010 .