No one working in software development would doubt that project planning is necessary and important. But one may doubt that anyone knows how to do it. Actually I don’t remember someone ever telling me that a project plan worked out just fine. But I know a lot of stories on how project plans just failed inevitably. And before I post something about the my greatest failures in project planning – this might come later – I want to write about how to frame a project plan which respects the most important aspects from my point of view.
First I will draw an outline of the project:
- Set a timeframe for project evaluation
- Determine and formulate the goals of the project
- Create or determine an prototype
- Determine and formulate the gained cognitions
- Determine and formulate the positive and the negative aspects of the prototype
- Revisit the goals of the project
- Evaluate the project: time-constraints, resource-constraints, quality-constraints, expected results
- Sketch out a project design
- Build a sophisticated project infrastructure!
- Split the project into tasks and assign them explicitly
- Create the implementation
- Check wether implementation fulfills the project goals
- Mend the implementation
- Check wether implementation fulfills quality standards
- Improve the implementation
- Create Documentation for usage, administration, configuration and deployment
- Approve the results of the project
- Deliver or use the results and be happy with it
Yeah, I know there are about a gazillon of different models for projects plans out there. So why come up with a new – such informal – one? The reason is, that all of this points must be done at some point, no matter what the project plan layout looks like. Whether you are working in a scrum-like-pattern or with a fully elaborated derivation of the V-Model. So this is not an alternative model made by some who thinks he can easily reinvent everything because he likes to ignore textbooks. This is merely an enumeration of what is unavoidable in a software development process – and nevertheless most often done wrong!