Writing custom software is tricky business, especially in a typical customer/software development vendor scenario. Whether using a more traditional waterfall model or some of the newest Agile techniques (e.g., Scrum) the process is fraught with risk for both the software vendor and the customer. The customer is usually frustrated by the process due to cost overruns, scope agreement, schedule delays or all of the above. The software vendor in many cases can experience financial losses and reputation hits that can threaten their very existence.
But what if the software development vendor wrote your custom software application for FREE? Would you sign a 3 to 5 year contract to let them host and maintain the software for a fixed-price per month or perhaps only charge you for the transactions that are processed by the system in a model similar to Software as a Service (SaaS)? To clarify my meaning of custom software here, I am referring to business applications that are unique to a particular customer and not necessarily leveraged across multiple companies.
Would a paradigm that places 100% of the risk on the software vendor during the development of custom software be feasible if it also provided a complimentary reward model for the ongoing hosting, support and maintenance? Here are some advantages that crossed my mind with this type of model.
- The burden is on the software vendor to get software up and running as soon as possible (since the vendor does not start getting paid until the software is functional) so time to market becomes paramount to the software vendor. The only acceptable result is software that is running and available to the customer.
- Since the customer will not begin paying for the system until it is accepted and operational, the quality of the software must be at the highest levels. The frustrating process of code, test, fix is no longer a typical customer experience. The only thing the customer sees is operational code that has been considered acceptable.
- The software development lifecycle model is the choice of the vendor since only they control the effort. Adoption of any particular approach (Agile, Scrum etc.) becomes a non-issue from the customer perspective. The use of global resources to keep development costs low are also the choice of the software vendor since the customer is only concerned about the resultant application.
- Priority of features and functions that provide real business value to the customer will be the driver of the software development effort since the customer will only begin paying for those features and functions that represent true value to their business. The vendor will be very sensitive to “wish list” features and will remove or defer them in place of the real value-adding functionality.
- Architectural integrity of the system must be at the highest levels. A system that is not architecturally sound will create enormous costs to maintain and therefore will deteriorate margins over time. However, a sound architectural foundation will ensure efficient and effective support of the system over time and provide the necessary profits to recoup the development expenditure and maximize the Return on Investment.
- This type of model should and would allow the software vendor to reuse components for other customers. Obviously the intellectual capital of each individual customer must be protected, but if engineered correctly the software vendor can protect each individual client and at the same time build a significant portfolio of reusable components/features that will yield even greater rewards (read profit/margins) over time through more efficient software reuse.
- Since the software vendor is managing this as Software as a Service (SaaS), all of the operational details of the system (security, access, intellectual property protection, scalability, modifications, reliability, performance etc.) must be state of the art. As long as the client has a browser, they have full access to the system and the assurance that it will be up and running and fully protected 24 hours a day, 7 days a week for one manageable payment per month, year or transaction.
- Ongoing support of the system (modifications, changes, phone support etc.) would be based on contractual service levels to reflect the business demands of the customer. Again, in order for the software supplier to make money, these operations would be based on best practices and drive efficiencies and effectiveness throughout the life of the software system.
- Enhancements to the system would be based on the same model and will only add additional costs once those enhancements are operational.
- The customer will no longer have to increase staff to support the system once it becomes operational.
- In theory, the software vendor will continue to get better at their game. The vendors teams will become more efficient, the software platforms used to develop and deliver applications will evolve with advances in technology as the vendor continues to drive efficiencies, and innovations created by the software development vendors will be passed on to customers in the way of declining development and support costs.
- Only software vendors that are exceptional in their trade could make this model work. These vendors will have enough financial resources to “front” the development process and will have built the efficiencies of a well-oiled machine in order to ultimately turn a profit. Firms that do not have a well-oiled operation will not rise to the occasion and theoretically only the strongest and best will survive.
Whether a model of this nature is possible will depend on specific contract language that will somehow lock the customer into the support arrangement assuming that the software vendor has done their job. No software vendor is going to invest thousands or perhaps tens of thousands of dollars (dare I suggest millions) unless there is some assurance that their product will be accepted by the customer. And of course the financial model must create a win/win for both the customer and the software vendor.
I would be interested in hearing your thoughts on this. Have you had any experience with this type of model? Do you believe this is even a viable business model?
I look forward to your comments.