The best books and articles on software project management
| Sieuwert van Otterloo |
Software
In this article have listed all resources we recommend to people that want to learn software project management. To make sure there is something interesting for all skills levels, we included both introductions and more advanced research. The list is created as part of our course in software project management at the VU University in Amsterdam.
Note: if you have suggestions for additional material, please send them to us (e.g. via sieuwert @ ictinstitute.nl). Especially if you are conducting research related to software project management, send us your suggestions. This way, we can provide a useful overview of ongoing research in this area as well, and connect research, practice and academic education.
Project plan elements explained
In the ICT Institute course on software project management at the VU Amsterdam, led by Joost Schalken and Sieuwert van Otterloo, we use a seven element structure for creating a project plan for a software project. We summarised our approach in a series of blog posts:
- H1: Create a project vision
- H2: Managing functional scope
- H3: Defining non-functional requirements
- H4: Effort estimation
- H5: Project risk management
- H6: Creating a project schedule
- H7: Managing organisational aspects
The final chapter, which students should eventually place first, is the executive summary. The students present their summary (in max 10 slides) to the whole group. This structure closely follows real world consultancy reporting, where executives prefer a short main report with a longer appendix for the details. Over the years, the order of some of the later chapters has shifted slightly in the lectures. The blog posts on the respective topics remain relevant of course.
In the second year of giving the course, we added a few additional blog posts:
- Project portfolio management – interview with guest lecturer Paul Beelen
- Privacy Impact Analysis
- Financial project analysis with NPV
Project management books
- Hughes and Cotterel: Software project management. 5th edition May 2009. We used this as the main book for our course, especially chapters 1, 4, 5, 6 and 7.
- McConnell: Rapid Development: Taming Wild Software Schedules. This book explains, in chapter 7, different delivery models such as code and fix, spiral, waterfall and iterative.
- Schwalbe: Information Technology Project Management (or via google books). Rather expensive but still useful. We recommend chapter 5 (scope management).
- Brooks: The mythical man month. This is one of the oldest books on software project management that is still relevant today. It contains Brook’s law, also explained in our planning blog post.
- Bercun: The art of project management. A very practical book based on experience at Microsoft (suggested by Tobias Kuipers).
- Winch: Managing construction projects. This book is not software or IT-specific but provides important lessons from a general / building perspective.
Official standards: PMI and Prince2
- The Project Management Institute is a nonprofit organisation for project management that has collected and standardized project management under the name of PMBOK (project management body of knowledge). Unfortunately their material is not freely available. The Wikipedia PMBOK page gives a good overview.
- The other main standard is Prince2 (PRojects in Controlled Environments). Again the Wikipedia page is the best freely available overview. There is a good Prince2 summary on Github.
Project management articles
- CHAOS report. The Chaos report by Standish group is an interesting and often cited benchmark for project success. The reports itself are only for members. This InfoQ article on CHAOS 2015 provides a good summary of recent results
- The CHAOS report definition of project success in simple but has serious flaws. In the article The rise and fall of the CHAOS report, Eveleens and Verhoef explain this in detail.
- Maarten van Weeghel from IMPROVEN has collected several interesting trends in project management.
- Armour: The laws of software process. This article explains that software is always developed within an uncertain environment, and that software processes should allow for this. Interesting theoretical article.
Software quality and project management
- Steve McConnell: Code complete. This is the most comprehensive book on software quality and offers lots of useful insights for developers.
- Building maintainable software is an interesting book by the Software Improvement Group where a model for code maintainability is explained.
Agile project management
- Schwaber: Agile project management with Scrum. This is one of the first books on scrum and provides a good introduction to the scrum method. It is a bit light on actual project management
- Our approach has been influenced by best practices from Lean startup. We recommend anyone to read the basic Lean Startup terminology.
- Mountain goat user stories FAQ is a short explanation of requirements modelling of user stories.
- Some companies have adopted less formal ways of working in order to stimulate a more innovative culture. In such companies, projects/teams also need to be managed in a different way. In this post about the Spotify culture, this approach is explained.
Project risk management
- The risk management wikipedia page offers a very good overview of what risk management is. Most of it applies to projects.
Organisational aspects
- The COPAFIJTH method is an important practical tool. Our blog post on organisational aspects and COPAFIJTH is probably the best English resource to get started
- A good (Dutch) resource on COPAFIJTH is Wiebe Zijlstra’s Impactanalyse met COPAFIJTH
Image: Annie Pratt (right-free, via unsplash)
Dr. Sieuwert van Otterloo is a court-certified IT expert with interests in agile, security, software research and IT-contracts.