I tried to answer a question yesterday that I got sent to me via e-mail from an employee at the client company and who is located in Portugal . To be able to answer the question, I had to request information from two persons in my team, one of them being located in Switzerland and one being located in another city in Sweden. In a few minutes I had answered the question and received an e-mail from the employee in Portugal in which he thanked me for the answer. Thanks to the information in my answer, he could continue with his tasks at hand. As I mentioned something about this conversation to my client sitting almost next to me, he said "Isn't it fantastic? That we can sit here and communicate with people all over the world within a few seconds?"
I had to admit that it is quite fantastic. His question got me to reflect on how surreal my current assignment must have seemed just 20 years ago; I am planning and coordinating activities which involve hundreds of people (editors) all over the world, people who are located in countries such as Japan, Sweden, USA, Russia, China, Portugal, and France. I have direct contact with well over fifty of these people, primarily via e-mail or phone. We meet once a year on a conference and then never travel to meet face-to-face.
The project team that I am managing and which is responsible for rolling out new IT solutions to the markets (which we must help all the editors need to learn, prepare and launch) consists of a handful of people. We are partly co-located, but some of the team members work from other locations. We mostly communicate via phone or e-mail and when there is a need for us to meet in a more structured way, we use a web conferencing tool (WebEx from Cisco). We basically never need to travel to get things done. Often, it is just not a viable option. In addition, the corporate policy says that travelling should be avoided for environmental and cost reasons whenever possible.
Although we have much more to do to become more efficient in communicating and collaborating with each other, it is interesting that our biggest headache is not about communicating or collaborating within the project team, with the editors or with all stakeholders in different organizations. No, our biggest headache is the one we get from the constant battle we have to fight with the IT legacy. The problem with the IT legacy is, as usual, that it was not originally designed for the current requirements and that is almost possible to change. The short version is that it is a very complex and lengthy process to get things out to the market (or even at all). Add to that that the inflexible IT legacy adds a lot of extra friction between the ordering organization and the organization supplying it with IT solutions.
I personally both understand and stress the importance of separating the concepts of SOA and web services, one being an architectural style and the other being a technology that can be used for implementing a SOA. Still, I must admit to that web services are excellent for demonstrating key SOA concepts as well as for demonstrating the potential benefits than an organization can get out of SOA. SOA and web services go hand in hand. Even though I now work on the business side and not on the IT side, with people coming from a marketing and business administration background instead of an IT background (I have a combination of both), there is now a common understanding between the ordering organization (“the business”) and the supplying organization ("the IT department") that SOA is the way to go. SOA is no longer just some mysterious or over-hyped buzzword. Why? Because we have all seen a SOA in action.
For a small but essential part of the current solution, core software functionalities and content are now provided to consuming applications via web services. On top of the web services layer, different user experience applications can be designed and developed. Fast. And it can be done by external parties. The latter is virtually impossible today for other parts of the IT platform, even though the task is mostly about presenting existing things in a new way. They will have to navigate in a very complex IT environment and sometimes make changes all the way back to the legacy systems – which of course cannot be changed within the time-frame of the project, so you end up having to scope out functionality and content which would be valuable to end-users. To sum up, new solutions can be delivered much faster since core functionalities and content can be easily reused and thereby shortening development time AND since external capacity can be used to deliver them.
I am absolutely convinced that the keys to empowering enterprises today is to better support communication and collaboration between people and to increase the agility of their IT systems. Improving communication and collaboration is to me a low-hanging fruit since the tools and technologies are out there, although it is a big challenge since it has more to do with people and changing their existing attitudes and behaviors than it has to do with technology. Increasing the agility of the IT systems will in most cases be a costly and potentially very lengthy process, but it is an inevitable investment enterprises need to make if they are to compete on a global and rapidly changing market place.