A Practical Approach to Teaching Agile Methodologies and Principles at Tertiary Level Using Student-Centred Activities

This chapter presents a practical approach to better understand agile methodologies and principles in an educational context. An overview of the main agile principles is given along with agile methodologies that can be taught and applied in the classroom at tertiary level. The main objective is to train final year university students with agile practices currently used by the software industry. Apart from traditional activities such as homework, tests, assignments and lectures, practical approaches have been incorporated into the curriculum to engage students in active learning. In this context, the activities which were planned have been validated against agile practices at Infosys Ltd., a leading Indian-based IT company having a branch in Mauritius. In this chapter, the main focus is how team-based activities and student-centred group work have helped university students learn, understand and apply agile concepts such as Scrum, User Stories, Extreme Programming (XP), Lean, Kanban and Test-Driven Development (TDD).

[1]  Fabio Q. B. da Silva,et al.  SCRUM and Productivity in Software Projects: A Systematic Literature Review , 2010, EASE.

[2]  Casper Lassenius,et al.  Teaching students scrum using LEGO blocks , 2014, ICSE Companion.

[3]  Amal Battou,et al.  Designing an Adaptive Learning System Based on a Balanced Combination of Agile Learner Design and Learner Centered Approach , 2017 .

[4]  Paul Rodrigues,et al.  Extreme Pedagogy: An Agile Teaching-Learning Methodology for Engineering Education , 2015 .

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

[6]  C. Bonwell,et al.  Active learning : creating excitement in the classroom , 1991 .

[7]  Ron Jeffries,et al.  Extreme Programming and Agile Software Development Methodologies , 2004, Inf. Syst. Manag..

[8]  Rajiv Ramnath,et al.  An agile boot camp: Using a LEGO®-based active game to ground agile development principles , 2011, 2011 Frontiers in Education Conference (FIE).

[9]  Sumanth Yenduri,et al.  Impact of Using Test-Driven Development: A Case Study , 2006, Software Engineering Research and Practice.

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

[11]  Larry K. Michaelsen,et al.  The essential elements of team‐based learning , 2008 .

[12]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[13]  James Noble,et al.  Organizing self-organizing teams , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[14]  Filippo Eros Pani,et al.  A Review of Lean-Kanban Approaches in the Software Development , 2013 .

[15]  Jeff Patton,et al.  User Story Mapping: Discover the Whole Story, Build the Right Product , 2014 .

[16]  Miroslav Novak,et al.  A Practical Guide to eXtreme Programming , 2002 .

[17]  Martin Dick,et al.  Adopting XP practices for teaching object oriented programming , 2006 .

[18]  Grigori Melnik,et al.  Test-Driven Development , 2010, Encyclopedia of Software Engineering.

[19]  Michael A. Cusumano,et al.  Lean Software Development: A Tutorial , 2012, IEEE Software.

[20]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[21]  Pablo Romero,et al.  XP and pair programming practices , 2006 .

[22]  Muhammad Ovais Ahmad,et al.  Kanban in software development: A systematic literature review , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[23]  Ville Isomöttönen,et al.  ComTest: a tool to impart TDD and unit testing to introductory level programming , 2010, ITiCSE '10.

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

[25]  Kieran Conboy,et al.  The Role of the User Story Agile Practice in Innovation , 2010, LESS.

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

[27]  George Mangalaraj,et al.  Challenges of migrating to agile methodologies , 2005, CACM.

[28]  K. Nageswara Rao,et al.  Effective Implementation of Agile Software Development with a Framework, Metric Tool, and in Association with Cloud and Lean Kanban , 2017 .

[29]  David J. Anderson,et al.  Essential Kanban Condensed , 2016 .

[30]  H. Frank Cervone,et al.  Understanding agile project management methods using Scrum , 2011, OCLC Syst. Serv..

[31]  Mary Poppendieck,et al.  Lean Software Development , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[32]  Prakash Ramaswamy,et al.  The effects of individual XP practices on software development effort , 2003, SOEN.

[33]  Charles E. McDowell,et al.  Pair programming improves student retention, confidence, and program quality , 2006, CACM.

[34]  William Pugh,et al.  Helping students appreciate test-driven development (TDD) , 2006, OOPSLA '06.

[35]  Casper Lassenius,et al.  Teaching University Students Kanban with a Collaborative Board Game , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[36]  Kees Dorst,et al.  The core of ‘design thinking’ and its application , 2011 .

[37]  Walter F. Tichy,et al.  Case study: extreme programming in a university environment , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[38]  Giancarlo Succi,et al.  Lean Software Development in Action , 2014, Springer Berlin Heidelberg.

[39]  Laurie A. Williams,et al.  In Support of Pair Programming in the Introductory Computer Science Course , 2002, Comput. Sci. Educ..

[40]  James Noble,et al.  Agile Project Management , 2008 .

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

[42]  Ville Isomöttönen,et al.  Test-driven development in education: experiences with critical viewpoints , 2008, SIGCSE 2008.

[43]  David S. Janzen,et al.  Test-driven development concepts, taxonomy, and future direction , 2005, Computer.

[44]  Derya Bahceci,et al.  Agile perspectives in construction projects - How to improve efficiency in the design phase , 2014 .

[45]  L.J. Leifer,et al.  Engineering design thinking, teaching, and learning , 2005, IEEE Engineering Management Review.

[46]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[47]  Monica W. Tracey,et al.  Teaching Lean with an Interdisciplinary Problem Solving Learning Approach , 2009 .