Users are rarely able to imagine how future program should look. Meanwhile a quality Technical Specification is 50% of future success of the application.
Writing of Technical Specification is the first stage of software development. We find it is better to entrust writing of Technical Specification to a professional.
A senior project manager can write Technical Specification with the customer's help. The project manager oversees the process of project execution and serves as the point of contact between the customer, the programmer, and the software tester.
If you decide to write your own Technical Specification, make sure it is different from the user manual. The functions of User Manual and Technical Specification are different, and they should be separate documents.
The following points should be covered in the Technical Specification:
An estimate of costs/time for software development will be discussed only once Technical Specification has been written and approved. However approximate cost and time will be provided before creating a detailed Technical Specification.
All source codes created by Soft4Cad team will be provided to the customer. Moreover, the contract stipulates that all intellectual rights to the program developed by Soft4Cad team shall pass to the customer upon completion of the project.
Theoretically, yes, they can. But it usually does not provide protection from anything. A programmer can develop a similar program, but the source code will be different. This is like a situation when two people are writing an essay on a given topic - both people are writing about the same thing but using different words.
In addition, each country has its own legislation regarding patenting.