Friday, March 07, 2008

Software Oriented Services

Before we begin
Throughout this note, the term “service” or “services” are NOT used as executable pieces of business logic (as used in SOA), but used in the economics sense – a set of benefits delivered by the service provider to the customer by supplying some level of skill, ingenuity and experience. Services and service offerings are used interchangeably in the note.

IT Challenges
IT Departments and CTOs (the “customer”) face two common challenges today when executing software projects, application and software maintenance services via Systems Integrators (SI). These are:

  • Lack of predictability in costs – This has various reasons when executing an application development project including scope creep, poor quality (leading to rework and hence higher costs), improper planning etc. When it comes to application maintenance services it could be due to peaks and troughs in the application’s defects lifecycle (leading to over utilized/underutilized resources, delays in implementation etc.)
  • Lack of predictability in quality of the software – This is another major concern that is usually the result of lack of skilled resources, poor defect detection and prevention during early phases of the lifecycle, lack of clear definition of requirements/acceptance criteria etc.

What are Software Oriented Services?
Software Oriented Services (SOS) are services that adhere to an execution framework that attempt to assuage these two problems and bring in better predictability in executing application development projects and provide better application and software maintenance services to the end customer.

At the heart of it, the fundamental principle behind SOS is simple. The SI first needs to identify what it is really good at based on factors such as past experience, knowledge base built on, skills available and ready-made software components available. It then defines a set of services based on what has been identified that the SI can confidently claim to be repeatable (in terms of quality and cost) and hence predictable. These can then be introduced as specialized services that the SI introduces to the market with the assurance of predictability backed by guarantees to the customer in the way of Service Level Agreements (SLA), result-oriented contracts and other such means. The reason why they are called SOS and not just services is to emphasise the fact that there is a software component to the service that requires specialized knowledge/skill of the software and that they are not purely business process oriented thus differentiating them from traditional BPO services.

The idea is to provide the kind of predictability that traditional BPOs and IT Infrastructure management services have been able to offer in terms of quality and cost to the service provided but in the software realm.

While SIs offer many services, the SOS offerings will be always be the ones that the SI can guarantee a degree of predictability.

To explain this better, let us take an example from the consumer electronics products industry. It is like the difference in buying a Samsung LCD TV and buying a Samsung Home Theatre in a Box (HTIB). It is common knowledge that Samsung makes great LCD TVs and there is an assurance of predictable and guaranteed quality when you buy one (costs are always predictable because they are products, so these are not mentioned). However, when it comes to HTIBs Samsung hasn’t made its mark yet (as compared to say an Onkyo) and you may find some chinks in the products under this range. Yet, Samsung’s goal would be to quickly achieve the kind of name it has been in LCD TVs, with HTIBs too and because it is in the same consumer electronics area in which it has vast experience and knowledge, eventually this should be possible. In this case, Samsung’s LCD TVs can now be classified as a SOS offering (ie if LCD TVs were a software service offering) and HTIBs as another service offering but one that hasn’t yet reached the SOS stage.

Just because a service hasn’t been classified as an SOS offering, doesn’t mean it isn’t good enough for consumption. It just means it hasn’t reached the level of predictability that say the customer would like. The service offering may still be a viable one such as the HTIB case in Samsung otherwise the SI wouldn’t bother spending time and money in introducing that service to the market.

Salient Features of SOS
Now that we have looked at the definition of SOS, let us look at what characterizes SOS.

  • The first and foremost feature of a SOS offering is that its cost and quality are predictable to a high degree of accuracy. This definition may take the nature of a clearly defined SLA, a result-oriented contract or clearly defined acceptance criteria.
  • The second feature of a SOS offering is that it could be offered to the customer by the SI in one of two ways
  1. As a dedicated service – In this model, the hardware/software infrastructure and the personnel are dedicated to the customer and cannot work on or used for other customers. This model increases the cost for the end customer, but offers better security of data for instance.
  2. As a shared service – In this model, some or all of the same hardware, software, and personnel will be used to provide similar services to multiple customers. This model reduces the cost for the end customer and should be used when security of data is less of a concern.
  • The third feature of an SOS offering is that it has some software component attached with it. This could be software that the SI built (its intellectual property) or some software tools and products that the SI has gained mastery on and can confidently offer services around them as an SOS offering.

Benefits of SOS
Because an SOS offering bring in an increased degree of predictability in cost/quality and penalties/rewards for wavering beyond what is defined, customers are allowed to better plan IT budgets and are also delighted with the services provided.

SOA vs. SOS
Finally, since what has been written here also starts with a “Software-Oriented”, it is worthwhile differentiating it from SOA. SOS offerings are an execution philosophy, whereas SOA is an architecture philosophy. Service in SOA means an executable piece of business logic; service in SOS is the definition of a service given at the beginning of the note. SOS maybe applied where SOA is used, but SOA need not be applied when SOS is used.

When to use SOS?

SIs that define SOS offerings cannot do so for every service offering because the software landscape is forever changing, there are many complex components in a software service offering and thus does not lend itself to predictability always. However, an SI usually has some services that have stabilized, where the company has vast experience, knowledge and skills, has built up a sizeable software component library etc. that can be defined within a predictability framework.

No comments:

Post a Comment