The Six Friends in the previous post have other friends as well: (these come from Jim Chapman with a few changes and updates)
Determine What the Business Is
- Make sure the business is viable
- Select projects that are good for the business
- Understand the business value of the projects
- Watch for changes in the business that impact value
- De diligent, learn and apply best practices
Understand the Requirements
- Thoroughly understand the requirements
- Obtain agreement on the requirements
- Put requirements management as a leading success factor for development projects
Prepare a Reasonable Plan
- Prepare a plan that defines the scope, schedule, cost and approach for a reasonable project
- Share this plan with everyone and anyone to gain consensus and feedback
- Involve task owners in developing the plans and estimates to ensure feasibility
Build a Good Team With Clear Ownership
- Get good people and trust them
- Establish clear ownership of well defined tasks
- Use deliver ables to measure maturity of the project not just the passage of time
- The best feedback is success, structure the project for an endless series of successes
- Emphasize open communication
- Lead the team and move misfits out
Track Project Status
- Track progress through frequent reviews
- Provide high visibility and communication of progress, assumptions and issues
- Conduct methodological reviews of management and technical topics to help manage expectations, improve quality and identify problems
- Trust the indicators
- Pay attention to everything
Use Baseline Controls
- Establish a baseline for the product using configuration management
- Manage changes deliberately
- Use measurements to baseline problem areas
- Track progress quantitatively toward solutions
Write the important stuff down
- If it isn't written down in some form, it didn't happen
- Document requirements, plans, procedures and evolving designs
- Documenting thoughts allows them to evolve and improve
- Without documentation it is impossible to have a discussion around a baseline
- Record all important agreements and decisions, since they will resurface later
If it isn't tested, it doesn't work
- If this isn't completely true, it is a good working assumption
- Develop test case early to help with understanding and verifying the requirements
- Use early testing to verify critical items and reduce technical risk
- Testing is a profession - treat it like one
Ensure customer satisfaction
- Keep the needs "real" and the requirements continually "in view"
- Undetected changes are the sure path to project failure
- Plan early for adequate product support
Be Relentlessly Proactive
- Take initiative and be relentlessly proactive in the identifying and solving of problems as they arise
- Project problems usually get worse over time not better
- Periodically address project risks and confront them openly
- Attack problems and leave no stone unturned
- Fight the tendency to freeze into day-to-day tasks, like a deer in the headlights