Software Process

6 EC

Semester 2, period 4

5364SOPR6Y

Owner Master Software Engineering
Coordinator H.L. Dekkers
Part of Master Software Engineering, year 1

Course manual 2024/2025

Course content

Developing large scale software systems is challenging for many reasons. We work from a set of requirements that are ambiguous and incomplete, may be invalid and are subject to change. It’s hard to determine the quality and doneness of (intermediate) deliverables like designs, plans and code. We have to coordinate up to 1.000 software engineers with imperfect mechanisms for separation of concerns.

To be able to understand reasons for software project failure we study failed projects. We learn about organizational control mechanisms and look at theory from social sciences notably motivation, empowerment, effective teams and coordination strategies. Last but not least we look at what we can learn from the quality community: Lean, CMMi, TQM, Kaizen.

We will also examine evidence about the practices we apply in software engineering, like test first, pair programming, software architecture.

Study materials

Literature

  • 1. Abrahamsson, Pekka & Salo, Outi & Ronkainen, Jussi & Warsta, Juhani. (2002). Agile Software Development Methods: Review and Analysis. Proc. Espoo 2002. 3-107  3.1 XP  3.2 Scrum   3.5 RUP  3.8 Open Source  30 pages
    2. PReiff, Janine and Schlegel, Dennis (2022) Hybrid project management – a systematic literature review, International Journal of Information Systems and Project Management: Vol. 10: No. 2, Article 4. Available at: https://aisel.aisnet.org/ijispm/vol10/iss2/4Links to an external site.
    3. The Leprechauns of Software Engineering  by Laurent Bossavit 2013 ch 10 - dost of defects 68-82 Estimated read time 10 minutes
    4. Cost of software quality, https://www.it-cisq.org/wp-content/uploads/sites/6/2022/11/CPSQ-Report-Nov-22-2.pdf  61 pages - but you don't need to read all of these. Just get a good sense of what it is about, and spent some time in most relevant sections, 
    5. Organizational theory: From classical sociology to the 1970s Heather A. Haveman, Rachel Wetts, First published: 04 September 2018. 10 pages
    6. Contemporary organizational theory: The demographic, relational, and cultural perspectives, Heather A. Haveman, Rachel Wetts First published: 15 February 2019m 12 pages
    7. Change the way of working. Ways into self-organization with the use of Holacracy: An empirical investigation Sabrina Schell, Nicole Bischof First published: 03 May 2021, 13 pages
    8. The establishment and maintenance of dominance hierarchies Elizabeth A. Tibbetts, Juanita Pardo-Sanchez and Chloe Weise, Published:10 January 2022
    9. Teamwork doesn’t just happen: Policy recommendations from over half a century of team research Gudela Grote and Steve W. J. KozlowskiView all authors and affiliations, Volume 9, Issue 1, First published online October 5, 2023
    10.  Comparing Methods for Large-Scale Agile Software Development: A Systematic Literature Review,  H. Edison, X. Wang and K. Conboy, IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 2709-2731,  1 Aug. 2022, 
    11. McAuliffe, K., Blake, P., Steinbeis, N. et al. The developmental foundations of human fairness. Nat Hum Behav 1, 0042 (2017). https://doi.org/10.1038/s41562-016-0042Links to an external site.
    12. Intrinsic and extrinsic motivation from a self-determination theory perspective: Definitions, theory, practices, and future directions (Ryan, Deci, 2020)
    13. Social Exchange Theory: A Critical Review with Theoretical Remedies. Russell Cropanzano, Erica L. Anthony, Shanna R. Daniels and Alison V. Hall. Published Online:13 Oct 2016https://doi.org/10.5465/annals.2015.0099Links to an external site.
    14. Interview with Werner Vogels CTO Amazon: https://queue.acm.org/detail.cfm?id=3434573Links to an external site.
    15. https://insights.sei.cmu.edu/blog/tactics-and-patterns-for-software-robustness/Links to an external site.

Objectives

  • Understanding the dynamics of realizing software solutions in a business or government context
  • Understanding the choices you can make to successfully create and deliver a software system
  • An introduction to empirical research to software engineering

Teaching methods

  • Lecture
  • Seminar
  • Presentation/symposium
  • Self-study
  • Supervision/feedback meeting

Lectures are to present and discuss different theories and provide overview. Cases are discussed to set the scene and see how theory applies.

Lectures are in part setup as group dialogue aimed to make students think. Lecture notes provide a more structured discussion of what was treated in the lecture.

Students sit with a lecturer at least once a week in a small group to discuss work. There are two individual feedback sessions throughout the course.

Students need to present their work frequently to their peers and to the group.

From peer reviews and presentations students learn from topics worked on by their peers

The main work is read, read, read and put that in perspective. For motivation and insprartion and to help make sense of all the materials students sit with other students, write up their findings and present it.  

Learning activities

Activity

Number of hours

Zelfstudie

96

Lecture

21

Peer review

8

Feedback sessions

10

Presentations

1

Exam

2

Groupwork

