One of the reasons why projects end up taking longer than estimated and therefore costing more is because the tough stuff is left to the end or at least not accomplished first. Sometimes the development team takes too much time on the project 'fine tuning' unimportant or at least less important features. After the customer has prioritized the desired features, the development team should work on the highest priority items first focusing on the features that are more technically difficult for the team to implement.
2.4.1 Proof of Concept Method*
A proof of concept is a test of technology used to establish the truth. A proof of concept allows the developer to isolate a technology problem for testing. PSDP uses them at key points of the software development process. Proofs of concepts are particularly important when working with new technology or extreme business rules. For example, if the software must communicate to LED signs through a particular piece of hardware over the Internet, PSDP recommends the development team perform a proof of concept for that aspect of the software as soon as possible.
*Proof of Concept Method is explained in more detail in the PSDP Development document.
Guidelines
Keep it simple.
Keep it independent of your project.
For database examples, use default databases. Whenever possible, use the default databases that come with the tools you're using.
Check Into SourceSafe
Because proofs are independent of your project and reusable by other developers, check them into SourceSafe. For example, the following are guidelines we use at Prestwood:
Create a subproject for each proof with the following naming convention:
ProductVersionID ProofIdentifier
For example:
CS08 Outlook Calentdar Insert P8 ExitWin API Call D7 TrayApp