Software project management course 2019

| Sieuwert van Otterloo | Project Management

Software Project Management is therefore an important management skill in many organisations. We teach the fundamentals in the course: “software project management” at the Vrije Universiteit Amsterdam. In this article we describe the full contents of this course.

Course structure

The software project management course is both theoretical and practical. The theory is covered in eight lectures, each on a specific topic. The practical part consists of a group assignment to make a project plan. Each week, the students must create one chapter of a project plan. All groups choose their own project goal: they decide whether to make something for consumers or business, whether to make an app, website or embedded software, and what technologies to use. The projects are graded based on the quality of the planning: is the plan thorough, consistent and suitable for successful execution.

The course content is covered in three ways: in the lecture slides (available to students), in a series of blog posts and in the course book: (Hughes and Cotterel: Software project management. 5th edition May 2009.  Especially chapters 1, 4, 5, 6 and 7). The topics of each week is listed below.

Week 1 (April 2) – Project vision

Each project must have clear goals and purpose. For a software project, it must be clear who the target users of the software are. See the blog posts software project vision. The practical assignment is to form groups of four students, and define a project goal. All groups must submit a presentation of their team and goal, and pitch their project vision in the next lecture.

Week 2 (April 9) – Functional scope

The functional scope of a project means to define what functions the software product will and will not realise. The scope of a project can change during the project: during the project, the team will learn more about user needs and expectations. As a result, they might make the project scope larger or smaller, or change the order. In the blog post managing project scope we explain how scope can de defined and managed in user stories.  All groups must create an additional chapter for their project plan and submit both chapter.

Week 3 – (April 16): Lifecycle and non-functional requirements

There are different software project management lifecycle models: agile, waterfall/V-model and some other intermediate models. Students must understand these models. The scrum guide is a compulsory reading. In this lecture we also explain what non-functional requirements are and why it is important to define these requirements as well.  All groups must add a chapter on non-functional requirements to their plan.

Week 4 (April 23) – Effort estimation

Estimating the development effort in a software project is one of the key challenges in software project management. In this course we explain four methods for software project effort estimation and how agile effort estimation is done in practice. All groups must using their vision and scope to make an estimation of software effort.

Week 5 (April 30): Financial analysis – No project plan

A sound financial business case is important for any software project management. To make such a business case, one must understand the financial cost (based on the effort estimation) but also the financial benefits. In this lecture we explain project analysis using Net Present Value. There is no project plan to hand in. Instead there is an individual midterm exam that covers week 1-4.

Week 6 (May 7): Activity planning and software development practices

Software projects often contain activities that are dependent on each other. It is therefore important to create a project Gantt chart or schedule to define when activities take place. In this blog posts we explain how to create a project schedule. A next blogpost contains a checklist of common software project activities that can be used to check schedules. In this lecture a guest speaker (Dr. Jeroen Arnoldus- lead developer) will explain modern software development practices such as version management, CI/CD and DevOps. Student groups must create two schedules for their project.

Week 7 (May 14): Organisational change, privacy rules 

The successful deployment of new software often means that organisations must change. This organisational change must also be managed by a software project manager.  One of the most important organisational aspects is compliance with the new privacy rules, and this is explained in this article about a data protection impact analysis. Student groups must create a communication flyer for their project.

Week 8 (May 21): project risk management and portfolio management. 

A good software project plan must contain an overview of relevant risks, so  that these risks can be managed, In this blog post we cover project risk management fundamentals. In the second part of this lecture, a guest lecturer (Paul Beelen from Friesland Campina) will explain how large companies manage a large portfolio of projects. Students groups must add a risk chapter to their final project plan.

Image: Battle council of Michiel de Ruyter. This sea campaign is an example of an activity that benefits from project management

Author: Sieuwert van Otterloo
Dr. Sieuwert van Otterloo is a court-certified IT expert with interests in agile, security, software research and IT-contracts.