Simon Buehring is a project manager, consultant and trainer. He works for KnowledgeTrain which offers training in project management and PRINCE2 trainingin the UK and overseas. Simon has extensive experience within the IT industry in the UK and Asia. He can be contacted via the KnowledgeTrain PRINCE2 project management training website.
It’s not often that a software project management book comes along that is practical, easy to read and stacked full of ready to use process scripts. Andrew Stellman and Jennifer Greene have done just that with recent book Applied Software Project Management.
There are too many books about software project management or software engineering which are dry, overly complex and boring, but this book is not one of them. It was a joy to read because their style of writing is clear without being simplistic and the authors describe things in just the right amount of detail. It seems they understand their audience and set out to write in an extremely helpful and practical way. They have certainly achieved this.
Part one of the book covers tools and techniques that can be applied on projects. Project planning, estimation, scheduling, reviews, requirements, design and programming and testing each have their own chapter. Part two is about using project management effectively and has chapters on understanding change, management and leadership, managing an outsourcing project and process improvement.
A clear thread throughout the book is a description of the typical problems software project teams face – inadequate requirements, managing changes, lack of quality assurance at each stage in a project, endless testing and bug-fixing cycles, tensions and misunderstandings between the software engineers and business users. None of these problems are technical in nature, but are organisational and managerial. Stellman & Greene offer practical advice to solve these problems based upon their experience on similar projects.
Stellman & Greene certainly appear to know a lot about problems that face software teams. As early as the introduction they describe the need to overcome chronic problems and this theme is continued throughout the book. For each problem, there is always at least one proposed solution. For example, they describe a common scenario whereby senior managers do not trust the estimates of the technical team, somehow believing that the technical team are deliberately over-estimating in order to give themselves some slack time. Their proposed solution is to involve these managers in the estimation process so they can see the estimates being made in a transparent and systematic fashion. They then go on to describe in detail how to run a Wideband Delphi estimation session and provide examples of templates and documents that can be used during such sessions. They also provide a valuable process script for teams to follow.
Subsequent chapters cover planning, scheduling, reviews, requirements, design and testing. Whilst most of these chapters cover each topic in reasonable detail, the section on design is lacking in detail and provides no description about what kind of design deliverables might be produced nor any detailed description of what these design deliverables might contain. This is in contrast to the requirements chapter which contains process scripts for requirements elicitation and analysis as well as a detailed description of use cases and software requirements specifications documents.
Another nice aspect to the book is the checklists that appear after dealing with one of the main project management or software engineering topics. Checklists are important quality assurance techniques that the authors rightly point out should be used throughout software projects as a way of catching errors early. For example, if a checklist applied to the software requirements specifications catches the fact that a critical requirement is missing or ambiguous, then the error can be corrected during the analysis stage. The authors explain that by catching and fixing errors early, the cost is small compared with the cost of fixing errors found later in a project. Their emphasis on quality assurance techniques being applied throughout the project with examples of checklists to apply is therefore very practical and useful.
The authors might want to reconsider some of the examples they use. They describe the process of refactoring code in order to make it more maintainable and use an example of some Java code which they gradually refactor over several iterations. At the end of this process they say why refactoring would be applicable in situations where code is spaghetti-like. This is fine, except they use an example of very un-spaghetti-like Java code to refactor. By doing this it looks to me that they fall into a common programmers trap of code beautification where programmers spend time from the schedule iteratively improving code that works just fine in order to write the ‘perfect’ code, class or object. I’ve seen this happen on projects where there simply wasn’t the time in the schedule to allow this, and it certainly didn’t bring any additional business benefits to the stakeholders. However this is a minor gripe.
I would have liked to have seen more pages devoted to risk management. Time and again, not managing risks is cited as a reason why projects fail. The authors do describe risk management in a cursory way, yet the book would benefit from a better description of how and why risk management should be done throughout the project, not just in the early stages of project planning.
One thing I thought the book lacked was a detailed look at iterative methods. The implicit assumption throughout is that the software project should follow the waterfall method. I would disagree. There have been some important alternatives to the waterfall method which have been developed over the last 20 years most notably those based upon iterative approaches. The main downfall with the waterfall approach is it’s assumption that everything about requirements is known at the beginning of a project.
Iterative approaches on the other hand assume that requirements will change during the project either because users gain a better understanding of what they need, or because of changes to the business environment. Based upon this assumption, iterative methods are designed to better manage this changing environment. With waterfall approaches, changes in requirements often require the project to revisit earlier stages with a corresponding increase in costs and effort. The authors spend barely a page on the Rational Unified Process (RUP) and the authors should look more closely into how their practical advice and processes might be used on alternative iterative approaches to the waterfall approach.
Finally, I think the book tried to be too broad by appealing to three different groups of people. Firstly, part one is aimed at those involved in a software team (project managers, analysts, programmers and testers). Part two is aimed at consultants hired to improve project management practices and project managers who need to manage software outsourcing projects. The book would have been better had it focused solely on those involved in the software team.
The penultimate chapter dealing with managing an outsourcing project is dealt with in a cursory way almost as if the authors felt they needed to mention it because outsourcing is such a business priority these days. The final chapter dealing with process improvement is also too short to deal effectively with such a large topic. Separate books dealing solely with these issues would have been more appropriate.
Not withstanding these points, this book is an excellent guide for those people involved in software projects, both project managers and technical team members alike. They will find much they can apply directly on their own projects.
I would recommend this book to anyone who works on a software development team because the book has so much practical advice to help people improve their capability to deliver quality software. Come to think of it, I would also recommend it to senior managers of companies who have a negative view of their own software development teams. Perhaps then senior managers might understand why committing resources to process improvement is one of the best investments they can make.
- Related Videos
- Related Articles
- Ask / Related Q&A




