Controlled Experiments as Means to Teach Soft Skills in Software Engineering

The job profile of a Software Engineer not only includes so-called “hard-skills” (e.g. specifying, programming, or building architectures) but also “soft skills” like awareness of team effects and similar human factors. These skills are typically hard to teach in classrooms, and current education, hence, mostly focuses on hard rather than soft skills. Yet, since software development is becoming more and more spread across different sites in a globally distributed manner, the importance of soft skills increases rapidly. However, there are only a few practical guides to teach such tacit knowledge to Software Engineering students. In this chapter, the authors describe an approach that combines theoretical lectures, practical experiments, and discussion sessions to fill this gap. They describe the processes of creating, planning, executing, and evaluating these sessions, so that soft skill topics can be taught in a university course. The authors present two example implementations of the approach. The first implementation lets students experience and reflect on group dynamics and team-internal effects in a project situation. The second implementation enables students to understand the challenges of a distributed software development setting. With this knowledge, the authors critically discuss the contribution of experimentation to university teaching. Marco Kuhrmann Technische Universität München, Germany Henning Femmer Technische Universität München, Germany Jonas Eckhardt Technische Universität München, Germany DOI: 10.4018/978-1-4666-5800-4.ch010

[1]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[2]  Bin Guo,et al.  Project-Driven Teaching Model for Software Project Management Course , 2008, 2008 International Conference on Computer Science and Software Engineering.

[3]  Kin Wai Michael Siu,et al.  Problems and Possibilities to Enhance Non-Local Work-Integrated Learning Experience for Postgraduate Design Research , 2014, Int. J. Qual. Assur. Eng. Technol. Educ..

[4]  Gabriele Bavota,et al.  Teaching software engineering and software project management: An integrated and practical approach , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[5]  Raghvinder S. Sangwan,et al.  Global software development handbook , 2006 .

[6]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[7]  Jürgen Münch,et al.  Teaching software process modeling , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[8]  Deepak Dahiya,et al.  Teaching software engineering: a practical approach , 2010, SOEN.

[9]  Dietmar Pfahl,et al.  Virtual Software Engineering Laboratories in Support of Trade-off Analyses , 2005, Software Quality Journal.

[10]  Adam Steele,et al.  Simulating Global Software Development in a Course Environment , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[11]  B. Tuckman DEVELOPMENTAL SEQUENCE IN SMALL GROUPS. , 1965, Psychological bulletin.

[12]  Jaideep Chandran,et al.  Technology Adoption in Engineering Design for Distance Education , 2014, Int. J. Qual. Assur. Eng. Technol. Educ..

[13]  Marco Kuhrmann A Practical Approach to Align Research with Master's Level Courses , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[14]  Erik Kamsties,et al.  An Empirical Evaluation of Three Defect-Detection Techniques , 1995, ESEC.

[15]  P. Mandl-Striegnitz How to successfully use software project simulation for educating software project managers , 2001, 31st Annual Frontiers in Education Conference. Impact on Engineering and Science Education. Conference Proceedings (Cat. No.01CH37193).

[16]  Bernhard Rumpe,et al.  GloSE-Lab: Teaching Global Software Engineering , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering.

[17]  Casper Lassenius,et al.  Fear and distrust in global software engineering projects , 2012, J. Softw. Maintenance Res. Pract..

[18]  Allen E. Milewski,et al.  Distributed development: an education perspective on the global studio project , 2006, ICSE '06.

[19]  Watts S. Humphrey,et al.  Teaching disciplined software development , 2008, J. Syst. Softw..

[20]  Karl Brian Nielsen,et al.  Teaching Lean Thinking Through Game: Some Challenges , 2008 .

[21]  Wilson Padua,et al.  Measuring complexity, effectiveness and efficiency in software course projects , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.