Once again, I'd like to return to the economic model for SOA. This time with a comparison to other systems of payment. I will discuss tax supported, tax augmented, tax neutral, and tax antagonistic payment systems with respect to SOA.
Long ago, in our society, we accepted the notion that government has a role to play in our lives. For better or for worse, we allow and empower the government to tap various sources of revenue as taxation. Those taxes are used to pay for services that we all share. In the county in which I live in Washington state, taxes pay for services like fire fighters, police, courts, schools, universities, roads, prisons, health care for the poor, and bus services. My federal taxes pay for other things as well. These things are Tax Supported.
Interestingly, my taxes do NOT pay for electricity, water, sewer, or telephone. I have to subscribe to those services, and for them, payment is metered. I pay for what I use. If I use less, I pay less. I can cancel at any time. There ARE taxes on those service payments, and they pay for things associated with the service itself (for example, a tax on my phone bill pays to extend telephone service to distant rural areas that are not economical for a phone company to serve). These services are Tax Augmented.
There are more services available, of course, which the government doesn't have much to do with at all. For example, I can exercise at a local gym because I pay a monthly fee. That gym is neither dictated by nor supported by tax dollars. My monthly fee doesn't include a direct sales tax (although the gym does pay taxes on that income in another way). The business model is not significantly affected by taxes or government services. Most commerce in the US falls into this category. These things are Tax Neutral.
There are a small number of services that some folks actively dislike. The government wishes to discourage these services, and therefore levies taxes that are higher than other services specifically for the purpose of killing off demand for the services themselves. These include taxes on cigarettes and alcohol. These services are Tax Antagonistic.
In effect, the government cannot control everything and it is suicidal (to the economy) to try. That is our capitalistic model, and for the most part, we are prosperous for it. So how do we apply that to SOA?
If we take the same four categories: tax supported, tax augmented, tax neutral, and tax antagonistic, can we use that same approach to not only govern but also pay for Service Oriented Architecture?
There are some things we all need for a reasonable infrastructure both within a company and between companies. We need shared data models, business objects and business events. We need taxonomies for organizing our behavior, mechanisms for governing our systems, and people who meter, control, and pay for them.
All that overhead requires support, and no one supports it willingly. The problem is that it is (a) necessary, and (b) uniformity is the most efficent way to handle it. Just as having every neighborhood hire their own police force is inefficient and can lead to difficulty when a criminal crosses a boundary, having two data models leads to difficulty when you want to discover information across them. These items should simply be paid for from general taxes. If you are part of the business, you pay them. No questions, no options, no choices.
I would include auth/auth services, security review, architectural review, common model planning and adoption, service directory maintenance, service failover, master data management, EDI interfaces, extranet services, and many more in the Tax Supported category of services.
Some services are utilities. If someone needs the service, they are happy to pay for it, but for some folks, paying that price may be difficult. Therefore, the utility services are free-standing, metered (charge back) services. We only put them on services that (a) the business user could theoretically choose to do without, and (b) the business can easily understand the rationale for them and is willing to pay for them.
While it should be a goal to move some things from the Tax Supported to Tax Augmented category, you will notice that in real life, I pay for literally hundreds of services with my "Tax Supported" dollars, and about five with my "Tax Augmented" dollar. In other words, that goal will be rare, and to intentionally move a service to this category that does not belong here will kill it. Just as you cannot pay for public transportation through self support, (everyone who has tried, has failed), you cannot pay for Enterprise Architecture or common data models through user fees. It doesn't work. Don't try.
About the only thing I can think of for this category, in IT, is Business Intelligence, and even then, I'm not sure I would add the overhead of metering to BI. In general, enterprises probably need to simply avoid this category altogether. I said as much in my diatribe against chargebacks earlier this week.
This is an interesting category and one that challenges the "economy" analogy. This category is the area of commerce where over 80% of economic activity occurs in our society, where the government is a small amount of overhead and simply irrelevant to the day-to-day operations. My video rental store pays taxes, but the government doesn't decide what videos to stock, how much to charge, or what the return policies should be. My local Walmart is part of a huge infrastructure of retail distribution. Walmart doesn't base very many of their merchandising decisions on government policies.
Take care with the anology here. The IT department in a corporation, even in a large one, is roughly equivalent to the economy of a very small town. (In a small or medium company, you need to compare yourself to a single family household). While, in general, there is plenty of room for many hardware retail companies in the economy, there is not room for a single town of 1,000 people to support six hardware stores. The market becomes so diluted that each one loses money. Unfortunately, in IT, we don't have the ability to simply foreclose on a service that loses money.
In IT, the folks in Enterprise Architecture are paid for, and focused on, the first tax category. Therefore, it is easy for EA folks to ignore the relative importance of this area to overall commerce. For the Internet as a whole, 80% of the services need to be created by business-aligned companies for the use of business customers.
It is also difficult for business folks to recognize how small their IT division really is. Within a corporation, where EA lives, there should be a minimal number of overlapping and competing services in use at any one time. Just as you do not need both Cable-Model and DSL internet connections to your home at the same time, you don't need two different IT systems to handle Customer Relationship Management.
These are services that are being provided to customers, but which the government wants to discourage. In IT shops, this is an interesting one. Getting voters to agree to punish one subset of folks is apparently far easier than getting business people to punish one area of the enterprise. Corporations are more political than that. Therefore, while I think this model could be useful to encourage some folks to move off of outdated infrastructure or off of a retiring platform, it is unlikely to be approved or sustained for any real length of time. I would be surprised to find a working model for this type of discouragement in an IT organization.
The analogy of how government provides for, controls, and discourages the creation of services in an economy is a useful analogy for IT departments. As we progress towards an understanding of efficiency, it is useful to categorize your services by the tax model that you believe will hold true to pay for them. If you are building a service that should be provided for everyone, but it is paid for by a single business as a part of optional infrastructure, then you are likely to fail. Just like a business paying for their own police department, tax supported services cannot be sustainably offered by tax neutral teams. You need a tax system to pay for them.
PingBack from http://msdnrss.thecoderblogs.com/2007/09/23/paying-for-soa/