A Capstone Course on Agile Software Development Using Scrum

In this paper, an undergraduate capstone course in software engineering is described that not only exposes students to agile software development, but also makes it possible to observe the behavior of developers using Scrum for the first time. The course requires students to work as Scrum Teams, responsible for the implementation of a set of user stories defined by a project domain expert playing the role of the Product Owner. During the course, data on project management activities are collected in order to analyze the amount of work completed, compliance with the release and iteration plans, productivity, ability in effort estimation, and the like. The paper discusses the achievement of teaching goals and provides empirical evaluation of students' progress in estimation and planning skills. A summary of lessons learned and recommendations is given, reflecting the issues to be considered when teaching courses in agile software development. Surveys of students have shown that they were overwhelmingly positive about the course, indicating that the course fully met or even exceeded their expectations.

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

[2]  Luciano Baresi,et al.  Three empirical studies on estimating the design effort of Web applications , 2007, TSEM.

[3]  Shihong Huang,et al.  Report from the 2nd International Workshop on Software Engineering Course Projects (SWECP 2005) , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[4]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

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

[6]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[7]  Tore Dybå,et al.  A Preliminary Roadmap for Empirical Research on Agile Software Development , 2008, Agile 2008 Conference.

[8]  Mark J. Sebern,et al.  Revisions to Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering , 2012 .

[9]  Satish S. Nair,et al.  Professional Skills in the Engineering Curriculum , 2010, IEEE Transactions on Education.

[10]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[11]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[12]  Shanika Karunasekera,et al.  Preparing Software Engineering Graduates for an Industry Career , 2007, 20th Conference on Software Engineering Education & Training (CSEET'07).

[13]  C. Hastie,et al.  Encouraging the development of transferable skills through effective group project work , 1970, ICSE 1996.

[14]  Vladan Devedzic,et al.  Teaching Agile Software Development: A Case Study , 2011, IEEE Transactions on Education.

[15]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[16]  Phillip A. Laplante,et al.  An Agile, Graduate, Software Studio Course , 2006, IEEE Transactions on Education.

[17]  Jorge L. Díaz-Herrera,et al.  SE2004: Recommendations for Undergraduate Software Engineering Curricula , 2006, IEEE Software.

[18]  Magne Jørgensen,et al.  A review of studies on expert estimation of software development effort , 2004, J. Syst. Softw..

[19]  Jeffrey C. Carver,et al.  A checklist for integrating student empirical studies with research and teaching goals , 2010, Empirical Software Engineering.

[20]  Sitalakshmi Ramakrishnan,et al.  Innovation and Scaling Up Agile Software Engineering Projects , 2009 .

[21]  Cemal Yilmaz,et al.  Software Metrics , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[22]  T. Dean Hendrix,et al.  Software Process in the Classroom: The Capstone Project Experience , 2002, IEEE Softw..

[23]  Cyril M. Coupal,et al.  Introducing agile into a software development Capstone project , 2005, Agile Development Conference (ADC'05).