Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Stephan Krusche

March 03, 2016
Tweet

More Decks by Stephan Krusche

Other Decks in Research

Transcript

  1. [email protected] - 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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  25. [email protected] - 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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide