Checklists are an effective control tool. They minimize the possibility of missing important information and reduce the likelihood of making mistakes like “did not know, forgot, started to spin”.
Steve McConnell in his book Lost. Manual for software project managers ”leads a project test for survival. This checklist of 33 points that every manager should have on hand if he wants to lead a project to success. I will quote this test with a few clarifications based on personal experience.
')
Each of the 33 points is rated from 0 to 3:
0 - did not even hear about it;
1 - heard, but not yet used;
2 - partially applied;
3 - is fully applied.
If any item is not applicable, due to the nature of your project, we put the estimate equal to one. The final mark is the sum of points on all points.
Well, what, we take in hand a calculator and examine your project?
1. Goals
1.1. The concept defines clear, unambiguous goals.
1.2. All team members consider the concept realistic.
1.3. The project has a rationale for economic efficiency.
1.4. A user interface prototype has been developed.
1.5. The specification of the target functions of the software product has been developed.
1.6. Two-way communication is established with end users of the product.
2. The way to achieve goals
2.1. There is a detailed written product development plan.
2.2. The project’s task list includes “minor” tasks (configuration management, data conversion, integration with other systems).
2.3. After each phase of the project, the schedule and budget are updated.
2.4. Architecture and design decisions are documented.
2.5. There is a quality assurance plan defining testing and peer review.
2.6. Defined plan for multi-stage product delivery.
2.7. The plan takes into account training, weekends, holidays, sick leave.
2.8. The project plan and schedule approved by all team members.
3. Monitoring and Implementation Management
3.1. The project has a curator. This is such a top manager of the executive company who is personally interested in the success of this project.
3.2. The project has a manager, and only one!
3.3. The project plan defines “binary” checkpoints.
3.4. All interested parties can get the necessary information on the progress of the project.
3.5. Trust is established between management and developers.
3.6. Established a process for managing changes in the project.
3.7. The persons responsible for the decision to accept changes in the project are identified.
3.8. The plan, schedule and status information on the project is available to each participant.
3.9. The system code is automatically reviewed.
3.10. The defect management system is applied.
4. Threat analysis
4.1. There is a list of project risks. It is regularly analyzed and updated.
4.2. The project manager tracks the emergence of new risks.
4.3. For each contractor is determined by the person responsible for working with him.
5. Team
5.1. The team’s experience is sufficient to complete the project
5.2. The team has sufficient expertise in the application area.
5.3. The project has a technical leader.
5.4. The number of staff is sufficient.
5.5. The team has sufficient cohesion.
5.6. All participants are committed to the project.
Interpretation of the test
Correction factors:
- for small projects (up to 5 people) - 1.5;
- for medium (from 5 to 20 people) - 1.25.
Result:
<40 - project completion is doubtful.
40-59 - the average result. During the project we should expect serious problems.
60-79 is a good result. The project is likely to be successful.
80-89 - an excellent result. The likelihood of success is high.
> 90 - a great result. 100% chance of success.
This checklist lists what needs to be done for the success of a software project, but does not provide an answer to the question of how to do it. Do not forget about it.
Successes!