Process
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
People
Undermined motivation * Provide career development opportunities * Deliver bonuses
Ineffective stakeholder management * Use a stakeholder worksheet and assessment graph * Use communication plans * Create a project management office
Weak personnel * 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.
Project
Requirements gold-plating * Avoid complex, difficult to implement features.
Developer gold-plating * Use proven tools and techniques * Avoid dependence on fancy new tools
Research-oriented development * 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.
Technology