Applied Software Project Management - review

by Mark Norman on 17 October 2006 , last updated

Introduction

  • Authors: Andrew Stellman and Jennifer Greene
  • Publisher: O’Reilly
  • Year: 2005
  • ISBN: 0-596-00948-8

Review

This book is good value. From the title, you wouldn’t expect it to have quite so much detail as the near-technical-manual section on using Subversion or the long excerpts of Java code given as examples of refactoring and unit testing. I found a wealth of useful information in the 300 or so pages, much of which I was not expecting to find in a tome with such a title. Is that good or bad? I’m not sure. It may not be that great for the publishers (and the authors) in that people who need lessons on version control, test plans, Software Requirements Specification methodologies etc. may not immediately think of this book. There is material here for three or four books. On the other hand, there is substance here which is incredibly informative and which I have struggled to find in other books. But maybe I was judging other books by their titles too?

At first glance, the book contains a logical collection of subjects. These begin with part one which details tools and techniques for project planning, estimation, scheduling, and reviewing and goes into great technical detail regarding software requirements, design, and finally testing. Part two is a little shorter but is less technical than much of part one. This latter section contains thoughts and techniques regarding change, management and leadership, managing an outsourced project, and process improvement.

Stellman and Greene are clearly very experienced, know their stuff and can express it clearly. The section on version control answered some questions I had in my head regarding common practices better than anyone else has done for me in the past. I’m not so certain that the organisation of the material in the book does them justice, however. This does not apply to all of the book, by any means, but were I – for example – to pick this up in a bookshop thinking “Oh great, a project management book with a section on testing”, I may find myself disappointed that the chapter on testing does not seem to include anything about unit testing. On browsing through I would be very likely to miss the excellent section on refactoring, unit testing and automated testing in the previous chapter (entitled “Design and Programming”).

These criticisms are more likely to be reflected in sales success, rather than the superb content overall. I’m very glad I read the book. A more apt title would be Managing Software Development or, possibly, The Process of Software Development, from Planning and Testing to Delivery. Having only worked with small development teams, or in bigger environments where the development practices were – ahem – sub-optimal, the book gave me great insights to the best practices of developing software in large organisations.

Summary

Overall, the book is an excellent read for those who find themselves as senior developer, project manager, senior tester or possibly in many other roles within a large organisation with a multi-teamed approach to software development. It is somewhat less useful for those managing smaller teams of developers as the planned, slightly bureaucratic approach favoured by Stellman and Greene probably reflects larger corporate environments where processes have to be very robust. Having said that, as a manager in a smaller development context, I’m glad to have read the book as it tells me how things should be done, given enough resources and time to do it all properly. Go on read it – but read the whole thing!

Further reading

Links:

Related information from OSS Watch: