Developing a Spiral Curriculum for Teaching Agile at the National Software Academy

The National Software Academy (NSA) was established at Cardiff University in October 2016 as a centre of excellence for Applied Software Engineering. We work in partnership with Welsh Government and industry leaders to address the national shortage of software engineering graduates with the skills, knowledge, and hands-on experience required to be immediately effective as commercial software engineers. We run an innovative, industry-focused B.Sc. which uses agile methods to facilitate our project-based learning (PjBL) approach. The projects are provided by our network of industrial partners and are used across multiple modules as a basis for assessment across the disciplines. Although the degree course has yet to produce any graduates, a significant proportion already hold conditional job offers. A conversion M.Sc. in Applied Software Engineering for STEM graduates has also been developed, and will benefit from lessons learned as we continue to inspect and adapt the undergraduate degree programme. This chapter outlines how a spiral curriculum has been developed for teaching agile that progressively introduces complexity whilst building on previous learning.

[1]  Mike Cohn,et al.  Succeeding with Agile: Software Development Using Scrum , 2009 .

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

[3]  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).

[4]  Ian Cooper,et al.  Developing Work-Ready Software Engineers using Real-world Team-based Projects as a Catalyst for Learning , 2016 .

[5]  Christoph Matthies,et al.  Teaching Agile the Agile Way — Employing Self-Organizing Teams in a Uni- versity Software Engineering Course , 2016 .

[6]  Esther Derby,et al.  Agile Retrospectives: Making Good Teams Great , 2006 .

[7]  Morgan Ericsson,et al.  Teaching Agile - Addressing the Conflict between Project Delivery and Application of Agile Methods , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[8]  Kristi J Ferguson,et al.  The integrated curriculum in medical education: AMEE Guide No. 96 , 2015, Medical teacher.

[9]  Ralf Klamma,et al.  The difficult bridge between university and industry: a case study in computer science teaching , 2010 .

[10]  J. Bruner The Process of Education , 1960 .

[11]  Annabelle Klarl,et al.  Teaching agile software development through lab courses , 2012, Proceedings of the 2012 IEEE Global Engineering Education Conference (EDUCON).

[12]  Frank Maurer,et al.  An Experience Report at Teaching a Group Based Agile Software Development Project Course , 2015, SIGCSE.

[13]  David Johnson,et al.  Teaching Agile Methods to Software Engineering Professionals: 10 Years, 1000 Release Plans , 2017, XP.

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

[15]  Viljan Mahnic,et al.  A Capstone Course on Agile Software Development Using Scrum , 2012, IEEE Transactions on Education.

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

[17]  Kenneth S. Rubin,et al.  Essential Scrum: A Practical Guide to the Most Popular Agile Process , 2012 .

[18]  J. Biggs,et al.  Teaching For Quality Learning At University , 1999 .

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