Abstract
Besides professional programmers, many “end-user programmers” write code in their daily life. Given that so much of end-user-created software suffers from quality problems, Software Engineering (SE) is no longer solely applicable to the professional context: a clear computational processing can be useful in everyday life. While the expansion of programming skills acquisition initiatives in K-12 (i.e., primary and secondary schools) has contributed to improving learners’ coding ability, there have not been many studies devoted to the teaching/learning of SE concepts. In this chapter, we focus on understanding how it is possible to bring the benefits of Agile techniques inside the classroom. Moreover, our goal is to show how each selected practice (such as user stories and pair programming) can be leveraged or adapted to the educational context; to this end, tools already adopted in schools are considered as possible substitutes of professional ones.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Alégroth, E., Burden, H., Ericsson, M., Hammouda, I., Knauss, E., & Steghöfer, J.-P. (2015). Teaching scrum—What we did, what we will do and what impedes us. Proceedings of XP, 212, 361.
Astrachan, O., Duvall, R. C., & Wallingford, E. (2001). Bringing extreme programming to the classroom. In XP Universe (Vol. 2001).
Baird, S. (2002). Extreme programming practices in action. Pearson Education, Informit. Retrieved from http://www.informit.com/articles/article.aspx?p=30187.
Barkley, E. F., Cross, K. P., & Major, C. H. (2014). Collaborative learning techniques: A handbook for college faculty. Wiley.
Beck, K. (2000). Extreme programming explained: Embrace change. Addison-Wesley Professional.
Burnett, M. (2009). What is end-user software engineering and why does it matter? In International Symposium on End User Development (pp. 15–28).
Burnett, M. M., & Myers, B. A. (2014). Future of end-user software engineering: Beyond the silos. In Proceedings of the on Future of Software Engineering (pp. 201–211).
Buxton, B. (2010). Sketching user experiences: Getting the design right and the right design. Morgan Kaufmann.
Cardinal, M. (2013). Executable specifications with scrum: A practical guide to agile requirements discovery. Addison-Wesley.
Chimalakonda, S., & Nori, K. V. (2013). What makes it hard to teach software engineering to end users? Some directions from adaptive and personalized learning. In 2013 IEEE 26th Conference on Software Engineering Education and Training (CSEE&T) (pp. 324–328).
Cohn, M. (2005). Agile estimating and planning. Pearson Education.
Costabile, M. F., Mussio, P., Parasiliti Provenza, L., & Piccinno, A. (2008). End users as unwitting software developers. In Proceedings of the 4th International Workshop on End-User Software Engineering (pp. 6–10). New York, NY, USA: ACM.
Di Bella, E., Fronza, I., Phaphoom, N., Sillitti, A., Succi, G., & Vlasenko, J. (2013). Pair programming and software defects—A large, industrial case study. IEEE Transactions on Software Engineering, 39(7), 930–953.
Dingsyr, T., Nerur, S., Balijepally, V., & Moe, N. B. (2012). A decade of agile methodologies: Towards explaining agile software development. Journal of Systems and Software, 85(6), 1213–1221 (Special Issue: Agile Development).
Fang, X. (2001). Using a coding standard to improve program quality. In Proceedings of the Second Asia-Pacific Conference on Quality Software, 2001 (pp. 73–78).
Fronza, I., El Ioini, N., Janes, A., Sillitti, A., Succi, G., & Corral, L. (2014). If I had to vote on this laboratory, I would give nine: Introduction on computational thinking in the lower secondary school: Results of the experience. Mondo Digitale, 13(51), 757–765.
Fronza, I., El Ioini, N., & Corral, L. (2015a). Students want to create apps: Leveraging computational thinking to teach mobile software development. In Proceedings of the 16th Annual Conference on Information Technology Education (pp. 21–26).
Fronza, I., El Ioini, N., & Corral, L. (2015b). Students want to create apps: Leveraging computational thinking to teach mobile software development. In Proceedings of the 16th Annual Conference on Information Technology Education (pp. 21–26). New York, NY, USA: ACM.
Fronza, I., El Ioini, N., & Corral, L. (2016a). Blending mobile programming and liberal education in a social-economic high school. In International Conference on Mobile Software Engineering and Systems, MOBILEsoft 2016 (pp. 123–126).
Fronza, I., El Ioini, N., & Corral, L. (2016b). Computational thinking through mobile programming. In International Conference on Mobile Web and Information Systems (pp. 67–80).
Fronza, I., El Ioini, N., & Corral, L. (2016c). Teaching software design engineering across the K-12 curriculum: Using visual thinking and computational thinking. In Proceedings of the 17th Annual Conference on Information Technology Education (pp. 97–101).
Fronza, I., Ioini, N. E., & Corral, L. (2017). Teaching computational thinking using agile software engineering methods: A framework for middle schools. ACM Transactions on Computing Education (TOCE), 17(4), 19.
Fronza, I., & Succi, G. (2009). Modeling spontaneous pair programming when new developers join a team. In Proceedings of the 10th International Conference on Agile Processes and Extreme Programming in Software Engineering (XP2009), Pula, Italy, May 2009.
Gross, P. A., Herstand, M. S., Hodges, J. W., & Kelleher, C. L. (2010). A code reuse interface for non-programmer middle school students. In Proceedings of the 15th International Conference on Intelligent User Interfaces (pp. 219–228).
Kastl, P., Kiesmüller, U., & Romeike, R. (2016). Starting out with projects: Experiences with agile software development in high schools. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education (pp. 60–65). New York, NY, USA: ACM.
Krajcik, J. S., & Blumenfeld, P. C. (2006). Project-based learning.
Kropp, M., & Meier, A. (2013). Teaching agile software development at university level: Values, management, and craftsmanship. In 2013 IEEE 26th Conference on Software Engineering Education and Training (CSEE&T) (pp. 179–188).
Lottero-Perdue, P. S., & Parry, E. A. (2017). Perspectives on failure in the classroom by elementary teachers new to teaching engineering. Journal of Pre-College Engineering Education Research (J-PEER), 7(1), 4.
Mahnic, V. (2012). A capstone course on agile software development using scrum. IEEE Transactions on Education, 55(1), 99–106.
Meerbaum-Salant, O., & Hazzan, O. (2010). An agile constructionist mentoring methodology for software projects in the high school. ACM Transactions on Computing Education, 9(4), n4.
Mikre, F. (2010). The roles of assessment in curriculum practice and enhancement of learning. Ethiopian Journal of Education and Sciences, 5(2).
Monteiro, I. T., de Castro Salgado, L. C., Mota, M. P., Sampaio, A. L., & de Souza, C. S. (2017). Signifying software engineering to computational thinking learners with AgentSheets and polifacets. Journal of Visual Languages & Computing, 40, 91–112.
Moye, J. J., Dugger, W. E., Jr., & Starkweather, K. N. (2014). “Learn by doing” research: Introduction. Technology and Engineering Teacher, 74(1), 24–27.
Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing. Wiley.
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 (pp. 382–391). New York, NY, USA: ACM.
Price, S., Rogers, Y., Scaife, M., Stanton, D., & Neale, H. (2003). Using tangibles to promote novel forms of playful learning. Interacting with Computers, 15(2), 169–185.
Romeike, R., & Göttel, T. (2012). Agile projects in high school computing education: Emphasizing a learners’ perspective. In Proceedings of the 7th Workshop in Primary and Secondary Computing Education (pp. 48–57). New York, NY, USA: ACM.
Steghöfer, J.-P., Knauss, E., Alégroth, E., Hammouda, I., Burden, H., & Ericsson, M. (2016). Teaching agile: Addressing the conflict between project delivery and application of agile methods. In Proceedings of the 38th International Conference on Software Engineering Companion (pp. 303–312).
Stewart, G. (2014). Promoting and managing effective collaborative group work. Belfast Education and Library Board. Retrieved from http://www.belb.org.uk/Downloads/iepdpromotingandmanagingcollaborativegroupworkmay14.pdf.
Stewart, J. C., DeCusatis, C. S., Kidder, K., Massi, J. R., & Anne, K. M. (2009). Evaluating agile principles in active and cooperative learning. In Proceedings of Student-Faculty Research Day, CSIS, Pace University.
Thagard, P. (1996). Cognitive science.
Traynor, B. (2012). Rapid paper prototyping: 100 design sketches in 10 minutes, 18 designs presented, 6 prototypes tested, student engagement-priceless! In 2012 IEEE International Conference on Professional Communication Conference (IPCC) (pp. 1–5).
Umarji, M., Pohl, M., Seaman, C., Koru, A. G., & Liu, H. (2008). Teaching software engineering to end-users. In Proceedings of the 4th International Workshop on End-User Software Engineering (pp. 40–42).
van der Lelie, C. (2006, April 01). The value of storyboards in the product design process. Personal and Ubiquitous Computing, 10(2), 159–162.
Van Emden, E., & Moonen, L. (2002). Java quality assurance by detecting code smells. In Ninth Working Conference on Reverse Engineering, 2002. Proceedings (pp. 97–106).
Walny, J., Carpendale, S., Riche, N. H., Venolia, G., & Fawcett, P. (2011). Visual thinking in action: Visualizations as used on whiteboards. IEEE Transactions on Visualization and Computer Graphics, 17(12), 2508–2517.
Williams, L., & Kessler, R. (2002). Pair programming illuminated. Addison-Wesley.
Ye, Y., & Fischer, G. (2007). Designing for participation in socio-technical software systems. Universal Access in Human Computer Interaction. Coping with Diversity (pp. 312–321). Longman Publishing Co., Inc.
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
Fronza, I., El Ioini, N., Pahl, C., Corral, L. (2019). Bringing the Benefits of Agile Techniques Inside the Classroom: A Practical Guide. 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_7
Download citation
DOI: https://doi.org/10.1007/978-981-13-2751-3_7
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-2750-6
Online ISBN: 978-981-13-2751-3
eBook Packages: EducationEducation (R0)