In my opinion, one of the biggest benefits customers enjoy with a hosted solution is the reliability that ensues when you only have to support a single environment, one which you as a vendor, have total control over.
Having worked for a number of software companies, and helped them grow from start-up to IPO, I am struck by the change in the character of Engineering. In the early days of the start-up, the engineering team (say, less than 10 staff) spend their time building new functionality. Productivity is impressive, and extrapolating what 1000 engineers could do makes you think you can take on the world. But then, slowly but surely, a greater proportion of engineering time gets sucked up in bug fixes. As the number of customers grows, the number of bugs, rather than decreasing instead tends to increase, and before long you do indeed have 1000 engineers, but the majority are employed on maintenance.
I’ve seen this movie several times within my own companies, and dozens of times with other companies I’ve been familiar with. This is not down it any individual shortcomings, it’s a market dynamic, and one that cripples innovation in those companies.
The problem with Enterprise Software is that no one piece is an island. All software depends the operating system, and typically a database too. Usually there are important cross links to other systems such as email etc. Each of those components exists in many versions and with a variety of patches that can be applied in any combination. The result is that even for a company with 1000 customers, it’s likely that each installation is unique. The number of possible permutations of just 10 patches applied or not is 2048, and cross-dependencies can be both subtle and exponential.
No vendor can regression test 1000+ different combinations of software platform. So when your vendor tells you they haven’t come across your problem before, they are no doubt telling the truth. No customer can run on precisely the exact same software levels that are recommended, since other software will mandate other fixes, and in any event, the inevitable security updates render all such recommendations obsolete within weeks.
Given the complex nature of modern software, it can be hard pinpointing the precise cause of a failure – is it the application, the database, the operating system, or something else? The resultant finger-pointing increases the customer’s blood pressure and length of time taken to resolve as the customer has to take on the role of triage. When a hosted application experiences a failure, the accountability is clear.
A hosted service, with its single environment, takes all of that away at a stroke. Engineering can get back to its core job of innovating, not maintaining. Aside from making life easy for the customer with a more reliable system, the lack of maintenance costs flows directly to the hosted solution vendor’s bottom line and gives them a competitive advantage that enterprise software vendors cannot overcome.
No Moving Parts
In my opinion, one of the biggest benefits customers enjoy with a hosted solution is the reliability that ensues when you only have to support a single environment, one which you as a vendor, have total control over.
Having worked for a number of software companies, and helped them grow from start-up to IPO, I am struck by the change in the character of Engineering. In the early days of the start-up, the engineering team (say, less than 10 staff) spend their time building new functionality. Productivity is impressive, and extrapolating what 1000 engineers could do makes you think you can take on the world. But then, slowly but surely, a greater proportion of engineering time gets sucked up in bug fixes. As the number of customers grows, the number of bugs, rather than decreasing instead tends to increase, and before long you do indeed have 1000 engineers, but the majority are employed on maintenance.
I’ve seen this movie several times within my own companies, and dozens of times with other companies I’ve been familiar with. This is not down it any individual shortcomings, it’s a market dynamic, and one that cripples innovation in those companies.
The problem with Enterprise Software is that no one piece is an island. All software depends the operating system, and typically a database too. Usually there are important cross links to other systems such as email etc. Each of those components exists in many versions and with a variety of patches that can be applied in any combination. The result is that even for a company with 1000 customers, it’s likely that each installation is unique. The number of possible permutations of just 10 patches applied or not is 2048, and cross-dependencies can be both subtle and exponential.
Given the complex nature of modern software, it can be hard pinpointing the precise cause of a failure – is it the application, the database, the operating system, or something else? The resultant finger-pointing increases the customer’s blood pressure and length of time taken to resolve as the customer has to take on the role of triage. When a hosted application experiences a failure, the accountability is clear.
A hosted service, with its single environment, takes all of that away at a stroke. Engineering can get back to its core job of innovating, not maintaining. Aside from making life easy for the customer with a more reliable system, the lack of maintenance costs flows directly to the hosted solution vendor’s bottom line and gives them a competitive advantage that enterprise software vendors cannot overcome.
This entry was posted on Friday, September 3rd, 2010 at 7:29 AM and is filed under BoardVantage News, Industry Comment. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.