Skip to main content

Teaching and Fostering Reflection in Software Engineering Project Courses

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

Abstract

Reflection is an important part of agile software processes as witnessed, e.g., by the Sprint Retrospectives in Scrum or by the various learning feedback loops in XP. Engineering education also emphasizes the importance of reflective practice, e.g., in Kolb’s learning cycle and Schön’s reflection-in/on-action. Our contribution in this chapter is a toolkit for reflective practice that shows how reflection can be used by software engineering students for two purposes: to reflect on the application of a software process and to reflect on their learning process. In order to help students understand the purpose of reflection and how to approach reflection, we follow a cognitive apprenticeship approach in which the teachers reflect about the events in the course, their own goals, and how they are aligned with the teaching. Students are asked to reflect during supervisions and as part of their written assignments from the very beginning of the course. We thus combine a meta-cognitive approach where reflection is taught as a learning strategy with a common software engineering practice of continuous improvement through reflection. We evaluate the reflective model and a course design based on it through the student, teacher, and theoretical lenses based on empirical data.

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

References

  • Anderson, L., Krathwohl, D., & Bloom, B. (2001). A taxonomy for learning, teaching, and assessing: A revision of Bloom’s taxonomy of educational objectives. Longman.

    Google Scholar 

  • Babb, J., Hoda, R., & Nørbjerg, J. (2014, July). Embedding reflection and learning into agile software development. IEEE Software, 31(4), 51–57. https://doi.org/10.1109/MS.2014.54.

    Article  Google Scholar 

  • Basili, V. R. (1993). The experience factory and its relationship to other improvement paradigms. In European Software Engineering Conference (pp. 68–83). Springer.

    Google Scholar 

  • Basili, V. R., & Caldiera, G. (1995). Improve software quality by reusing knowledge and experience. MIT Sloan Management Review, 37(1), 55.

    Google Scholar 

  • Biggs, J. (1996). Enhancing teaching through constructive alignment. Higher Education, 32(3), 347–364.

    Article  Google Scholar 

  • Bourque, P., Fairley, R. E., et al. (2014). Guide to the software engineering body of knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press.

    Google Scholar 

  • Brookfield, S. (1995). Becoming a critically reflective teacher. San Francisco: Jossey-Bass.

    Google Scholar 

  • Brown, J. S., Collins, A., & Duguid, P. (1989). Situated cognition and the culture of learning. Educational Researcher, 18(1), 32–42.

    Article  Google Scholar 

  • Bull, C., & Whittle, J. (2014, July). Supporting reflective practice in software engineering education through a studio-based approach. IEEE Software, 31(4), 44–50.

    Article  Google Scholar 

  • Burden, H. (2017). DAT255 Software Engineering Project, HT2014. Retrieved March 29, 2018, from https://github.com/hburden/DAT255/tree/ht2014.

  • CMMI Product Team. (2010). CMMI for development, version 1.3 (tech. rep. No. CMU/SEI-2010-TR-033). Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  • Dingsøyr, T. (2005). Postmortem reviews: Purpose and approaches in software engineering. Information and Software Technology, 47(5), 293–303.

    Article  Google Scholar 

  • Dingsøyr, T., Moe, N., Schalken, J., & Stålhane, T. (2007). Organizational learning through project postmortem reviews—An explorative case study. Software Process Improvement, 136–147.

    Google Scholar 

  • Dresch, A., Lacerda, D. P., & Antunes, J. A. V. (2014). Design science research: A method for science and technology advancement. Springer Publishing Company, Incorporated.

    Google Scholar 

  • Edström, K. (2008). Doing course evaluation as if learning matters most. Higher Education Research & Development, 27(2), 95–106. https://doi.org/10.1080/07294360701805234. eprint: http://dx.doi.org/10.1080/07294360701805234.

    Article  Google Scholar 

  • Edwards, S. H. (2004). Using software testing to move students from trial-and error to reflection-in-action. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, SIGCSE ’04 (pp. 26–30). Norfolk, Virginia, USA: ACM. https://doi.org/10.1145/971300.971312.

  • Elmgren, M., & Henriksson, A. (2010). Universitetspedagogik. Norstedts.

    Google Scholar 

  • Freire, P. (2000). Pedagogy of the oppressed: 30th anniversary edition. Bloomsbury Academic.

    Google Scholar 

  • Gunn, C. L. (2010). Exploring MATESOL student ‘resistance’ to reflection. Language Teaching Research, 14(2), 208–223.

    Article  Google Scholar 

  • Hazzan, O. (2002). The reflective practitioner perspective in software engineering education. Journal of Systems and Software, 63(3), 161–171.

    Article  Google Scholar 

  • Hazzan, O., & Tomayko, J. E. (2004, March). Reflection processes in the teaching and learning of human aspects of software engineering. In 17th Conference on Software Engineering Education And Training, 2004. Proceedings (pp. 32–38). https://doi.org/10.1109/CSEE.2004.1276507.

  • Huber, G. P. (1996). Organizational learning: A guide for executives in technology-critical organizations. International Journal of Technology Management, 11(7–8), 821–832.

    Google Scholar 

  • Jørgensen, M., & Gruschke, T. M. (2009). May). The impact of lessons-learned sessions on effort estimation and uncertainty assessments. IEEE Transactions on Software Engineering, 35(3), 368–383. https://doi.org/10.1109/TSE.2009.2.

    Article  Google Scholar 

  • Kniberg, H., & Cockburn, A. (2013). Elephant Carpaccio exercise. Retrieved October 30, 2017, from https://docs.google.com/document/d/1TCuuu8Mm14oxsOnlk8DqfZAA1cvtYu9WGv67YjsSk/pub.

  • Kolb, D. A. (2014). Experiential learning: Experience as the source of learning and development (2nd ed.). FT Press.

    Google Scholar 

  • Loughran, J. J. (2002). Effective reflective practice in search of meaning in learning about teaching. Journal of Teacher Education, 53(1), 33–43.

    Article  Google Scholar 

  • Lyons, N. (Ed.). (2010). Handbook of reflection and reflective inquiry—Mapping a way of knowing for professional reflective inquiry. New York, NY: Springer.

    Google Scholar 

  • Maham, M. (2008, August). Planning and facilitating release retrospectives. In Agile 2008 Conference (pp. 176–180). https://doi.org/10.1109/Agile.2008.60.

  • Mann, S. (2005, July). The language teacher’s development. Language Teaching, 38, 103–118.

    Article  Google Scholar 

  • Mathiassen, L., & Purao, S. (2002). Educating reflective systems developers. Information Systems Journal, 12(2), 81–102.

    Article  Google Scholar 

  • Mayer, I. S., Carton, L., de Jong, M., Leijten, M., & Dammers, E. (2004). Gaming the future of an urban network. Futures, 36(3), 311–333.

    Article  Google Scholar 

  • Pettersson, F., Ivarsson, M., Gorschek, T., & öhman, P. (2008, June). A practitioner’s guide to light weight software process assessment and improvement planning. Journal of Systems and Software, 81(6), 972–995. https://doi.org/10.1016/j.jss.2007.08.032.

    Article  Google Scholar 

  • Rother, M. (2017). Kata to grow–A simple, free exercise to help teach scientific thinking [online]. Retrieved October 30, 2017, from https://www.katatogrow.com/.

  • Schön, D. A. (1983). The reflective practitioner: How professionals think in action. Harper torchbooks. Basic Books.

    Google Scholar 

  • Sein, M. K., Henfridsson, O., Purao, S., Rossi, M., & Lindgren, R. (2011). Action design research. MIS Quarterly, 35(1), 37–56. Retrieved from http://www.jstor.org/stable/23043488.

    Article  Google Scholar 

  • Shkedi, A. (2000). Educating reflective teachers for teaching culturally valued subjects: Evaluation of a teacher-training project. Evaluation & Research in Education, 14(2), 94–110.

    Article  Google Scholar 

  • Smith, R. A. (2001). Formative evaluation and the scholarship of teaching and learning. New Directions for Teaching and Learning, 2001(88), 51–62.

    Article  Google Scholar 

  • Steghöfer, J.-P., Burden, H., Alahyari, H., & Haneberg, D. (2017). No silver brick: Opportunities and limitations of teaching Scrum with Lego workshops. Journal of Systems and Software, 131, 230–247.

    Article  Google Scholar 

  • Steghöfer, J.-P., Knauss, E., Alégroth, E., Hammouda, I., Burden, H., & Ericsson, M. (2016, May). Teaching agile—Addressing the Conflict between project delivery and application of agile. In Software Engineering Education and Training Track, the 38th International Conference on Software Engineering, Austin, TX.

    Google Scholar 

  • Tomal, D. R. (2010). Action research for educators. Rowman & Littlefield Publishers.

    Google Scholar 

  • Turns, J., Sattler, B., Yasuhara, K., Borgford-Parnell, J., & Atman, C. J. (2014). Integrating reflection into engineering education. In Proceedings of the ASEE Annual Conference and Exposition. ACM.

    Google Scholar 

  • Villalón, J. A. C.-M., Agustín, G. C., Gilabert, T. S. F., Seco, A. D. A., Sánchez, L. G., & Cota, M. P. (2002). Experiences in the application of software process improvement in SMES. Software Quality Journal, 10(3), 261–273.

    Article  Google Scholar 

  • Wang, A. I., & Stalhane, T. (2005, April). Using post mortem analysis to evaluate software architecture student projects. In 18th Conference on Software Engineering Education Training (CSEET’05) (pp. 43–50). https://doi.org/10.1109/CSEET.2005.42.

  • Wenger, E. (1998). Communities of practice: Learning, meaning, and identity. Cambridge University Press.

    Google Scholar 

  • Williams, L., & Cockburn, A. (2003, June). Agile software development: It’s about feedback and change. Computer, 36(6), 39–43. https://doi.org/10.1109/MC.2003.1204373.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Håkan Burden or Jan-Philipp Steghöfer .

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

Burden, H., Steghöfer, JP. (2019). Teaching and Fostering Reflection in Software Engineering Project Courses. 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_12

Download citation

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

  • 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