Poor estimating and scheduling
* Utilize timebox development (shorter, smaller projects are easier to estimate) * Create a work breakdown structure to help size and scope projects * Retrospect to capture actual size, effort and time data for use in making future project estimates Insufficient risk management
* Appointing a risk officer - it is beneficial to have one person whose job is to look for the reasons that a project might fail and keep managers and developers from ignoring risks in their planning and execution. Insufficient planning
* Hire a comprehensive project charter
* Clearly define project governance
Shortchanging quality assurance
* Use agile development, joint application design sessions, automated testing tools, and daily build-and-smoke tests
* Provide career development opportunities
* Deliver bonuses
Ineffective stakeholder management
* Use a stakeholder worksheet and assessment graph
* Use communication plans
* Create a project management office
* Co-location can be a cure, even if it requires sending staff to a foreign country for an extended period of time. Insufficient project sponsorship
* Identify the right sponsor from the very beginning.
* Secure commitment within the project charter and manage the relationship throughout the life of the project.
* Avoid complex, difficult to implement features.
* Use proven tools and techniques
* Avoid dependence on fancy new tools
* Try not to explore new horizons in development unless you allow for frequent schedule revisions. Feature creep
* Avoid implementing all the trendy features you know/see on the run.