Outsourcing of a project or application involves contracting a third-party vendor to perform the work, either on- or off-site. The completion of the contract is the delivery of the project or application software.
For service levels to be established in the case of a project or application scenario, three basic questions need to be answered:
What is the outsource provider's responsibility?
What standards or development practices are required?
What defines the "goodness" of the deliverable?
Answers to these questions will guide us in outlining and defining which service levels are most appropriate.
First, defining the areas of responsibility provides an opportunity to define hand-off or touch points where deliverables are passed between the provider and the customer. The most obvious hand-off point is the final deliverable, but other hand-off points may include specifications, design, test plans, test cases, code, and so on. Each hand-off point is an opportunity for measuring the level of service. What will be delivered to the provider, and what will the provider in turn deliver?
Function point analysis has an obvious role here. For example, the initial deliverable to the provider may be a requirements document. Here's an excellent opportunity to size the requirement and to establish a service level that measures the size of the final deliverable. As scope changes are introduced, they will be sized using function points, thereby identifying to both the provider and the customer a specific quantification of the end deliverable.
Second, knowing what standards or development practices are required typically leads to the establishment of one or more compliance-related service-level measures. The opportunity to use function points is limited in this aspect of the outsourcing arrangement. However, there may be a desire to monitor productivity, measured in function points per unit of time or cost. The proper use of development tools and techniques during the development process will influence productivity, of course, and the function point-related metric can be used to measure the effectiveness of the selected tools and techniques.
Finally, the "goodness" of the deliverable is the most basic of the service-level measures. Here function points would usually be the denominator in a variety of metrics equations measuring such things as rate of delivery, duration, cost, and quality.