Establishing Your 2010 Online Promotional Plan
By: TJ Philpott | 04/01/2010When marketing on the internet it is always an advantage to map out your promotional plan well in advance. Pre-planning sales promotions allows you the time to 'fine tuned' these plans before implementation to help maximize their effectiveness. Read more to see how you can use the holiday schedule as your guide to planning your online marketing strategy for the upcoming year.
Network Marketing Software Basics
By: Todd Wesley | 29/12/2009If you are involved in a complex or even a simple global business then you need to take a look at network marketing software to automate and integrate the systems at your business. But, with so many solutions available, where do you start? Here are a few network marketing software basics for you to consider.
Project Accounting Software: Buy it or Not?
By: Ann Rand | 28/12/2009Benefits and limitations of project accounting software for project-based organizations, including how to know if you need it, and how to select the best accounting and project management software for your needs.
Choosing the perfect wedding marquee
By: Ronald Kresten | 28/12/2009A popular choice for weddings is to hold the reception in a marquee if couples have access to space. Wedding marquee hire is simple and easy with professional teams setting up and advising you on the various choices to be made – having the experts to hand is reassuring during this stressful time leading up to what should be the most enjoyable day of your life.
Planning your wedding marquee hire
By: Arthor Greenwald | 28/12/2009As soon as the engagement has been declared most couples will start the exciting business of planning their wedding straight away. For most families the two sides have often had little contact before the announcement of the wedding day so it can be a daunting process.
Advice on Becoming a PMO / Project Management Assistant
By: contractpm | 24/12/2009A lot of people want to become a PMO / PMSO (Project Management Support Officer) but it seems like these people are the forgotten voice – to my knowledge there is not much written about becoming a PMO, as a result I decided to write this article. I believe there are a number of levels of PMO; I will attempt to share what I know about how to get a role at each level, in terms of recruitment, training, benchmark of similar roles/typical CV and anything else I can share.
Is it worth Joining Professional Bodies?
By: contractpm | 24/12/2009In this economic climate it is worth doing anything possible to improve how the CV looks and to differentiate yourself to look more professional than the next contractor to get a contract… Many of my colleagues have been out of contract for some time and getting an APM or PMP member status is a quick and cheap way of improving the CV, that doesn’t require the time and cash and study that a new qualification would require.
PM Booklist
By: contractpm | 24/12/2009I decided to compile a list of books that have been useful to me, as a Project Manager. Some of these books are designed to be a reference to help you in your job, some of them to help with specific PM qualifications and some just to read and retain. I have placed the books in order of importance and influence to my knowledge as a Project Manager:
Why Projects Fail? Part 6
By: projectmanuk | 17/12/2009 | ManagementThis article deals with the sixth of the OGC’s eight causes of project failure: evaluation of the Business Case is driven by initial price rather than by value for money.
Why Projects Fail? Part 5
By: projectmanuk | 30/11/2009 | ManagementThis article deals with the fifth of the OGC’s eight causes of project failure: too little attention paid to breaking down the project into manageable stages. Strikingly, this was the only possible cause of failure identified by the NAO report as not a factor in the failure of the C-NOMIS project.
Why Projects Fail? Part 4
By: projectmanuk | 24/11/2009 | ManagementThis article deals with the fourth of the OGC’s eight causes of project failure: poor approach to project and risk management.
Why Projects Fail? Part 3
By: projectmanuk | 20/11/2009 | ManagementThis article deals with the third of the OGC’s eight causes of project failure: insufficient or ineffective engagement with project stakeholders.
Why Projects Fail? Part 2
By: projectmanuk | 19/11/2009 | ManagementThis post deals with the second of the OGC’s eight causes of project failure: the lack of effective or clear senior management, ownership or leadership at higher levels within the organisation.
Why Projects Fail? Part 1
By: projectmanuk | 13/11/2009 | ManagementIn April 2009 the National Audit Office published a report that declared the failure of the original C-NOMIS and described how the project had demonstrated seven out of the eight primary causes of project failure. C-NOMIS has now been re-scoped and is earmarked for delivery in 2011. However, important questions remain regarding the way in which the project was managed, the length of time for which mis-management of the project was tolerated, and the value-for-money that can be expected from vast
Seven Principles of ISEB Software Testing
By: projectmanuk | 14/07/2009 | ManagementISEB Software Testing Foundation training courses introduce students to the fundamentals of software testing, including the reasons for carrying out tests, basic test processes and the general principles that underpin testing good practice. Knowing these principles, and understanding how they affect the software tester, is crucial to passing the ISEB Software Testing Foundation exam.
ISEB Software Testing Systems Analysis Diploma
By: projectmanuk | 14/07/2009 | ManagementThe ISEB Foundation Certificate in Software Testing is the international standard training-course and qualification for software testers, developers and solution architects. It is also a key specialist module for the ISEB Systems Development Diploma, which is an important addition to the CV of any IT professional.