At the core of every Service Oriented Architecture is the service and the variations that can be created. Having defined a service many architects are unaware as to how services should be defined and in particular the granularity of the services to be defined, and therefore the cost of getting it wrong i.e. too many fine grain services decrease performance where as a few coarse grain services reduce the amount of agility within the deployment. This paper discusses how services are typically categorized and therefore how the system can be developed to address the granularity concerns while allowing both agility and the appropriate performance to be attained.