Successful Software Management:
Do You Track the Right Objectives?

Every Engineering VP and Portfolio Manager that I've worked with has had their preferences on what they want tracked on their projects. This is fair -- every organization is unique and each has its own areas that need more and less attention. I've known some who only care about one number: the delivery date. Others have gone into minute detail, tracking changes in lines of code per project hour across their portfolio.

There has to be a balance, of course. Status reports need to be lightweight enough that project managers will provide them consistently. But they need to be thorough enough to highlight problems before they occur. So what do you really need to track?

Here is a list of the seven essential considerations that executives need to track, at some level, in their software projects. For each of these, you will need to judge the depth of tracking that your projects require. But even if you only need a one-line response, you must ask these seven questions regularly.

#1: Scope

The first is scope: Will the team deliver what they planned? This is difficult to quantify, so it can be hard for executives to get a quick overview of which requirements in a project will deliver. If a project has many small requirements, one option that I've found to work well is to track the number of requirements completed versus the number outstanding. For a fewer number of large requirements, we either reported each requirement individually, or decomposed the requirements into smaller, more measureable units. In both of these cases, we typically compared what has been accomplished to what was planned by this point in the project.

#2: Schedule

Will the team deliver on time? Project schedule typically gets a lot of attention in status meetings. However, the behaviour I've frequently seen is that the project manager reports that the project is on schedule, until near the end of the project, when the plan starts slipping out of control. Why does this happen? Usually, the truth was that the project was never really on schedule, but the team didn't realize this until it was too late. The project team needs to re-evaluate its estimates on a regular basis. That way, when problems start to happen, they are exposed, and you can respond immediately.

#3: Cost

Will the team deliver on budget? In teams' rush to meet their schedules, project cost is an item that often gets neglected. After all, the easiest thing to do when a project starts slipping is to put more people on it. But before you do this, you need an honest assessment of whether future revenues justify increasing the investment, and whether the investment would be better spent on a higher return project.

#4: Quality

Is the team meeting their quality goals? This is an easy one to measure, but the challenge here is to define what their quality goals should be. I worked with one team that established an aggressively high quality target, but that target was an arbitrary number, and wasn't based on what the customer really needed. The result was a continually slipping release, even though the release would have been good enough for the customer. As with project scope, understand what your customer really needs, and target that.

The objectives above are traditional objectives that most project managers track. The considerations that follow are less intuitive, but are critical for software projects.

#5: Risk

Has the team identified and mitigated their greatest risks? Most software projects fail because of unforeseen problems. Risks come from many sources, including assumptions that turned out to be incorrect, and unexpected tasks that were required but not planned for. Even a single unmitigated risk, if its impact is serious enough, can shut down the largest projects. Risk management is a very large topic in itself. However, in the very least, make sure your project managers spend time, on an ongoing basis, identifying and mitigating their projects' highest exposure risks.

#6: Dependencies

Has the team integrated other teams' deliverables? Dependencies on other teams is the other key source of failure in software projects. The Project Management Institute's Guide to the Project Management Body of Knowledge (PMBOK) calls this objective, "Procurement". The danger here isn't just that the other team may not deliver on time. A much more common occurrence is that the deliverable doesn't behave quite as expected, causing significant delays during integration. Agile teams that I've worked with mitigate this problem through "continuous integration", where builds are integrated throughout the development cycle, rather than simply integrating releases near the end of the project.

#7: Culture

How did the team achieve their other project objectives? Was the team motivated to excel or was there fear and resentment? This defines the culture of your team and of your company. This is crucial, because in a knowledge industry, the real intellectual property isn't located in source code repositories, it's located in people's heads. Training new staff to replace employees who resigned is a tremendous cost for a project to absorb. As well, younger Generation Y employees tend to place a higher value on a company's culture than their older colleagues. The groups I've seen with a strong, positive culture have consistently outperformed those who worked in a more negative atmosphere. Despite this, how the team met their objectives is the most overlooked project objective. Not only is it difficult to measure, but the impact of a negative culture is often not felt until the next project. Identify the behaviours your company values, and reward those project managers who consistently display them.

Let me know what you think...

I hope this gives you some useful ideas on how to get better oversight of your projects. In my newsletter, we'll investigate these and other software project management techniques in greater detail.

Let me know what you think! There is never a single solution to any problem, and I've seen some truly unique ways to consistently deliver successful projects. How did you do it? Of course, if you have any questions, or if you would like more information on how to implement these or other software development processes in your organization, please feel free to contact me at Charles@CharlesConway.com.

If you know of someone who may find this article of interest, please forward it on!

Good luck!
Charles

Home Charles Conway: Home
Some Past Articles
The 10 Things You Must Do Differently to Innovate
Disruptive Innovation - How To Make It Work
Do You Track the Right Objectives?
Does Your Risk Register Look Like This?
Find Hidden Project Risks
How Do You Manage Uncertainty in Your Estimates?
How to Improve Your Decision Making - Sunk Costs
When Should Executives Drive Innovation?
When Should Intrapreneurs Take The Lead?
Why Do Projects Fail?
 
Home Charles Conway: Innovation and Software Process Improvement Privacy Policy

Email me at Charles@CharlesConway.com

© Charles Conway