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 2023/2024

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

Objectives

  • Get insight in what makes it hard to engineer software systems
  • Knowledge of how to organize software development
  • Research claims about how to organize software development

Teaching methods

  • Lecture
  • 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. 

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.4 (40%)

    Exam

    0.2 (20%)

    Deep Dive

    0.2 (20%)

    Failed Case

    0.2 (20%)

    Open Gov

    Inspection of assessed work

    Contact the course coordinator to make an appointment for inspection.

    Assignments

    Deep Dive

    • Literature study in a group. Topic selected from a list of topics each shortly elaborated

    Failed Case

    • Research a well documented failed case. Understand the challenge, understand the project setup and understand the failure. What would have prevented the failure? How does theory apply?  

    Open Gov

    • Make a game plan for the real world project: Open Government to publish all sorts of Government data. What are the key decisions. Clarify trade offs. Model the solution. Understand relation between design and organization.  

    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 (4hrs), Mandatory Readings 1. Winston W Royce. Managing the development of large software systems. In proceedings of IEEE WESCON, number 8, pages 328–338. Los Angeles, 1970., 11 pages
    2. The Leprechauns of Software Engineering  by Laurent Bossavit 2013, Chapter 7, 11 pages
    3. Abrahamsson, Pekka & Salo, Outi & Ronkainen, Jussi & Warsta, Juhani. (2002). Agile Software Development Methods: Review and Analysis. Proc. Espoo 2002. 3-107Links to an external site.. , 3.1 XP, 3.2 Scrum, 3.5 RUP, 3.8 Open Source, 30 pages
    4. SEH 2.0 Fundamentals of Systems Engineering 25 pages
    5. Comparing Methods for Large-Scale Agile Software Development: A Systematic Literature Review.Chapter 5
    6. Lean Software Development M. Poppendieck and M. A. Cusumano, Lean Software Development: A Tutorial, in IEEE Software, vol. 29, no. 5, pp. 26-32, Sept.-Oct. 2012, 7 pages
    2 Deep Dive (4hrs), Mandatory Reading 7. BLOG POST Scientific Institute What are Complex Systems? – Understanding and Assessing Complex Phenomena 3 pages
    8.  Marian Bosch-Rekveldt, Yuri Jongkind, Herman Mooi, Hans Bakker, Alexander Verbraeck, Grasping project complexity in large engineering projects: The TOE (Technical, Organizational and Environmental) framework, International Journal of Project Management, Volume 29, Issue 6, 2011, Pages 728-739, ISSN 0263-7863, https://doi.org/10.1016/j.ijproman.2010.07.008., 11 pages
    9. Pierre A. Daniel, Carole Daniel, Complexity, uncertainty and mental models: From a paradigm of regulation to a paradigm of emergence in project management, International Journal of Project Management, Volume 36, Issue 1, 2018, Pages 184-197, ISSN 0263-7863, https://doi.org/10.1016/j.ijproman.2017.07.004. 13 pages
    10.  Short Paper from Industry, Revealing the complexity of automotive software, Vard Antinyan, ESEC/FSE 2020: Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringNovember 2020Pages 1525–1528, https://doi.org/10.1145/3368089.3417038, 4 pages
    11. BLOG POST What complex systems can teach us about building software March 9, 2022 Kevin Sookocheff, around 13 pages
    12. McLeod, Sam. (2021). Feasibility studies for novel and complex projects: Principles synthesised through an integrative review. Project Leadership and Society. 2. 100022. 10.1016/j.plas.2021.100022.  9 pages
    13,  Business IT alignment Coltman, T., Tallon, P., Sharma, R. et al. Strategic IT alignment: twenty-five years on. J Inf Technol 30, 91–100 (2015). https://doi.org/10.1057/jit.2014.35 7 pages
    14.  Dov Dvir, Thomas Lechler, Plans are nothing, changing plans is everything: the impact of changes on project success, Research Policy,
    Volume 33, Issue 1, 2004, Pages 1-15, ISSN 0048-7333, https://doi.org/10.1016/j.respol.2003.04.001. 14 pages
    15.  Joslin, Robert. (2016). The impact of project methodologies on project success in different project environments. International Journal of Managing Projects in Business. 9. 10.1108/IJMPB-03-2015-0025.  Page 3 - 7 4 pages
    3 Failed Case, Mandatory Readings 16. O. Zwikael and A. Gilchrist, Planning to Fail: When Is Project Planning Counterproductive?, in IEEE Transactions on Engineering Management, vol. 70, no. 1, pp. 220-231, Jan. 2023, doi: 10.1109/TEM.2021.3053585. keywords: {Planning Project management Strategic planning Organizations Monitoring Decision making  Australia Project management project planning risk}, 11 pages
    17. Jin Zhu, Ali Mostafavi, Discovering complexity and emergent properties in project systems: A new approach to understanding project performance, International Journal of Project Management, Volume 35, Issue 1, 2017, Pages 1-12, ISSN 0263-7863, Paragraphs 1, 2, 3, 5 8 pages
    18.  Juliano Denicol, Andrew Davies, Stephen Pryke, The organisational architecture of megaprojects, International Journal of Project Management, Volume 39, Issue 4,
    2021, Pages 339-350, ISSN 0263-7863, 10 pages
    19. Robert Pellerin & Nathalie Perrier (2019) A review of methods, techniques and tools for project planning and control, International Journal of Production Research, 57:7, 2160-2178, DOI: 10.1080/00207543.2018.1524168, 14 pages
    20. D. Durisic and A. Berenyi, Agile System Architecture in Large Organizations: An Experience Report from Volvo Cars, in 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), Hamburg, Germany, 2019 pp. 33-36. doi: 10.1109/ICSA-C.2019.00014 10 pages
    21.  Technical Architectures for Automotive Systems, Alessio Bucaioni  Patrizio Pelliccione
    2020 IEEE International Conference on Software Architecture (ICSA) Publication Year: 2020,Page(s):46 - 57 Paragraphs III and IV 5 pages
    22.  IEEE standard ISO/IEC/IEEE International Standard - Systems and software engineering -- Software life cycle processes, in ISO/IEC/IEEE 12207:2017(E) First edition 2017-11 , vol., no., pp.1-157, 15 Nov. 2017, doi: 10.1109/IEEESTD.2017.8100771.  Page 21 overview Software Life Cycle Processes 6.3.1 Project Planning Process  6.4.4 Architecture  6.4.5 Design   6 pages
    23. SWEBOK, https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3, https://ieeecs-media.computer.org/media/education/swebok/swebok-v3.pdf 2.7 design strategies, 9.4 software engineering methods, 4 pages
    24. Frank Einhorn, Carl Marnewick, Jack Meredith, Achieving strategic benefits from business IT projects: The critical importance of using the business case across the entire project lifetime, International Journal of Project Management,
    Volume 37, Issue 8, 2019, Pages 989-1002, ISSN 0263-7863, Paragraphs:1  2 5.2  6.1, 6 pages
    4 Failed Case, Mandatory Readings 25. Chapter 8 Download Chapter 8from the book organizational behavior on teams.
    26. Embracing Complexity: Reviewing the Past Decade of Team Effectiveness Research  John E. Mathieu, Peter T. Gallagher, Monique A. Domingo, and Elizabeth A. Klock, Annual Review of Organizational Psychology and Organizational Behavior 2019 6:1, 17-46 https://www.annualreviews.org/doi/pdf/10.1146/annurev-orgpsych-012218-015106
    27. Chapter 10: The cost of defects: an illustrated history and Appendix B: bibliographical analysis for the “defect-cost-increase curve” from The Leprechauns of Software Engineering  by Laurent Bossavit, 2013
    28. Menzies, T., Nichols, W., Shull, F. et al. Are delayed issues harder to resolve? Revisiting cost-to-fix of defects throughout the lifecycle. Empir Software Eng 22, 1903–1935 (2017). https://doi.org/10.1007/s10664-016-9469-x
    5

    Open Gov, Mandatory Readings

    29. Alaboudi, A., LaToza, T.D. What constitutes debugging? An exploratory study of debugging episodes. Empir Software Eng 28, 117 (2023). https://doi.org/10.1007/s10664-023-10352-5Links to an external site.
    30. C. Boogerd and L. Moonen, Assessing the value of coding standards: An empirical study, 2008 IEEE International Conference on Software Maintenance, Beijing, China, 2008, pp. 277-286
    31, Caitlin Sadowski, Emma Söderberg, Luke Church, Michal Sipko, and Alberto Bacchelli. 2018. Modern code review: a case study at google. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP '18). Association for Computing Machinery, New York, NY, USA, 181–190. https://doi.org/10.1145/3183519.3183525
    32. Intrinsic and extrinsic motivation from a self-determination theory perspective: Definitions, theory, practices, and future directions (Ryan, Deci, 2020)
    6

    Open Gov, Mandatory Readings

    33. Big data = big insights?: operationalising brooks' law in a massive GitHub data set  Christoph Gote, Pavlin Mavrodiev, Frank Schweitzer, Ingo Scholtes ICSE '22: Proceedings of the 44th International Conference on Software Engineering  May 2022  Pages 262–273  https://doi.org/10.1145/3510003.3510619
    34. Interview with Werner Vogels CTO Amazon: https://queue.acm.org/detail.cfm?id=343457335. 
    35. G. Vale, F. F. Correia, E. M. Guerra, T. de Oliveira Rosa, J. Fritzsch and J. Bogner, Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs, 2022 IEEE 19th International Conference on Software Architecture (ICSA), Honolulu, HI, USA, 2022, pp. 69-79, doi: 10.1109/ICSA53651.2022.00015. 
    36. Book Organizational Behavior McShane, Von Glinow, Chapter 10 Download Chapter 10Power and Influence in the Workplace
    37. Simons R. Control in an age of empowerment Harvard Business Review, March–April (1995), pp. 80-88
    7 Prepare for exam, Rework on group reports  
    8 Exam, rework on group reports  

    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

    • Maarten Nooter