There are basically two kinds of software companies. One provides as complete a solution as possible (a product) and the other is essentially a services company that combines some software that requires services to complete the solution. Sometimes this is referred to as a 70% Solution. The two approaches can be profitable. The big differences between the two approaches are operational business models, the ease of growing, and margin.
With a complete solution, the strategy is to identify a problem or need, and build a complete software solution that requires very little dependency on additional services to make the solution complete for a market of buyers. Ideally no services are needed.
With a 70% solution, the strategy is for the software to be a tool that drives services revenue. The software needs to be complete enough in the buyer’s eyes, but still require services to take it from a 70% solution to a 100% solution.
With a complete solution, needs are identified through market sensing activities. Needs are identified, clarified, validated, and quantified. Then the solution is created. Every capability built into the solution is evaluated on the basis that it satisfies a broader market need.
With a 70% solution, needs are driven by sales opportunities. Each sales opportunity is likely to have unique requirements. Some are handled in the field by the services team. Others require development effort to add features to the software. Every capability built into the software is evaluated on whether it can satisfy one customer’s needs.
With a complete solution, the development team builds software that ensures it can scale to a large customer base and is supportable without the need of a field services team.
With a 70% solution, the development team has license to take shortcuts knowing there is a services team in the field that can take the ball from the 30 yard line and carry it into the end zone (apologies for the American Football reference… please substitute your sports metaphor).
Here’s where complexity and technical debt begin to creep in. With a 70% solution, field customization of the delivered solution is inevitable in order to satisfy the needs of individual customers. Strict standards and guidelines can be instituted to ensure that field-initiated customization is contained. This – hopefully – should make it easier to upgrade customers to future versions of the software. But when under pressure in the field to deliver a solution to a customer where revenue is on the line, sometimes guidelines and standards are ignored.
Over time field customization becomes a significant technical challenge for the development team. In an effort to keep all customers happy, innovation is gradually compromised as every incremental improvement must be scrutinized to have the least amount of negative impact.
Scaling the Business
The challenge with the 70% Solution for software is scaling the business.
The 70% Solution requires adding people (labor) to grow revenue. People are needed to deliver the final 30%. There is a one-to-one relationship with revenue and labor.
With a software product scaling is easier. More people may be needed but the one-to-one relationship between labor and revenue doesn’t exist. There is less constraint to growth while at a much higher margin. It’s one of the key drivers why the software business so appealing.
Making the Transition
If you are in a business that wants to make the transition from a 70% Solution to a complete product, you will face interesting challenges. Some will be easy, and some not so easy. In a future blog post I’ll explore some of the challenges you should expect to experience, resistance you’ll encounter, and what you should do to ease the transition.