Service Reusability KPI

A brief account on what a reusability KPI is in SOA.

Posted on December 15, 2012 by Ernesto Garbarino


Reusability refers to the number of times that a software asset is used over a period of time by other software assets. The term is typically applied as a prefix to a specific software asset as in “Service Reusability”.

Service Reusability

Service reuse is typically understood as the number of consumer applications and/or projects that use a given service during a period of time.

Service reusability is one of the most touted benefits of ESB-centric SOA and the one that, in our experience, materialises less in practice. Some of the key reasons as to why service reuse does not occur are:

  1. Use of a bottom-up service development strategy: the main risk in a bottom-up service development strategy is precisely that services may not be required by any consumer applications at all.
  2. Consumer applications have several exclusive features: The reason why applications get commissioned in the first place is that bespoke functionality is required. It follows that services created in response to functionality required by consumer applications (top-down service development strategy) are likely to be useful only to such consumer applications.
  3. Use of an ESB as a front-end/back-end separation layer: Under this scenario, all functionality required by a consumer applications is implemented as services. Given the previous point, the reusability ratio is likely to be low.

Service Reusability is also one of the opportunity–cost considerations in an Integration CBA

Service Reusability KPI

A formula that may be used to calculate the ratio of usability that applies to an integration platform. For example:

  |      A             |      B 
1 | Service            |  Consumers
2 | GetQuote           |      2
3 | GetInvoice         |      4
4 | PlaceOrder         |      9
5 | REUSABILITY INDEX: |      5    

Formula at B5 = AVG(B2:B4)