Software development contracts normally call for partial payments at specified milestones, with final payment due after completion of acceptance tests. Organizations should structure payment schedules so developers have incentives to complete the project quickly and properly. Properly defined milestones can break development projects into deliverable segments so an organization can monitor the developer's progress and identify potential problems.
Organizations should exercise caution when entering into software development contracts that base compensation on the developer's time and materials. A fixed price agreement with specific payment milestones is sometimes preferable because it provides an organization more control over the development process and total project costs.
Contracts should detail all features and functions the delivered software will provide. If a vendor fails to meet any of its express requirements, organizations should retain the right to reject the tendered product and to withhold payment until the vendor meets all requirements.
Representations and Warranties