Abstract
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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
AgileApex [Computer software]. (2017). Retrieved from http://www.agileapex.com.
Ahmad, M., Markkula, J., & Oivo, M. (2013). Kanban in software development: A systematic literature review. In 39th Euromicro Conference on Software Engineering and Advanced Applications.
Anderson, D., & Carmichael, A. (2016). Essential Kanban condensed. Blue Hole Press.
Anslow, C., & Maurer, F. (2015). An experience report at teaching a group based agile software development project course. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education—SIGCSE ‘15.
Astels, D., Miller, G., & Novak, M. (2002). The practical guide to extreme programming. Prentice Hall PTR.
Bahceci, D., & Holmgren, L. (2014). Agile perspectives in construction projects—How to improve efficiency in the design phase (Postgraduate). School of Architecture and the Built Environment.
Barza, A., Cardozo, E. S., França, A. C., Neto, J. B., & Silva, F. Q. (2010). SCRUM and productivity in software projects: A systematic literature review. EASE.
Battou, A. (2017). Designing an adaptive learning system based on a balanced combination of agile learner design and learner. Centered approach. American Scientific Research Journal for Engineering, Technology, and Sciences, 37(1), 178–186.
Beck, K. (1999). Embracing change with extreme programming. Computer, 32(10), 70–77.
Beck, K. (2000). Extreme programming explained. Addison-Wesley.
Boersema, M. (2011). The Scrum Ball Point Game—Tennis, anyone?. Lean simulations. Retrieved March 18, 2018, from http://www.leansimulations.org/2011/08/scrum-ball-point-game-tennis-anyone.html.
Boersema, M. (2012). Lean Paper Airplane Game Instructions. Lean simulations. Retrieved March 18, 2018, from http://www.leansimulations.org/2012/10/lean-paper-airplane-game-instructions.html.
Bonwell, C. C., & Eison, J. A. (1991). Active learning; creating excitement in the classroom. ASHE-ERIC Higher Education Report No. 1. Washington, D.C.: The George Washington University, School of Education and Human Development.
Bryant, S., & Romero, P. (2006). XP and pair programming practices. PPIG Newsletter, 17–20.
Buildbettersoftware—Trello Guide. (2018). Using Trello for agile software development: The complete guide. Retrieved March 18, 2018, from http://buildbettersoftware.com/trello-for-software-development.
Cervone, H. (2011). Understanding agile project management methods using Scrum. OCLC Systems & Services: International Digital Library Perspectives, 27(1), 18–22.
Cohn, M. (2004). User stories applied. For agile software development. Boston: Addison-Wesley.
Collabedit. (2016). Collabedit—Online text editor. Retrieved March 18, 2018, from http://collabedit.com.
Corona, E., & Pani, F. E. (2013). A review of Lean-Kanban approaches in the software development. WSEAS Transactions on Information Science and Applications, 10(1), 1–13.
Da Silva, I., Xambre, A. R., & Lopes, R. B. (2013). A simulation game framework for teaching Lean production. International Journal of Industrial Engineering and Management, 4(2), 81–86.
Devedžić, V., & Milenković, S. (2011). Teaching agile software development: A case study. IEEE Transactions on Education, 54(2), 273–278.
Dorst, K. (2011). The core of ‘design thinking’ and its application. Design Studies, 32(6), 521–532.
D’Souza, M., & Rodrigues, P. (2015). Extreme pedagogy: An agile teaching-learning methodology for engineering education. Indian Journal of Science and Technology, 8(9), 828.
Dym, C., Agogino, A., Eris, O., Frey, D., & Leifer, L. (2005). Engineering design thinking, teaching, and learning. Journal of Engineering Education, 94(1), 103–120.
Erdogmus, H., Melnik, G., & Jeffries, R. (2010). Test-driven development. Encyclopedia of Software Engineering. Taylor & Francis.
Famuyide, S. (2017). Test-driven vs behaviour-driven development. Business analyst learnings. Retrieved October 31, 2017, from https://businessanalystlearnings.com/technology-matters/2014/8/13/test-driven-vs-behaviour-driven-development.
Fowler, M., & Highsmith, J. (2001). The agile manifesto. Software Development, 9(8), 28–35.
Friesen, K. (2015). LEGO Scrum City. Plays-In-Business. Retrieved March 18, 2018, from http://www.plays-in-business.com/lego-scrum-city.
Heikkilä, V., Paasivaara, M., & Lassenius, C. (2016). Teaching university students Kanban with a collaborative board game. In Proceedings of the 38th International Conference on Software Engineering Companion—ICSE ‘16.
Hoda, R., Noble, J., & Marshall, S. (2008). Agile project management. In New Zealand Computer Science Research Student Conference (pp. 218–221).
Hoda, R., Noble, J., & Marshall, S. (2010). Organizing self-organizing teams. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering—ICSE ‘10.
Janes, A., & Succi, G. (2014). Lean software development in action. Berlin, Heidelberg: Springer.
Janzen, D., & Saiedian, H. (2005). Test-driven development concepts, taxonomy, and future direction. Computer, 38(9), 43–50.
JUnit 5. (2018). Junit.org. Retrieved March 18, 2018, from http://junit.org.
Jyothi, V. E., & Rao, K. N. (2012). Effective implementation of agile practices-in coordination with Lean Kanban. International Journal on Computer Science and Engineering, 4(1), 87.
Kanban Pizza Game. (2013). agile42—The agile coaching company. Retrieved March 31, 2018, from https://www.agile42.com/en/training/kanban-pizza-game/.
Keefe, K., Sheard, J., & Dick, M. (2006, January). Adopting XP practices for teaching object oriented programming. In Proceedings of the 8th Australasian Conference on Computing Education (Vol. 52, pp. 91–100).
Kerievsky, J. (2001). PairDraw—Industrial Logic. Industrial Logic. Retrieved March 18, 2018, from https://www.industriallogic.com/blog/pairdraw-2.
Knepper, T. (2017). Agile apex introduction video. Learn agile provided by Agilest.org. Retrieved March 18, 2018, from http://learn.agilest.org/project-management/agile-apex-introduction-video.
Kollanus, S., & Isomöttönen, V. (2008). Test-driven development in education: Experiences with critical viewpoints. ACM SIGCSE Bulletin, 40(3), 124–127.
Kropp, M., & Meier, A. (2013). Teaching agile software development at university level: Values, management, and craftsmanship. In 26th International Conference on Software Engineering Education and Training (CSEE&T).
Kuppuswami, S., Vivekanandan, K., Ramaswamy, P., & Rodrigues, P. (2003). The effects of individual XP practices on software development effort. ACM SIGSOFT Software Engineering Notes, 28(6), 6.
Lappalainen, V., Itkonen, J., Isomöttönen, V., & Kollanus, S. (2010). ComTest. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education—Iticse ‘10.
Lindstrom, L., & Jeffries, R. (2004). Extreme programming and agile software development methodologies. Information Systems Management, 21(3), 41–52.
Lynch, T., Herold, M., Bolinger, J., Deshpande, S., Bihari, T., Ramanathan, J., & Ramnath, R. (2011). An agile boot camp: Using a LEGO-based active game to ground agile development principles. In 2011 Frontiers in Education Conference (FIE).
Mahalakshmi, M., & Sundararajan, M. (2013). Traditional SDLC vs scrum methodology—A comparative study. International Journal of Emerging Technology and Advanced Engineering, 3(6), 192–196.
Manifesto for Agile Software Development. (2001). Agile manifesto. Retrieved March 28, 2018, from http://www.agilemanifesto.org.
McDowell, C., Werner, L., Bullock, H. E., & Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communications of the ACM, 49(8), 90–95.
Michaelsen, L., & Sweet, M. (2008). The essential elements of team-based learning. New Directions For Teaching And Learning, 2008(116), 7–27.
Muller, M., & Tichy, W. (2001) Case study: Extreme programming in a university environment. In Proceedings of the 23rd International Conference on Software Engineering, ICSE.
Nerur, S., Mahapatra, R., & Mangalaraj, G. (2005). Challenges of migrating to agile methodologies. Communications of the ACM, 48(5), 72–78.
O’hEocha, C., & Conboy, K. (2010). The role of the user story agile practice in innovation. In Lean Enterprise Software and Systems (pp. 20–30).
Overall Equipment Effectiveness. (2017). Leanproduction.com. Retrieved March 29, 2018, from https://www.leanproduction.com/oee.html.
Paasivaara, M., Heikkilä, V., Lassenius, C., & Toivola, T. (2014). Teaching students scrum using LEGO blocks. In Companion Proceedings of the 36th International Conference on Software Engineering—ICSE Companion 2014.
Patton, J. (2014). User story mapping: Discover the whole story, build the right product. O’Reilly Media.
Poppendieck, M., & Cusumano, M. (2012). Lean software development: A tutorial. IEEE Software, 29(5), 26–32.
Poppendieck, M., & Poppendieck, T. (2007). Implementing Lean software development: From concept to cash. Pearson Education.
Poppendieck, M., & Poppendieck, T. (2003). Lean software development. Boston: Addison-Wesley.
Schwaber, K. (1997). SCRUM development process. Business Object Design and Implementation, 117–134.
Spacco, J., & Pugh, W. (2006). Helping students appreciate test-driven development (TDD). In Companion to the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications—OOPSLA ‘06.
Svitis, C. (2013). Lean software development: Theory validation in terms of cost reduction and quality improvement. Unpublished bachelor’s thesis, University of Gothenburg, Chalmers University of Technology, Göteborg, Sweden.
Swanson, B. (2013). Kanban Pizza Game at Agile Development Conference East 2013. agile42—The Agile Coaching company. Retrieved March 18, 2018, from http://www.agile42.com/en/blog/2013/10/01/kanban-pizza-game-agile-development-conference-east-2013.
Unified Agile & DevOps. (2018). VersionOne. Retrieved March 28, 2018, from https://www.versionone.com.
Waters, K. (2011). Agile Games—ball point game | 101 Ways. 101 Ways Blog. Retrieved March 18, 2018, from https://www.101ways.com/agile-games-ball-point-game/.
What is a Kanban Board?. (2018). LeanKit. Retrieved March 29, 2018, from https://leankit.com/learn/kanban/kanban-board.
Williams, L., Wiebe, E., Yang, K., Ferzli, M., & Miller, C. (2002). In support of pair programming in the introductory computer science course. Computer Science Education, 12(3), 197–212.
Van Til, R. P., Tracey, M. W., Sengupta, S., & Fliedner, G. (2009). Teaching Lean with an interdisciplinary problem-solving learning approach. International Journal of Engineering Education, 25(1), 173.
Yenduri, S., & Perkins, A. (2006). Impact of using test-driven development: A case study. In Proceedings of the International Conference on Software Engineering Research and Practice & Conference on Programming Languages and Compilers, SERP 2006.
Acknowledgements
We would like to thank all the students of B.Sc. (Hons) Software Engineering Level 3 (both normal cohort and mixed-mode), who participated and provided their valuable input for the experiments during the University of Mauritius academic year 2016–2017.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Hurbungs, V., Nagowah, S.D. (2019). A Practical Approach to Teaching Agile Methodologies and Principles at Tertiary Level Using Student-Centred Activities. In: Parsons, D., MacCallum, K. (eds) Agile and Lean Concepts for Teaching and Learning. Springer, Singapore. https://doi.org/10.1007/978-981-13-2751-3_17
Download citation
DOI: https://doi.org/10.1007/978-981-13-2751-3_17
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-2750-6
Online ISBN: 978-981-13-2751-3
eBook Packages: EducationEducation (R0)