Developing software is a complex task. Especially the interaction between client and contractor is very challenging because de facto the client cannot completely describe his requirements for the system to be developed due to the complexity. This must be considered when arranging the contract of the cooperation.
Fixed price agreements require a precise description of requirements to achieve a high level of certainty for the pricing. Because it is impossible to define precisely all requirements in advance, this kind of agreement is often conflict-laden. The planning certainty for the client suggested by fixed price agreements is usually not given. Furthermore, the contractor is tempted by fixed prices to produce software lacking the necessary quality. Therefore, the sustainable maintenance and further development of the software is endangered.
The first part of this paper examines the pitfalls of fixed price agreements and their impact on requirements engineering, project management and software quality. The second part “The Art of Assigning Software Development” will describe alternative agreements between client and contractor that lead to better quality and results.