By Raaj Shinde | Apr 20, 2009
Over the past decade to a decade-and-a-half, globally we’ve seen a big increase in outsourcing of applications to outsourced applications providers by medium and large enterprises, and many of these people have been very successful. Some have not been as successful as others. If you look at the projects that have been successful, you will find that they share some common characteristics, same way the projects that have not been successful also share some common traits.
One of the traits you will find through the unsuccessful projects is that they have been challenged by managing requirements. When you outsource an application to a vendor to be developed offshore or onshore, you have to define requirements initially and most people do that. I think the challenge is in managing the evolution of the requirement as the application goes through the application development life cycle. Challenges with managing requirements unfortunately result often in the delivery of a system that does not meet the end-user's requirements.
Many customers who are consumers of outsourced application development manage requirements using documents, and document-centric requirements management can be a significant challenge. I think there are modern software engineering techniques and tools designed to make the requirements management and enablement of engineering of requirements through the life cycle much more seamless and easy, especially when there is an outsourcing element of distance between the organization that outsources the application and the organization that develops the application. And these are some of the things that people can take a look at to ensure that their applications are developed successfully.
Managing Service Level Requirements
A Service Level Agreement (SLA), as the phrase suggests, is an agreement between two parties - a service provider and a service consumer, and it defines typically the minimum acceptable level of service that the consumer expects from the provider. It is also these days a legally-binding agreement, so that it is enforced legally or enforceable legally. And it defines the minimum acceptable level of service that the consumer is willing to accept from the provider.