In a few discussions recently I've been defending the idea that IT development will continue and that the business will continue to demand more complex functionality out of IT. Some have argued that the goal will be to create value out of the existing estate rather than new build being important.
I actually think that both sides are right and that this has some real implications on the skills that will be required in future in IT and the value that is placed upon them. There have been a bunch of studies recently that say the next few years will see demands on IT shift from being cost focused towards business value. What this means is that those in cost centric IT are going to find themselves more and more squeezed while those in value centric IT are going to find themselves in greater demand.
One of the bits around WS being a career choice is that as the exposure of services becomes more and more a commodity item the importance will be to understand what you do with those things. Understanding of the WS stack will be extremely important because it is exactly those things that you will have to understand what to do with. Sure the internet is cool and sexy, but the assets that you have are back inside the company, and this is where WS is rapidly becoming the only choice. The job of those in value centric IT will be to understand what to do with all these WS endpoints and of course how to ensure that what is exposed matches against the business service architecture.
Effectively the split between the heavy manufacturing part of IT, exposing services, driving cost out of non critical applications, the adoption of SaaS and BPO within an organisation, etc will be at that technical interface. Decisions will need to be made about which pieces are outsourced and which pieces are retained, and quite clearly the commoditisation and standardisation of those interfaces is going to be critical. For SaaS and BPO to really flourish then questions of security and data privacy are going to have to be solved in a standard way, it is no good having multiple different approaches as that will drive up the costs.
What this means is that the skills around assembly, composition and working with the business are going to be in greater demand. The skills around creating stand alone applications are going to be worthless and skills around creating interfaces on existing IT are going to be commodity.
To create this industry however and start creating production lines for IT means that there has to be a commoditisation on that interface between systems, and the critical interface for the next 5 years is going to be not the one externally (which is important, but new) but the interface on those existing applications. This means 100% that it needs to be WS-* based, it needs to be tooled and the interfaces need to including the QoS elements of security, reliability and more.
Once we have those applications wrapped and exposed in a standard way we can really start building on top of previous generations rather than just layering another load of cement over the dead bodies that the last project left behind. A major goal in SOA is to create a "use" culture within an organisation.
So a single standard way of describing a fixed interface and all of its SLAs is going to be critical. This mechanism needs to be tooled and it needs to be governed by policies and not by processes or bespoke implementation. There needs to be an acceptable definition of service and that definition needs to be an accepted commodity. The 802.11b of IT.
And here in lies the challenge. If IT "professionals" continue to look towards some perceived optimum solution and not to actually create a commodity in the ability of new applications to consume old ones then yet more time will go by with IT not progressing IT estates and just progressing technologies.
Being a manufacturing industry would be a good thing for IT, it would help us use ever more complex business services to deliver ever more demanding business applications. It would enable people to focus on delivering business value and not on their ability with a specific or latest fad technology. There is a great fear in certain parts of IT that if we commoditise the interface that their technical smarts will not be required, their smarts in effect will be replaced by robots. Personally I welcome that commoditisation because the people who I've worked with who are truly tech smart are also the people who are always focused on the end goal, and that end goal is never about technology.
Are we brave enough to make that choice? Or shall we just have another pointless debate about one method of shifting XML documents around over another?