ArthurSittler |
05-17-2010 04:06 PM |
get it in writing
What follows in this post is actually just opinion except for the reference to situations where contractors did not deliver complete project documentation to the customer. I am not an experienced database developer.
Morally and ethically you should own the database and all its related parts and pieces. This excludes the database engine, if you choose to use one of the excellent free database engines. However, I have seen counter examples with other sorts of software products. The contractor's intent, which they were partially successful with, was that the customer would be forced to go back to the same contractor for upgrades and bug fixes.
If you contract out the implementation, I recommend that you explicitly include language in the contract that you own the implementation and all the related documentation when the product is delivered to you.
The database itself is only one of many pieces in a database project. Much of the cost of implementing a database involves the definition of the customer's requirements and documentation which defines what actually comprises the complete project. There are also intermediate forms of descriptions of the database, including entity-relationship models, inheritance diagrams, and relation diagrams. There will also be some meetings or interactions between the customer and contractor. A competent, ethical contractor will keep notes of every meeting, and it may be a good idea to keep signed, dated paper copies of the notes. Email is a great help, because the traffic is documented automatically and followed up with acknowledgement or corrections in subsequent emails.
Unfortunately, the requirements and project definitions probably will change as the contractor and customer get a better idea of what will be actually needed for the finished product. Both the contractor and the customer need a fairly concrete idea of what the database will actually do to control "feature creep" later in the development process. The project definition must acknowledge that such things will nearly unavoidably occur, and provide a management method for them that is fair both to the customer and to the contractor.
|