The company I work for is looking to create a new version of their main software package, and wants to outsource the development to a local company. So far, so good. The non-technical project manager asked me for assistance (three months in), largely to ensure that he doesn't get the wool pulled over his eyes when discussing the technical elements.
However(!) firstly, there is no structure on our end to deal with creating a proposal to give to potential partners. There is the project manager, assisted to some degree by his technically minded, but busy father (also employed at the company) and an enthusiastic final year university student, and now, me.
Secondly, the project manager has produced a "Funtional Spec", influenced by his father, which deals largely with how the project should work (Django, jQuery, MySQL), and very little with what the project should do.
Thirdly, we've only entered negotiations with one company.
I feel that we should have a structure in place at our end dealing with roles and responsibilities, that we should have a proper requirements document that deals with the "what", rather than the "how", and that we should be speaking to a good number of other potential contractors. I also think that a functional spec, dealing with how the project should work and which technologies will be used should be produced by the (outsourced) developer; I think that these decisions should be the responsibility of the person who is responsible for implementing them.
How, in the real world, ideally, should this process work? Who should be producing the functional spec? Am I right to worry about the way this project is going?
Thanks all for taking the time!