When developing customized software it can be tricky to determine the cost a customer is expecting to pay and the exclusivity rights a customer is expecting to have. There are different approaches to pricing software customization work and to determining exclusivity rights. In this post, I will discuss three common approaches for software developed in United States:
1. Customer wants to maintain full exclusive rights to the code.
2. Customer wants to maintain time limited exclusive rights to the code.
3. Customer wants to maintain lowest possible development costs.
First, customer wants to maintain full exclusivity rights. This approach is in fact an employment agreement. Under this scenario the customer’s costs are very high. One way to determine the hourly rates for programmers is to use the US General Service Administration (GSA) schedules. (Search for “gsa labor categories rates” or visit this link, as an example.) These schedules provide hourly rates, set by the US Government, and are used by the government to pay developers that are hired as contractors. (Even the GSA prices can be considered low, for exclusive rights to code, since most US Government contracts are designed such that the US Government cannot be double charged for the same work. The US Government does not pretend exclusivity for the work done by a contractor and thus the GSA schedule does not properly represent the hourly cost for exclusivity agreements. A more fair price would be to charge somewhere around 120% to 140% of the GSA prices for exclusivity agreements.) The cost of exclusivity is good for customers interested in maintaining full control of the code and which have the money to finance the project fully. When a project includes software that was already built by the developer, before the agreement, then a licensing agreement that covers the cost of the earlier developed software should also be considered.
Second, the customer wants to maintain time limited exclusive rights to the code and she does not mind if the code is used by the developers in other projects, for other customers, once the exclusivity period runs out. (This is the preferred way for DMMD to do development work.) This approach tends to be a win-win situation for both parties. The customer will pay a lower development cost, while maintaining a leg up over its competition by having the time limited exclusive rights. The developer will also benefit from this agreement by being able to leverage the code in future projects. Setting the price for such projects should be very flexible from both ends. A range of 70% to 90% of the GSA schedule might be a reasonable fee. Alternatively, the parties can agree on a fixed monthly payment that will cover the development costs for a particular period of time. This takes the pressure off the agreement since the costs are fixed and allows for better financial planning by both parties.
Third, the customer wants to maintain the lowest costs possible. In this case, the customer should expect no exclusivity rights at all. This would mean that the developer could potentially take the code and sell it to the customer’s competition. Under this circumstance, a fair price might be 40%-50% of the GSA schedule.
In conclusion, software development is a service where two parties agree to develop something together. The money a customer agrees to pay and the price a developer is willing to work for, will depend on many factors. There is no right or wrong way to pay for the development of a software project. The three mentioned cost approaches can be used as guidelines. Most often than not, it is in the interest of both parties to reach an agreeable working partnership and the customer and developer should be willing to negotiate in such a way that a positive outcome is reached and the project moves forward.
– Darian Muresan
no comments