6 EC
Semester 2, period 4
5364SOPR6Y
| Owner | Master Software Engineering |
| Coordinator | H.L. Dekkers |
| Part of | Master Software Engineering, year 1 |
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.
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.
|
Activity |
Number of hours |
|
Zelfstudie |
96 |
|
Lecture |
21 |
|
Peer review |
8 |
|
Feedback sessions |
10 |
|
Presentations |
1 |
|
Exam |
2 |
|
Groupwork |
30 |
Requirements concerning attendance (TER-B).
| 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 |
Contact the course coordinator to make an appointment for inspection.
Literature study in a group. Topic selected from a list of topics each shortly elaborated
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?
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.
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
| 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 |
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.