Skip to main content

Applying Lean Learning to Software Engineering Education

  • Chapter
  • First Online:
Agile and Lean Concepts for Teaching and Learning

Abstract

In this chapter, we describe the ways that we have applied lean and agile techniques to teaching software engineering at Imperial College London. We give details of the structure and evolution of our programme, which is centred on the tools, techniques and issues that feature in the everyday life of a professional software developer working in a modern team. We also show how aligning our teaching methods with the principles of lean software delivery has enabled us to provide sustained high-quality learning experiences. We examine two different types of course in detail: first, a ‘traditional’ lecture course, where we transformed the way that course is taught and assessed, aiming to create tighter feedback loops, and second a project-based course where we ask students to put agile methods into practice themselves, working in teams to build a substantial software system over a number of months. We describe concretely how we run and structure these courses to set up effective learning experiences.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://about.gitlab.com/.

  2. 2.

    https://gradle.org.

References

  • Anderson, D. (2010). Kanban: Successful evolutionary change for your technology business. Blue Hole Press.

    Google Scholar 

  • 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 (pp. 500–505).

    Google Scholar 

  • Duvall, P., Matyas, S. M., & Glover, A. (2007). Continuous integration: Improving software quality and reducing risk. Addison Wesley.

    Google Scholar 

  • Fowler, M. (2011, July). Frequency reduces difficulty [online]. Retrieved from http://martinfowler.com/bliki/FrequencyReducesDifficulty.html.

  • Gamma, E., Helm, R., Johnson, R., & Glissades, J. (1995). Design patterns: Elements of reusable object-oriented software. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc.

    Google Scholar 

  • Guzdial, M. (2015). Learner-centered design of computing education: Research on computing for everyone. Morgan & Claypool Publishers.

    Google Scholar 

  • Jones, B., Sodhi, R., Murdock, M., Mehra, R., Benko, H., Wilson, A., & Shapira, L. (2014). Roomalive: Magical experiences enabled by scalable, adaptive projector-camera units. In Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology (pp. 637–644). New York, NY, USA: ACM. https://doi.org/10.1145/2642918.2647383.

  • Kniberg, H. (2014, March). Spotify engineering culture [online]. Retrieved from https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/.

  • Kropp, M., & Meier, A. (2014). New sustainable teaching approaches in software engineering education. In 2014 IEEE Global Engineering Education Conference (EDUCON) (pp. 1019–1022).

    Google Scholar 

  • Ottinger, T. (2015). Over-starting and under-finishing [online]. Retrieved October 4, 2016, from https://www.industriallogic.com/blog/over-starting-and-under-finishing/.

  • Papatheocharous, E., & Andreou, A. S. (2014). Empirical evidence and state of practice of software agile teams. Journal of Software: Evolution and Process, 26(9), 855–866. https://doi.org/10.1002/smr.1664.

    Article  Google Scholar 

  • Rother, M., Shook, J., & Institute, L. E. (2003). Learning to see: Value stream mapping to add value and eliminate muda. Productivity Press.

    Google Scholar 

  • Williams, L., & Upchurch, R. L. (2001). In support of student pair-programming. In Proceedings of the Thirty-Second SIGCSE Technical Symposium on Computer Science Education (pp. 327–331). New York, NY, USA: ACM. https://doi.org/10.1145/364447.364614.

Download references

Acknowledgements

We would like to acknowledge colleagues and students at Imperial College London for their contributions to the evolution of our curriculum.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Chatley .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Chatley, R. (2019). Applying Lean Learning to Software Engineering Education. 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_14

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-2751-3_14

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-2750-6

  • Online ISBN: 978-981-13-2751-3

  • eBook Packages: EducationEducation (R0)

Publish with us

Policies and ethics