Teaching Global Software Engineering by Simulating a Global Project in the Classroom

Teaching Global Software Engineering by Simulating a Global Project in the Classroom

Presentation at SIGCSE 2016 in Memphis, USA

7cbae0b6c3348182a2a6968f52b21b89?s=128

Stephan Krusche

March 03, 2016
Tweet

Transcript

  1. s.krusche@tum.de - www.skrusche.de - @skrusche SIGCSE 2016 Symposium Yang Li,

    Stephan Krusche, Christian Lescher, Bernd Bruegge (March 03, 2016) Teaching Global Software Engineering by Simulating a Global Project in the Classroom
  2. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 2 Dr. Yang Li Dr. Christian Lescher Prof. Bernd Bruegge Stephan Krusche Chair for Applied Software Engineering Technical University of Munich
  3. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom • Global software engineering (GSE) is a key to the success in today’s software industry • GSE has however brought challenges to development teams • Communication and organization across sites becomes
 more difficult when the team size grows • Requirements, architecture and changes to 
 these need to be communicated across sites • Delay is often introduced with distributed 
 work items • Cultural and language problems 
 
 ➡Question: How to equip students in university with GSE knowledge and skills? Culture & Language Employees Requirements Organization Time Management Communication Architecture Success Factors for GSE Projects Source: C. Lescher , R. Lochner [8] Challenges for GSE projects Motivation 3
  4. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 4 Idea: Simulate GSE projects in the class room Project A Project B Project C Project D São Paulo Site Munich Site Mumbai Site
  5. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 5 Classroom Setup Mumbai Munich São Paulo
  6. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 6 Adapted from: http://www.timeanddate.com/time/map/#!cities=233,44,168
  7. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 7 Adapted from: http://www.timeanddate.com/time/map/#!cities=233,44,168
  8. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 8 Adapted from: http://www.timeanddate.com/time/map/#!cities=233,44,168
  9. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 9
  10. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom GSE Exercise Design 10 Scenario 1: Define Responsibilities Scenario 2: MyVoice Pricing Model Scenario 3: Scaling Up Exercise Introduction Retrospective
  11. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom GSE Exercise Introduction • The Project VoiceBox was just initiated with the goal to integrate an existing product, Dropbox, with a new feature, voice control • To gather domain expertise in the new voice control technology, the company recently acquired the supplier company MyVoice in São Paulo • Main development happens in Munich and Mumbai • Munich has rich knowledge about Dropbox features and previous development • The Mumbai team has good coders who are inexperienced with Dropbox 11
  12. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Constraints for the GSE exercise • Employees may not leave their site • Exception: each project has one liaison from the Munich site, 
 who can travel to the other sites and talk to the developers during local business hours • Project teams can select their communication mechanism (phones, Skype, and chat), but employees can respond only during local business hours • Teams document meetings and deliverables in Confluence (Wiki) • Teams can request to get extra hours after usual business hours 12
  13. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 13 Scenario I: Define Responsibilities 10 am Munich 1:30 pm Mumbai 5am São Paulo • At the headquarter in Munich, the team first specifies the requirements • Munich meets with Mumbai to discuss requirements, architecture & responsibilities of each site • Open questions to the São Paulo site are collected for the next scenario z z Z Duration: 20min in reality = 4h in the given scenario
  14. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 14 Scenario II: MyVoice Pricing Model 2 pm Munich 5:30 pm Mumbai 9 am São Paulo • The pricing model of MyVoice is introduced which led to changes in requirements and architecture • The São Paulo site receives the questions and answers them with their expertise right away • Requirements, architecture and responsibilities are refined based on new information about MyVoice Duration: 20min in reality = 4h in the given scenario
  15. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom 15 Scenario III: Scaling Up Duration: 20min in reality = 4h in the given scenario ??am/pm Munich ??am/pm Mumbai ??am/pm São Paulo • The Munich headquarter identified new requirements for VoiceBox to support increasing business • Munich and Mumbai hold a meeting to address the new requirements into the development • They refine requirements, architecture and responsibilities, São Paulo answers questions
  16. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Examples of Exercise Deliverables 16
  17. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Evaluation with Online Questionnaire • About 100 students participated in the GSE exercise in July 10, 2015 • ~ 2/3 were master students (graduates), ~1/3 were bachelor students (undergraduates) • Online Questionnaire to evaluate the learning experience 1 week later • 5 statements about the exercise addressing key challenges with Likert scale answer possibilities (strongly disagree, disagree, neutral, agree, strongly agree) • 56 responses 17
  18. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Finding (1) 18 The exercise addressed the challenge that it is difficult to coordinate time in global projects 0 % 20 % 40 % 60 % 80 % 100 % 2 % 4 % 11 % 50 % 34 % Strongly agree Agree Neutral Disagree Strongly disagree
  19. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Finding (2) 19 The exercise addressed the challenge that there is communication overhead in global projects 0 % 20 % 40 % 60 % 80 % 100 % 2 % 5 % 18 % 52 % 23 % Strongly agree Agree Neutral Disagree Strongly disagree
  20. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Finding (3) 20 The exercise addressed the challenge that there is a lack of informal communication in global projects 0 % 20 % 40 % 60 % 80 % 100 % 2 % 5 % 23 % 43 % 27 % Strongly agree Agree Neutral Disagree Strongly disagree
  21. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Finding (4) 21 The exercise addressed the challenge that it is difficult to communicate changing requirements in global projects 0 % 20 % 40 % 60 % 80 % 100 % 0 % 11 % 23 % 45 % 21 % Strongly agree Agree Neutral Disagree Strongly disagree
  22. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Finding (5) 22 The exercise addressed the challenge that expertise is not shared with relevant stakeholders in global projects 0 % 20 % 40 % 60 % 80 % 100 % 2 % 16 % 18 % 46 % 18 % Strongly agree Agree Neutral Disagree Strongly disagree
  23. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Lessons Learned for the instructors of the exercise • Define the project context precisely • Plan enough time for the exercises and the retrospective • Use multiple projectors, distribute key slides as PDF before class and distribute exercise material on paper • The exercise can be tailored for multiple curriculum designs with different focuses • Privacy is important in industry, but not for the communication tools in the GSE exercise in the classroom 23
  24. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom Conclusion • Simulating GSE exercises in the class room is possible • Anecdotal evidence: Our proposed exercise addresses key GSE challenges • The awareness of student towards GSE increases • Areas to improve in the future: • Precisely define task instructions • Improve time management 24
  25. s.krusche@tum.de - www.skrusche.de - @skrusche Thank You! SIGCSE 2016 Symposium

    Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge (March 03, 2016) Teaching Global Software Engineering by Simulating a Global Project in the Classroom
  26. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom References (1) B. Bruegge and A. Dutoit. Object-Oriented Software Engineering Using UML, Patterns and Java: International Version. Prentice Hall, 3rd edition, 2010. (2) B. Bruegge, A. H. Dutoit, R. Kobylinski, and G. Teubner. Transatlantic project courses in a university environment. In Proceedings of the Seventh Asia-Pacific Software Engineering Conference, APSEC 2000, pages 30–37. IEEE, 2000. (3) B. Bruegge, S. Krusche, and L. Alperowitz. Software engineering project courses with industrial clients. ACM Transactions on Computing Education., 2015. (4) B. Bruegge, S. Krusche, and M. Wagner. Teaching Tornado: from communication models to releases. In Proceedings of the 8th Educators’ Symposium, pages 5–12. ACM, 2012. (5) E. Carmel. Global Software Teams – Collaborating Across Borders and Time Zones. Prentice Hall, 1999. (6) L. Fortaleza, T. Conte, S. Marczak, and R. Prikladnicki. Towards a GSE international teaching network: Mapping Global Software Engineering courses. In Proceedings of Collaborative Teaching of Globally Distributed Software Development Workshop, pages 1–5. IEEE, 2012. (7) P. Gloor, M. Paasivaara, C. Lassenius, D. Schoder, K. Fischbach, and C. Miller. Teaching a global project course: experiences and lessons learned. In Proceedings of the 2011 Community Building Workshop on Collaborative Teaching of Globally Distributed Software Development, pages 1–5. ACM, 2011. 26
  27. Yang Li, Stephan Krusche, Christian Lescher, Bernd Bruegge: Teaching Global

    Software Engineering by Simulating a Global Project in the Classroom References (8) D. J. Hoch, S. K. Lindner, C. R. Roeding, and G. Purkert. Secrets of Software Success: Management Insights from 100 Software Firms around the World. Harvard Business School Press, 1999. (9) S. Krusche and L. Alperowitz. Introduction of Continuous Delivery in Multi-Customer Project Courses. In Companion Proceedings of the 36th ICSE, pages 335–343. IEEE, 2014. (10) S. Krusche, L. Alperowitz, B. Bruegge, and M. Wagner. Rugby: An agile process model based on continuous delivery. In Proceedings of the 1st Workshop on RCoSE, pages 42–50. ACM, 2014. (11) C. Lescher, Y. Li, and B. Bruegge. Teaching global software engineering: Interactive exercises for the classroom. In Proceedings of the IEEE 9th International Conference onGlobal Software Engineering (ICGSE),, pages 163–172. IEEE, 2014. (12) F. Matthes, C. Neubert, C. Schulz, C. Lescher, J. Contreras, R. Laurini, B. Rumpler, D. Sol, and K. Warendorf. Teaching Global Software Engineering and International Project Management: Experiences and Lessons Learned from Four Academic Projects. In Proceedings of the 3rd International Conference on Computer Supported Education (CSEDU), 2011. (13) M. Monasor, A. Vizcaino, M. Piattini, and I. Caballero. Preparing students and engineers for global software development: a systematic review. In 5th IEEE International Conference on Global Software Engineering, pages 177–186. IEEE, 2010. (14) R. Sangwan, M. Bass, N. Mullick, D. J. Paulish, and J. Kazmeier. Global Software Development Handbook. Auerbach Publications, 2006. 27