CIO’s Guide To Creating Sound Software Contracts