Greg Wilson links to an interesting academic paper from IEEE:
We find that factors such as requirements refinement, task dependencies, organizational alignment and organizational politics are perceived to have the greatest impact on on-time delivery, whereas proxy measures such as project size, number of dependencies, historical delivery performance and team familiarity can help explain a large degree of schedule deviations. We also discover hierarchical interactions among factors: organizational factors are perceived to interact with people factors, which in turn impact technical factors.
Why It Matters
Correctly estimating and consistently delivering on project timelines is the white whale of software project management. Much has been written about it and estimations often turn into a tug of war between engineering and management. Being able to accurately and reliably model the forces at play can give organizations a fighting a chance at more accurately delivering on business priorities.
The Mistakes I Repeatedly See
Having worked in software for a long time I see non-technical product managers make these mistakes over and over again:
- Insisting on a business priority that that costs more in technical work and complexity than it delivers in business value.
- Demanding the use of specific technologies; leave implementation up to the engineers and technical strategy to the engineering managers.
- Insisting something be done that is technically impossible or challenging.
- Death March by Edward Yourdon outlines how to handle a project that is destined for failure.
- The Mythical Man Month explains the folly of adding manpower to a project near its end to try and save it.