Last year my boss Jesse Lambeth came up with a fun little example to illustrate some key concepts and differentiators of our approach to SOA Governance: separation of functional and non-functional, governance by contract not by policy, distinction between functional service and consumable service offering, reusability of contracts and functional services, and interaction across domains of control.

Once upon a time in a far-far-away economy there were two lines of business, one is a home owner (consumer) and the other is a lawn care service (provider). The consumer needed someone to take care of her lawn and came up with the following requirements:

Consumer requirements (Home Owner):

(Functional)

Grass will be maintained no lower than 3” or higher than 4”
Grass will be fertilized regularly with weed control
Shrubbery excluded from care

(Non-Functional)

Service will not start earlier than 9am and must complete by 5pm
Service will extend through end of Fall (end of October)
Service will not be provided on weekends or on Holidays
Under no circumstances will mowing occur more often than once per week
Both billing and payments should be done by mail to a designated billing address.

(Constraints)

Cost of service will be a monthly charge of no more than $115

Armed with those requirements he took the phone book (service registry), navigated the index (service taxonomy) and started browsing through the landscaping section (target-rich environment). She reviewed the ads placed by different providers until she found the one she liked:

Acme Lawn Care Services:

(Offerings)

Functional Service

With Silver Contract

With Gold Contract

Lawn Care Basic Plan

$75/month

$90/month

Lawn Care Health Plan

$35/month

$45/month

Lawn Care Comprehensive Plan

$100/month

$120/month

The Provider Service Offerings are constructed from the following constituent items to meet the customer’s requirements.

(Functional Services)

[Lawn Care Basic Plan]

Consumer specified grass height range between 1” and 5”
Consumer specified inclusion/exclusion of shrubbery trimming

[Lawn Care Health Plan]

Grass will be regularly fertilized as necessary
Grass will receive weed control treatments as necessary

[Lawn Care Comprehensive Plan]

Service created from aggregation of Basic and Health Plans.

(Contracts)

[Silver]

Service will only occur on Mondays and Fridays excluding Holidays
Service time is consumer specified to be no earlier than 7am and not later than 7pm
Monthly payment is due in cash at the first service of the month
Service availability is consumer specified to not be longer than 1 year from start of service

[Gold]

Service can occur on any consumer specified day and time
Service time is consumer specified to be no earlier than 7am and not later than 7pm
Customer will be billed monthly via paper bill sent by mail.
Service availability is consumer specified to not be longer than 1 year from start of service

The prices, services and contracts are valid from April 1st 2007 through April 1st 2008 and subject to change thereafter.

Having reviewed the characteristics of each service offering for applicability to his requirements, and realized that (as in happens in real life) none of them is a perfect match, the consumer then selected the Lawn Care Comprehensive Plan with the Gold Contract as the closest match to his requirements.

Note that from the consumer’s point of view, the service is not just the Lawn Care Basic Plan but also incorporates the appropriate contract as well which governs the relationship between consumer and provider. The actual person that comes out to deliver the service now understands not only what is to be functionally done for the home owner, but also when, where, and how. Also please take another look at the last paragraph of the above example which reminds us how dangerous it is to advertise something without clearly specifying a period during which the offer and the terms are valid and brings un to the notion of service lease, which will be the subject of a future post.

Please bookmark with social media, your votes are noticed and appreciated:

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

This blog copyright 2009 by Alex Maclinovsky