Skip to main content

Reuse – easy to say hard to use


Reuse is often cited as a major SOA benefit and justification. It is easy to explain and to understand Reuse Value Proposition in IT and Business perspectives.

Services and Processes Reuse reduces Maintenance & Development costs, enable shorter Time to Market and is a key for building applications through assembly of existing Services by non-IT employees as mentioned in my first Web 2.0 for Dummies post .

Understanding, Reuse Value Proposition is not enough for realizing the benefits.
A SOA initiative without Reuse or with a low Reuse Ratio is doomed to failure.

According to many analysts' reports, NIH is a consideration of some software products they analyze. NIH, stands for Not Invented Here. As most of the analyst firms' headquarters are in the largest market i.e. USA, it stands for software products build by companies in other parts of the globe. For example, Fujitsu's excellent BPM suite invented in Japan or many years ago Dynasty one of the best Client/Server IDEs developed in France.

Some enterprises, I know extended the NIH concept significantly: the H (Here) stands for another department in the same enterprise or even another team in the same department.

I am sure that implementing SOA Reuse in an enterprise of that kind is almost impossible mission.
Creating a Reuse Culture is the key challenge for almost any enterprise implementing SOA. For enterprises having the extended NIH culture it could be the main reason for failing SOA initiative. They should change their Maturity Level prior to initiating their SOA initiative.

On the other hand Service Reuse is probably not as difficult for enterprises which already experienced other Reuse types such as: Objects Reuse in Object Oriented or Components Reuse in Component Based Development.
Key Reuse Success Factors


  1. Reuse Culture

This challenge was partially discussed in the beginning of this post.
Employees in an enterprise adopting Reuse Culture will constantly prefer usage of existing assets
(Services) over building new assets.
The assets included in the Services inventory could be assets invented here as well as NIH assets i.e.
Business Partners Services and SaaS services.

It should be noticed that Reuse requires different budgeting and accounting patterns. Departments using Services developed and/or maintained by another department should participate in these activities costs.

The rewarding schemes should also be changed: rewarding some of the less productive IT employees (in terms of writing programs) instead of the most productive (e.g. developing a large amount of programs or systems).
These "less productive" are actually more productive they Reuse instead of building new programs.

2. Management

Services functionality should be published and managed in order that any potential user could think of
reusing them. Technically, the meaning is usage of easy to use Service Repository.
It also implies a new role: An expert of Service inventory. Systems Analysts should consult him for
matching Services to their systems.
Management in this context also implies Change Management.

For example, unifying of functionality of a bank branch and bank customers via internet by building a
common service, may require a decision about change frequency. The more dynamic internet channel
may require frequent changes, while the conservative and robust branch change rate is slower.

3. Service Boundaries
Facilitating Service Reuse is dependent upon services granularity and boundaries. Business defined
boundaries are a key for high reuse ratio.
Some SOA implementations are only Service usage by Multi-Channels. In that case Legacy Services
granularity could be too coarse.

4. Extensibility
Services should be defined with future usage by other applications in mind.
In many cases Service Reuse by other applications will require some modifications or extensions and a
new Service will be built instead of reuse in case of hard to extend or change services.

5. Measurement
I participated in a presentation by a large enterprise describing its ESB based SOA implementation.

Talking to this enterprise SOA evangelist I tried to figure out the real advantages. "We did not measure it" was the answer to my question: What is the service Reuse Ratio in your SOA implementation?
Service usage should be measured systematically. The measures could identify Services which are rarely used, services that are used only by a single
-->application or single channel or single user (i.e. no Reuse or low Reuse rate).

Comments

Popular posts from this blog

The mainframe: still alive and kicking

Recently, I was interviewed by  Pcon   (unfortunately the link points to an Hebrew only site) as part of debriefing on Legacy Systems.  Pcon is an Israeli company investigating IT topics by quoting professional articles and interviewing experts. They publish the results of the investigations including practical recommendations. This post is mainly about topics raised by me during the interview, but not included in the debriefing, which will be published.    What are Legacy Systems? The term Legacy Systems refers to old application systems and/or veteran technologies still in use.  Usually, the term Legacy Systems is associated with: 1. Mainframe Hardware e.g. IBM System z and its Operating Systems or Proprietary Servers and Operating Systems such as HP Alpha and OpenVMS Operating System, IBM AS/400 and OS/400   Operating System. 2. Development and Production Environments, e.g. COBOL , Natural and DBMS systems such as Adabas  ...

Will Business and IT Aligned?

For decades we are talking about closing the gap between business and IT , but the gap is still as wide as it was. In the beginning of the ERP era, we focused on aligning Business Processes and Core Systems, but in most enterprises we failed. SOA was the next alignment promise: defining the SOA Services in Business boundaries instead of Technical boundaries, should narrow the gap. However, despite of SOA Business Value ( Agility and Reuse )  in most enterprises,  the large Business-IT Gap remained as large as it was.  The IT Community aimed at the next alignment attempt: SOA is technical and BPM is its Business related complement.  Will the current BPM based alignment attempt succeed? I do not know, but Nick Heath's article  titled: Stop doing what the vendors tell you, CIOs told , published in  Tech Republic , suggests that the root of the problem is not Technological .   Stop Doing What the vendors Tell You Nick Heath's article is based ...

Vendors Survival: Will Software AG Survive until 2019?

This post is another post in the Vendors Survival series following posts on Microsoft , Google , HP , Sun and EMC . On July 14 th Software AG and IDS Scheer announced that Software AG is going to take over IDS Scheer . The intended acquisition is an opportunity to add another post in my Vendors Survival posts series. A brief history of Software AG Mainframe products Software AG is larger than any German software company except SAP . It was established in the Mainframe age (in 1969). I worked with many customers, who used and some of them are still using, its two flagship products Adabas and Natural . Although these products support many platforms, their main platform is IBM Mainframe. Adabas is a database and Natural is a development environment. Like other pairs of Database and Development Environment in the mainframe environment (e.g. Ideal and Datacom , Mantis and Supra) build by the same vendor, they are tied together. As a result, although it is possible t...