You have a very capable software project manager running around with Microsoft Project producing fancy Gantt and CPM/PERT charts and tracking every milestone and deliverable diligently, tracking how team members are spending their time, and the milestones and deliverables are all completed on time and on budget. However, the project gets cancelled since users are extremely unhappy with the end product. Happens more often than we think!
Project management deals with clear business and technical goals, phased development with regular and measurable progress, a systematic approach to addressing high risk factors in the project, maximizing the contributions of all the team members in the project, assuring timely project execution and ensuring proper quality. However, in many software development efforts, project management becomes an exercise in tracking the efficiency, rather than the effectiveness of the project management effort.
In my February 2007 column, “Metrics for Outsourced Software Development,” I outlined three main areas of attention, people, technology and process metrics. Process metrics may be broken down into those for effectiveness and those for efficiency. This month, I elaborate on project management effectiveness metrics involved in a typical software development project that is being outsourced.
Project Management Effectiveness
In an excellent article, “The Problem of Project Management,” published in the Cutter IT Journal in 1999, Brian Lawrence and Payson Hall explore the project management effectiveness problem in detail. In their experience, they say, seven out of 10 projects fail, and many fail because project managers may always be trying to solve the wrong problems. They trace the right problems to four groups:
- Context. Perceiving the project manager’s mission correctly.
- Users. All the stakeholders in the project.
- Functions. The different roles the project manager needs to play.
- Project Management Attributes. The various subjective abilities of the project manager that need to be displayed.
What you may notice about these factors is that they all deal with the effectiveness factors of project management, not the efficiency ones!
Why does project management effectiveness have such a profound effect on software development? Project management involves not only making sure that the mechanics of are performed correctly but also the spirit. The following is a set of suggestions that makes sure that project management is as effective as it is efficient.
Project Management Effectiveness Criteria
Individual project management effectiveness metrics may depend upon the nature of the particular software development project, but the following criteria can be used to design the proper ones.
1. Business Goals Effectiveness
One of the primary functions of project management is to translate the business goals of a software development effort to a set of technical goals. The entire effort will be successful only if the business goals are effectively translated.
2. Responsiveness to Changes in Business Goals
Changes in business goals are inescapable, especially in projects that have long development cycles. The project manager needs to make sure that these changes in business goals are effectively translated into appropriate adjustments in the technical direction. Many projects may meet every milestone and deliverable on time and on budget, but if business goals have changed, the efficiency achievements may not mean much. The software developed will be off the mark because of changes in business goals.
3. Development Team Facilitation
One of the key functions of the project manager is to remove obstacles in the way of the development effort and the team members. How well the project manager facilitates the work of the team makes a lot of difference in the eventual success of the project.
4. Stakeholder Responsiveness
The project manager needs to be responsive to a number of stakeholders, the development team, business sponsors, peers, partners such as sales, marketing, human resources, end users (if it is an internal application) and customers (if it is a software product). All of these stakeholders may have different priorities, and the project manager has to juggle all of these priorities effectively.
5. Outside Contractor Facilitation
This is particularly relevant when parts of or the whole development effort is outsourced. Project management effectiveness takes on additional complexity when it involves another organization with its own priorities.
6. Project Leadership
Project leadership consists of a variety of skills and qualities: communication. leadership, ability to motivate, ability to negotiate, organizational skills and conflict resolution skills. Projects can be successful only in as much as the project manager uses all of these skills.
7. Problem Resolution Effectiveness
Problem resolution skills will be called upon on a daily basis in any software development project. Good project management depends upon proactive and quick resolution of these problems, greasing the skids for the development teams to do their jobs properly.
Any experienced project manager will tell you that effective project management deals primarily with people, not with software tools or hardware or project schedules. It takes a diplomatic project manager to smooth out the people problems that invariably arise among team members and among all stakeholders, in general.
Persistence is essential when managing the various obstacles in a software development effort and is often overlooked as a contributing factor in the success of a project.
A badly planned project will take three times longer than expected – a well-planned project only twice as long as expected! Experienced project managers will tell you that this popular quote is only half in jest. Project management effectiveness is as much needed as meeting milestones and deliverables on time. There are many factors that make a project manager effective, and paying attention to all of them is essential in ensuring the success of software development efforts, particularly when they’re outsourced.
“The Problem of Project Management,” by Brian Lawrence and Payson Hall in Cutter IT Journal
Nari Kannan’s “Metrics for Outsourced Software Development”