Once you have listed your customer requirements your team needs to analyse these requirements. This can be done by interviewing staff, observation visits, and gathering documentation that is used by the company. Also, collecting as much data as possible from similar projects can be useful or by further research. You may need to identify suitable hardware or networking materials that is required for the project. It is essential that your project team understands exactly what it is you are being asked to produce.
The tasks for the project now need to be recorded. In a programming project identifying the functional and non-functional requirements will assist in this. Or if it is a non-programming project, a list of the specific requirements such as hardware, the number of nodes for a network, backup plan for a security system and any budgetary constraints for a custom built system could be used.
Negotiation on how you are going to go about doing these tasks should now take place. Who is going to be responsible for which task? By recording these decisions you are working smarter rather than working harder and relying on your memory only.
It will take you many attempts to come up with a complete and workable plan.
These attempts are called versions. You should keep a copy of each version, these can be used as reference documents and they should be numbered appropriately – Version 1, Version 2 etc.