What SOA approach would overcome this problem of SOA worst case scenarios?
On the other hand, you've got the opposite types. They may have come from the line of business and they understand some of the organizational aspects, but they don't really understand how the technology needs to be hand-in-hand with the solution. That's where you get the situation of mangling the standards to fit your own needs. Is there a middle path between these two extremes?
You either need an individual who has both the technology and the organizational skills. Or you need to pair them up together. You can create a team of people who have organizational skills and knowledge about how to make the organization successful together with the technology leaders to make sure the technology doesn't get misused and abused. Is the "people" role where an architect needs to come in or does it need to be a business person with real management skills?
It needs to be someone with management and organizational skills, but not necessarily a manager per se. Many times the role of getting service-oriented architecture into an organization is one where the people driving it don't have all the employees reporting to them necessarily. So if you have a CIO, for example, who is driving a service-oriented architecture mandate, he can drive that down through the reporting structure. That's an effective way. You have it driven through the managerial structure.
But in the cases where you don't have the CIO doing this you need a leader who can lead by influence. They can influence people to do the right things, even if they don't have direct command over the people. That takes an evangelistic kind of skill set. Some architects have it, others don't, but it takes that kind of skill set in the organization where you want to spread SOA through the organization, but you don't have it driven through the managerial side. Every organization is a little different in how they drive service-oriented architecture. It's important to understand the organizational side. Those evangelist skills are sometimes difficult to come by. Would a consultant to help with that?
I think it does. Consultants can help in a number of different ways. One of which is just to set people straight on the technology pitfalls. The other is to help drive the understanding of what is needed from an organizational standpoint. At some point, though, consultants can't necessarily drive an organization. So they have to serve in a supporting role rather than be the implementers of SOA for the organization. You're never going to be successful having a team of consultants come in, implement SOA and then leave because part of what you need to do is change the culture of the organization itself. And change the way the organization thinks about solving their problems in an on-going basis.
In many cases, they already have the people. The key is finding the people. Often the right way is to look at who has been successful at driving projects. You'll be able to find IT leaders who have successfully driven their projects that has not only delivered business benefit, but has also done it in a technologically effective way. So when you see these projects that have both the hallmark of good for business and the hallmark of done well from an IT perspective, not just a slash-and-grab IT approach getting it done as quickly as possibly however it can be done. It's the people who drove those projects to be successful that are the likely candidates to move into this kind of role of driving a service-oriented architecture. They may not have the entire set of skills and that's where consultants can help with training to fill the knowledge gaps. Or you can find other people in the organization that can be teamed with them as well.