30

 

Attendance

Requirements concerning attendance (TER-B).

  • Participation in practical exercises, tutorials and study group sessions is obligatory. Detailed rules are laid out in the study guide and/or the course catalogue for each unit of study.
  • Assessment

    Item and weight Details

    Final grade

    0.3 (30%)

    Tentamen

    Mandatory

    0.4 (40%)

    Deep Dive

    Mandatory

    0.3 (30%)

    Case

    Mandatory

    Inspection of assessed work

    Contact the course coordinator to make an appointment for inspection.

    Assignments

    Deep Dive

    • Students can select topics to do a deep dive, 12 broad topics are  predefined. Based on there preferences  a total of eight groups are working on eight topics. Students need to read at least eight sources.

       

      Students learn about the other topics by doing peer reviews, and because of the final presentation.

       

      Every week a workshop with mentor is done about the topic. Every student gets two individual feedback sessions with a tutor.

       

      In the final week the students integrate their work and create a final report which they present to all students.

    Case

    • Students can analyze a failed case or design the case Open Government. Aim is to get an understanding of real world projects, how these are setup (design and organisation), what makes these challenging and apply insights obtained from the lectures and readings.

    Fraud and plagiarism

    The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

    Course structure

    Weeknummer Onderwerpen Studiestof
    1 deep dive Identify sources, read one key source
    2 deep dive peer review, read five sources, outline for final report
    3 deep dive, mandatory readings

    peer review, read three sources

    1. Abrahamsson, Pekka & Salo, Outi & Ronkainen, Jussi & Warsta, Juhani. (2002). Agile Software Development Methods: Review and Analysis. Proc. Espoo 2002. 3-107  3.1 XP  3.2 Scrum   3.5 RUP  3.8 Open Source  30 pages
    2. PReiff, Janine and Schlegel, Dennis (2022) Hybrid project management – a systematic literature review, International Journal of Information Systems and Project Management: Vol. 10: No. 2, Article 4. Available at: https://aisel.aisnet.org/ijispm/vol10/iss2/4Links to an external site.

    4 deep dive (integrate per topic), mandatory readings 3. The Leprechauns of Software Engineering  by Laurent Bossavit 2013 ch 10 - dost of defects 68-82 Estimated read time 10 minutes
    4. Cost of software quality, https://www.it-cisq.org/wp-content/uploads/sites/6/2022/11/CPSQ-Report-Nov-22-2.pdf  61 pages - but you don't need to read all of these. Just get a good sense of what it is about, and spent some time in most relevant sections, 
    5. Organizational theory: From classical sociology to the 1970s Heather A. Haveman, Rachel Wetts, First published: 04 September 2018. 10 pages
    6. Contemporary organizational theory: The demographic, relational, and cultural perspectives, Heather A. Haveman, Rachel Wetts First published: 15 February 2019m 12 pages
    7. Change the way of working. Ways into self-organization with the use of Holacracy: An empirical investigation Sabrina Schell, Nicole Bischof First published: 03 May 2021, 13 pages
    5 case, mandatory readings 8. The establishment and maintenance of dominance hierarchies Elizabeth A. Tibbetts, Juanita Pardo-Sanchez and Chloe Weise, Published:10 January 2022
    9. Teamwork doesn’t just happen: Policy recommendations from over half a century of team research Gudela Grote and Steve W. J. KozlowskiView all authors and affiliations, Volume 9, Issue 1, First published online October 5, 2023
    10.  Comparing Methods for Large-Scale Agile Software Development: A Systematic Literature Review,  H. Edison, X. Wang and K. Conboy, IEEE Transactions on Software Engineering, vol. 48, no. 8, pp. 2709-2731,  1 Aug. 2022, 
    6 case, mandatory readings 11. McAuliffe, K., Blake, P., Steinbeis, N. et al. The developmental foundations of human fairness. Nat Hum Behav 1, 0042 (2017). https://doi.org/10.1038/s41562-016-0042Links to an external site.
    12. Intrinsic and extrinsic motivation from a self-determination theory perspective: Definitions, theory, practices, and future directions (Ryan, Deci, 2020)
    13. Social Exchange Theory: A Critical Review with Theoretical Remedies. Russell Cropanzano, Erica L. Anthony, Shanna R. Daniels and Alison V. Hall. Published Online:13 Oct 2016https://doi.org/10.5465/annals.2015.0099Links to an external site.
    14. Interview with Werner Vogels CTO Amazon: https://queue.acm.org/detail.cfm?id=3434573Links to an external site.
    15. https://insights.sei.cmu.edu/blog/tactics-and-patterns-for-software-robustness/Links to an external site.
    7 case, prepare for exam Superset of exam questions
    8 case, exam  

    Additional information

    Recommended prior knowledge: Knowledge of software methods like Rup, Scrum, Xp and software practices like pair programming, test first. Experience with working in big projects.

    Contact information

    Coordinator

    • H.L. Dekkers

    Staff

    • M.E. Janeczko
    • Maarten Nooter