Showing posts with label future. Show all posts
Showing posts with label future. Show all posts

Tuesday, April 05, 2011

The IT department - first against the wall when the revolution comes

I had a thought today, what with all the SaaS stuff out there and the increasing technical proficiency of new users, who often out-strip their internal IT departments in how they use and apply technologies. Is there a point to an IT department?

What is IT? "Information Technology" is the term but the reality is that when we say IT we mean the "internal development of technology". This department made a lot of sense when IT consisted of a lot of arcane programming and complex networking, in a world where no-one understood what "integration" really meant or why it was important for transactions to be atomic and for people to understand what two phase commit actually meant.

But does that world exist anymore? In particular I mean is there a point to having a great big IT department with IT management and Enterprise Architecture in a world where businesses change and where technology is an integral part of any modern business strategy in the same way as staff are. Has anyone heard of an "HR Project Manager" who organises the resources for a project? I certainly haven't, I've heard of HR admin or support for a project but the project management is left to the leader of the project. Why isn't IT going that way?

We have cloud computing, SaaS and all these other bits so doesn't that mean that with Mashups and the like that the IT department of the past is doomed?

Now this should be where I say "no" and then explain why, but instead I'm going to say "yes".

You see when I go into most IT departments they are mainly self-sustaining beasts, they have philosophies and leadership all of their own and more often than not have a CIO who is as close to the leading edge of technology trends as the CFO they work for. The IT department drives customisations, by providing the ability for the business to do it without the explanation as to why they shouldn't. The IT managers and IT project managers are often so fixed on a particular technology that they are an active barrier to the company changing its approach.

Its the IT department and its holistic henchmen of Enterprise Architecture who provide the barriers to cloud adoption and who promote the use of internal solutions, solutions they control and customise, over external provision. As the business starts to take control of business architecture and lay out the financial model for IT rather than simply a wish list of requirements its hard to see what the point of traditional project managers or enterprise architects is in this new world. Particularly in a new world where the business can just look at a SaaS solution and say "yup, that'll do" rather than complete a long project of customisation and installation.

As infrastructure becomes completely virtual the need for "experts" who can buy and install "the right server" disappears.

So what is required in future IT, is there any need for IT professionals? Well yes of course there is for several reasons

1) Everything will never come in a package
2) You'll aways need to integrate stuff

The key point is that differentiation is what IT people should focus on and start handing over responsibility for the commodity stuff to the business departments that use them. Finance should take control of the finance packages, HR should run the HR packages both as integral parts of their business. Sales should take control of their CRM and marketing packages. This switch of control would help accelerate the move to SaaS and away from customised solutions where they don't add value.

I'm not arguing here for a decentralised IT department, I'm arguing for the externalisation of IT and its management by the business and not by IT professionals.Yes sometimes the IT department helps drive the change, but very rarely from what I've seen, as the business becomes more tech-savvy than the old school tech managers its time for the business to take control back.

So what is left in IT? Well for me its the bits of IT that really add the value, the bits genuinely concentrating on where the business sees potential for ROI. In other words its the solution folks in IT, the real technologists who pull together various pieces and add a touch of development to create something that really differentiates the company. I'd guess this would be less than 20% of IT spend today, so my proposal is simple.

So what does that really mean? Well it means that current IT back office systems are really going the way of networks, mobile phones, land-lines and the like and moving out of technology and into procurement. In future the business will procure SaaS for back-office rather than ask IT departments to deliver it. The old IT department will be left doing "just" the differentiating parts.

So in other words the end result of this revolution is going to be that IT spend is split between procurement of services via normal business challenges and the commissioning of differentiating services. This should mean that the IT department is more about custom build than about package delivery, which is a marked difference over today.

So yes the current IT department is going away, but its replacement is going to be focused on smaller and more specific areas of the business and focused where innovation delivers actual value. This is not something that most IT departments will be happy with as it commoditises much of their current work. This is why in the coming change there will be many IT departments where the change will be extremely traumatic.

I firmly believe this change will happen and that traditional IT departments will be the biggest barrier in their inability to recognised the difference between business value and IT cost.

So will you be first against the wall when the revolution comes?

Technorati Tags: ,

Wednesday, January 26, 2011

What Oracle need to do with Java

Okay so after the "Java is dead" post there has been a reasoned follow-up by Forrester. Now I've made the point that its Not Oracle's fault and suggested that the first thing that needs to change is the current Java leadership from Sun who have been retained at Oracle.

But what should be done with Java. Well a few of the things really are rather obvious and are based on the shift around mobility. J2ME was hugely successful in low powered devices but Android and iOS have really shown a new way forwards. Java needs to recognise that JavaSE is pretty much irrelevant these days and start planning accordingly.
Stop viewing JavaSE as the base platform, the desktop is irrelevant

So what does this mean? Well it means that we need to break Java free from the cruft of JavaSE, yes for compatibility reasons there should still be a JavaSE (lets call it Java Desktop Edition) this is something I talked about in 2006 on what should be done for Java SE 7 but I'd say its now even more relevant. We need a base Java platform that people can innovate from "write once, run anywhere" was a good slogan but its time has past, or rather its now more specific its "write once, run on any compatible platform" so if you build for Java Desktop it works for Java Desktop, if you build for Android it works for Android, if you build for Java Enterprise Edition then it works on... yup Java Enterprise Edition.

What all of these things need however is a much smaller and tighter base platform and a standard way of specifying the libraries that are, and can be, loaded to support an application. The base platform needs to be small and tight to enable it to be an base for smartphones, standard phones and embedded devices. Moore's Law sort of indicates that even in the embedded space we are getting towards the level where we don't need the KVM or more restricted VMs. That is the second piece
The base platform is VM + the minimum libraries + a dynamic loading approach

There is quite a radical shift in those two pieces but its about really developing Java as a language and allowing innovation around its platforms. Having a core where people can innovate on the basic language elements, and have all areas leverage that, is much better than having a world where putting something like JAX-WS into a desktop profile is considered a good idea. This brings us down to the third piece which is about control.

There is a need to "bless" certain platforms and enable commercial and open source vendors to have their solutions certified against those platforms, they also need to be able to control the core VM (not the libraries) and the syntax of the language, using the term "Java" should be restricted to those who use the standard VM and the standard syntax. Other companies could also choose to create their own platforms (e.g. Android) and have certification elements but these would have to have certification that they are "Java" in terms of VM and syntax.
Stop viewing other platforms (Apache, Android) as competition and see them for what they are - a massive increase in the available market of and for Java developers

So how to "bless" these elements? Well clearly the JCP has been subverted by, IMO, the myopic Sun (now Oracle) leadership who railroaded through their own opinions based on completely flawed views of the market. So should the JCP be ditched? No it shouldn't but what it should be is revolutionised. I suggest that there be a core Java board which is focused purely on the platform and has a remit that covers just the JVM and language syntax.

Next up there is an "libraries" board which covers standards which are considered to be library, or library loader, elements which should be standardised. Pieces like JAX-WS, Midi support et al would go here. This board and its standards teams focus purely on getting the standard right.

Next we have 4 "profile" boards - Mobile, Desktop, Web, Enterprise. These are the equivalent of the JavaSE and JavaEE groups but their only role is in agreeing what goes into a profile not in driving those profiles. This allows people to create the biggest bloated Desktop profile that they want but not impact EE (which does not have to be based on Desktop). Web is a new profile that is aimed at addressing the challenges of browser deployments, it might be too late for Java to get involved in this battle but I think its worth considering
JCP to be reorganised around Core, Libraries and Platforms

The main thing though that Oracle need is a leader to take on Java in its new Commercial age, I presented on this in 2008 and it really hasn't changed. Java needs to grow up but still allow itself to be a playground for creativity. Sun were a great creative company but they didn't have the brains to make the commercial shift required. Oracle do have the commercial brains but they haven't yet applied them to Java in the way they have in other areas, most notably middleware.

So that is what I think Oracle should do
1) Change the leadership
2) Recognise that JavaSE is an anachronism
3) Split between Core, Libraries and Platforms

Its this that I think will help Java support the huge legacy base that it has and enable the innovation that is badly needed. But as with all good companies this change in direction needs to come from the top which means Java needs a "suited James Gosling" who can take a pragmatic commercial view on how to create the biggest possible Java market because ultimately that is how Oracle, one of the world's largest Java vendors, will make the most money.

Technorati Tags: ,