Monday, July 16, 2007

Software as a Service Paradigm

The Mckinsey Quarterly article on Software as a Service (SaaS)is very thought provoking. The idea here is to work software as a utility. Businesses or people can tap into this utility to do thier daily work. Rather than the existing practice of building and owning the software why not pay for only use. That is if you are not using then do not pay for it. This will deliver very effective IT systems and very good model if it can be accomplished.

The article argues that there is a need in the marketplace for software delivered as a service (Utility Model). But cautions all existing vendors that software organization has to be approached differently for this to be successful.

This Software Utility model, has been attempted earlier with ASP model of delivering software. This never really took of as the business model had a fundamental flaw. The thought here was that we can create different instances of software for each customer and they can be charged on use. If a customer needed a ERP software then a instance of this would be created centrally which can be used by the customer. But the fundamental issue that was overlooked was that all package software goes through customisation, and this is were most of the ownership costs orginate. The new avatars of the SaaS model have the same issue, as long as you can fit into the software model, it will be successfull.

These issues crop up as software is built as closed systems. All software now is built out of algorithms. Algorithms by thier very nature are closed, as they expect a input and produce an output after the algorithm has completed (a very sequential method).

For a good SaaS implementation, it is important that systems that are constructed are open and not closed systems. I believe that software based on Process calculi will be able to address Utility based software development,as process calculi by it very nature assumes concurrency.