Thursday, July 21, 2011

Resource Commitments in Projects

I was reading Robert G. Cooper's book on Product Leadership Creating & Launching Superior New Products. While going through the book, I found a section that resonated with leadership of product management in Projects, and here are my thoughts.

In today's dynamic software development world things are often in a state of flux. As companies are launching several projects every quarter, the project prioritization and resource allocation becomes an ever dynamic component in any project - which can have a tremendous impact on the success or failure of a product. If a project is inadequately staffed, the project will be delayed and/or the final product will be lousy. On the other hand, several highly ambitious projects suck up so much resources that the other products & projects get starved for resources. Often a successful product will get all the resources at the cost of other products, which in other words implies that potentially good products will never see the light of the day.

Fundamentally, there are only four ways to deploy resources to projects.

  1. Resources are infinitely flexible. Resources are added/removed based on business priorities.

  2. Resources are firm only between each stages of the project.

  3. Resources are firmly committed to the project as long as the project meets the timelines & other deliverables.

  4. Resources are fully committed to the project till the project is completed - irrespective of the the project performance.

In today's agile world, Option-1 sounds the best. In theory, this option gives the best utilization of resources, but in reality this dynamic approach kills the team morale & team performance, and eventually it could lead to an substandard product, or the project will eventually get killed and all the resources will get wasted. It may sound attractive to launch new projects, but such a flexible approach will lead to an case where no project ever gets completed.

Option-2 & Option-3 provide the best way to utilize the existing resouces. In product development projects, the project should have several stages for review, and at each stage of the project, the status of the project must the reviewed along with business/finanical goals. If the project meets those objectives/goals, then resources for the next stage will be made available.

Option-4, is the most common form of resource allocation. Usually the product development teams will have an allocated budgets and a long term roadmap. Based on the budget and road map, the project teams will be staffed and the project will continue till completion - irrespective of the delays. If the product is already successful, then there will no resource constrains for the subsequent release of the successful product, and the top management often takes a lenient stand when it comes to reviewing the project status. This leads to wasted resources with

Closing Thoughts

In my opinon, Product managment should provide leadership in such cases by demanding that the product development project teams by adequately staffed as long as the project is meeting the stated objectives. Every project must be reviewed periodically to see if the project is on track, if not, product management should decide on the next course of action: Increase resources or kill the project or put the project on hold. One should not hesitate to take the extreme steps if needed. Often times, the political pressures within the organization will come into play and force the project management leadership to act the other way - which eventually leads to product failures.

Having successful products requires a very strong discipline in project management. The ownership of the project lies with Product management & product management therefore must provide the right leadership in providing the necessary resources for the project.

No comments: