Saturday, March 27, 2010

Why everyone should get a degree in IT.

In order to use computers, software and the Internet, basically everyone should be a graduated IT engineer. After all these years and with all the capabilities we have, users are still confronted with a wide variety interfaces and system behaviours of which many struggle to cope with.

During our SharePoint roll-out project, we found that users had to adapt so much to the new way of working that they came up with questions and problems of which we as a support team could not have come up with in our wildest dreams.

Though trained, staff really needed the time get used to the new interface and to new concepts such as check-in/check-out, managing access rights, etc. It turned out that the concept of working with a file system was so ingrained in peoples thinking that it seemed almost impossible to adjust to a new way of working. Besides that, other existing systems had the capability to load files from the file system but not from SharePoint.

Though we made progress as a business, we once again confronted the users with limitations of technology with respect to the usability and integration.

When you think of it, you deal on a day to day basis with a wide variety of user interfaces, all presented to you via the same device. Even the presentation and behaviour of products of a single vendor are not always consistent and even within a single product you can find various inconsistencies in the presentation and behaviour. While we are now rolling out the latest Windows Operating system with latest and greatest features, our ERP system lags years behind. And on top of that we are building our custom applications and again they present themselves differently.

The large number of tools, technologies, interfaces, abstract concepts and the rapid pace that it changes simply means that people also require much assistance. IT support is an essential and integral part of business operations. Service desk staff have become real life savers.

It is not only the user interface that many people struggle with, it is also the terminology and the ability to make a mental picture of how the information and system functions relate to each other and how the systems behave. And once you think you have mastered it, the systems change.

Gillian Andrews  wrote a great post “Web Illiteracy: How Much Is Your Fault?” in the blog ReadWriteWeb. It talks about how confusing the Web is with its terminology such as “submitting a form” and a “URL”. It points out very well the problems that many people have with the Internet and the systems we provide through it. Concepts that have become simple for most of the active Internet users, for a large part of the global population they remain a mystery.

I remember when I tried to teach a friend to use the computer many years ago. The first basic concept was to explain what a file and a folder was (called “directory” in those days). My friend had a huge problem grasping these abstract concepts. I needed to visualise this by using boxes of different sizes and putting books inside those boxes. And then translate these concepts in commands such as “cd a:\docs\”. He went through all this effort to pain his brain only to assure that he would not be too illiterate when his newborn baby would be older. He had no real life use for it.

But for organisations time spent on learning how to use the computer and the software, is just not time spent on running the business.

Interface design is not an easy task. When discussing the user interface for our in-house developed system the other day, we found that you cannot satisfy all users. What is good for the one, might be unpractical for the other. Making the system adaptable to the needs of different users would not only introduce extra complexity but also make the system more expensive.

What we do is weigh the cost and the direct need to have a solution against the complexity and the limitations of the solution. If the benefit is high enough, you accept the limitations.

In the 80s, I was always puzzled by the huge uptake of PC’s. People had to fight their way through operating systems such as MSDOS and Windows. Microsoft’s success was all driven by the fact that they provided sufficient functionality for an acceptable price. Many might argue that there were better options such as Apple’s MacIntosh, however who wants an operating system in the first place? An operating system is there to run the computer and to hide the underlying complexity of the hardware and machine instructions from applications that run on top of it. As an end user you don’t want to be confronted with an operating system.

We are so keen to use the technology that we accept all the limitations and problems that it comes with. Vendors release software and technology to the end user community while realistically you would say it is not end user ready yet. The level of usability and robustness we accept in software and computers is simply not acceptable in the car or aeroplane industry. But because we are so eager, it is too easy money for the software creators.

We have made much progress over time. But because we can do so much more, it also becomes so much more complex. Mentally people need to deal with all this abstract complexity of interlinked data and application behaviour. Not everybody can do this easily.

The cloud and virtualisation of the desktop might be a solution to simplify the hardware and remove much of the operating system from the user, provided that your data is secure and you have the bandwidth on your internet connection. It will take some time to grow into all this, but there are benefits.

I don’t think the cloud is the answer for everything. If it resolves something, it will be more in relation to hardware and capacity management than anything in relation to usability. ERP systems in the cloud are still ERP systems. They need to be upgraded and because companies have their own configurations and their own customisations and have different requirements in relation to new features, you will remain having dedicated installations. For the business it still means that you will run with the same problems of managing your ERP and the same issues with data integration. Google gets a lot of attention these days and they come up with many appealing solutions but it won’t be long until they will run in similar issues as Microsoft and other large ERP vendors who need to keep so many different customers happy.

My experience is that with the few applications that we run in the cloud, we actually created extra standalone data repositories. For some systems this is all fine. But for others the benefit of having Software as a Service comes with the disadvantage of extra logins, management of duplicate data and custom development of required data integration. We only shift our problems to the cloud. You need to think the consequences through very well.

We have come far. We have learned a lot about user interfaces and ease of use. The iPhone is a typical example of a great success to make technology simple. (At least until the battery is wearing out.) But the complexity and level of abstraction that we need to deal with has grown in the same pace as the technology advancement. User interfaces will remain different as long as vendors and developers have the need to distinguish themselves from the rest and technology changes in a rapid pace.

Projects such as our SharePoint implementation and other in-house development projects, often lead me to question why we cannot make it all more intuitive and easier to use for the end user. I know the answer. It is practically impossible to achieve. There are too many parties involved and it would require a global universal standard that is updated on every system and every device roughly at the same time. That might still be millennia away and until then we just have to accept it as it is. Good is good enough.

Human society just has to swim the waves of technology invention. Some of us swim for fun and enjoy every wave but others have trouble to keep their head above the water. Let’s jut hope that not too many of us drown. Our service desk staff and trainers have the honourable task as life savers.

Wednesday, March 10, 2010

Put the "i" in IT with Business Process Analysis

I always found the term "Business Analysis" a bit misleading. It is used for gathering system requirements - a technology role - while for me it resonates more the analysis of the business for business improvement - a business role.

When I moved from the Netherlands to Sydney, I needed to get used to different terminology even though IT is globally pretty much in English. But some terms are different and a term or a word comes with an interpretation of its meaning. The terms business analysis and Business Analyst gave me a bit to think.

Business analysis is, as the word says, the activity of analysing the business. But what aspect or dimension of the business are you analysing and for what purpose?

The most common interpretation in the context of IT is to look at the business and find out what IT needs they have. In the majority of the cases it comes down to identifying the requirements for the IT needs. We call these business requirements. I prefer the term system requirements since they address the requirements of the business for a specific system.

However, when I first ran into the term, my interpretation was a bit different. Business analysis can also be defined as analysing the business processes in order to see what can be improved, regardless whether this requires any automation or not. Much of the tool set for the first type of analysis can be used for this type as well. But you come from a different angle and have a broader scope. Let's call this business process analysis, though a more generic term like business consultancy might be better.

And finally, you can analyse your business for more strategic purposes. For example, if you produce and sell shoes, an analysis of your business could come to the conclusion to stop producing the shoes but focus on (re)selling shoes only. Let's call this strategic analysis.

From IT management perspective, we are usually more or less involved in all three types of business analysis. The first type is commonly our responsibility while our role in the third one is often absent. How much IT is involved in business process analysis and strategic analysis usually depends on how much "i" is there in IT.

With the "i", I mean the information part of IT. How much does the organisation see the IT department as only a tool provider (the "t" in IT) or how much does it see the department as driving the way information processes are organised? Do you have a CIO, a CTO or only an IT manager?

System requirements analysis is one of the first steps to be taken when an organisation considers implementing a new system or enhancing an existing system. It is the most critical step and it is surprising to see how often it is skipped or how much it is underrated. I had a case at hand when we were writing a business case for a new project and I added the phase for business requirements analysis. The business owner was surprised that this was all needed. She already had provided us with a single page containing 15 bullet points and wondered why we could not get a vendor starting straight away with the build phase. The requirements phase took in the end over 9 months of effort and the whole project took 2 years.

The key problem with system requirements in the form as mentioned is that it is not sufficient for a programmer to start programming. Requirements are only sentences in plain english that specify what the system should do. It is not a design of a system and a system design phase should be performed as well. You need logical data models, information architectures, page/screen designs, transition diagrams, etc. But I found that not all Business Analysts are well equipped to perform all these tasks. Even if they have learned the modeling technique, experience with building and using complete information systems is necessary to come to good results. In some cases Architects can take over this role, but the risk is there that they have had insufficient interaction with the actual business and their needs. The end result in terms of usability might just be a bit too much as techies see it.

Though system requirements analysis remains a challenging task, it can only work well if it is done following a business process analysis phase. The need for a new or enhanced system does not come out of the blue. Even if it would only be to make some user interface improvements, you can always point at some business benefits. For example, people make less mistakes or can work faster. You want the system because you want to improve or change your business operations. It is therefore important to take a holistic approach and model and design your business and only as part of that see what IT needs you have. If you skip this and just start asking for a new system, you run the risk that the system is based upon the old business processes, that you do not gain all the benefits of the new system and that the new system becomes an impediment for change. Incorporating business process analysis into the project is what I mean with putting the "i" in IT. You look at the information flow and the information processing needs in the context of the (improved) business operations.

Larger organisations have this usually covered. They have a CIO whose role goes beyond just providing tools. They have business process analysts that assist with business improvement initiatives. Because size comes with complexity, improving the business with IT solutions remains a challenge and just having some people in place does not solve all problems. As we read everywhere, becoming a strategic partner and to participate in strategic analysis is for example an ongoing challenge.

Smaller and mid-size organisations too often struggle with these concepts. On the one hand all this analysis work costs money. On the other hand insight in the concepts and the relevance of this, is too often missing making IT more expensive as it should be or less beneficial as it could be. This is a petty because these analysis phases are driving more the success of IT implementations than the subsequent technical work. When you find that the project is going bad in the technical phases, there is usually much you can salvage. But if you have selected the wrong system or build it for the wrong business processes, you might need to throw it all away and restart from scratch.

Too often, IT is asked for a tool without a clear analysis of the actual information processing needs. This should be done through an holistic analysis of the business process and associated redesign if the new tool is going to bring all the intended benefits. We too often forget the "i" in IT. IT is not just an engineering discipline, it is about effective processing of information.

Friday, March 5, 2010

Do IT professionals need soft skills?

Reading a blog Geek Pride: Soft Skills Are for Weenies whether IT professionals need social skills on CIO.com, an issue that has been bothering me for years came to my mind. Do IT professionals actually do have less soft skills? Are we really geeks? Or should the others change?

It is easy to admit that there are within the IT profession people that have less soft skills. But isn’t that also within other professions? Is the overall geek-profile of IT professionals so much different than that of other professions?

Soft skills are actually a mix of skills, traits and habits. For IT professionals they are relevant if you want to teach people how to use computer systems, explain why the project requires more budget than originally estimated, try to convince management to provide budget for new investments, to convince other managers to be involved in early stages of planning, to avoid conflict with your customers when the project does not go as easy as expected, to make your customers and users understand why they should not be angry at you why the system is not working as expected, to understand the requirements and what the customer is trying to achieve, to work well in a team or to lead a team, just to name a few reasons.

But does every IT professional need to possess the same amount of soft skills? I don’t think so. In the IT field there are many different roles. You can be a programmer with a software vendor and your role is to improve the performance of the database queries for the software that your company sells. Or you are the infrastructure administrator that works in the data center. The requirements for those roles in terms of soft skills are rather different than for a business analyst or a CIO.

But are soft skills necessary to have a career in IT? Not necessary. You can grow to become to most senior and best programmer of a software product while working reasonably isolated with a relatively small team. But if you want to be the CIO, I guess it is important.

But is the soft skill profile (or the geek-profile) of IT professionals across the board so much different than in other professions? It varies depending on with which profession you compare it. My brother and sister are nurses and they need to have much more empathy with others than I should. They interact with more different people on a daily basis than I do. Soft skills are for them very important, including aspects such as negotiation. Patients are not always that willing to do what is best for them. But every organisation has also a Finance department. Are their soft skills so much different than that of the IT department? And what about other engineering disciplines?

So far this all reasonably obvious. However do those people that we call geeks really lack so much soft skills? Or is it about a mismatch of approaches and styles? Sort of speaking a different language?

I found that tech geeks work together just as well and with no more or less friction as the non-geeks. They get along and chit-chat quite often just as much. The subjects might be different and they do things different, but they still express a wide variety of social or soft skills. I noticed that people that fall in the category of the non-geeks just as often can have problems negotiating, explaining or keeping a conversation going. The form is different, but conflicts and problems are not much different.

This is one of the main questions that have been puzzling me for years and this already started when I decided go study Computer Sciences after high school. I had responses from friends that said that they would “want to work with people”. In some cases I felt a bit criticised. As if I could not work with people.

And here we have the crux of what I am trying to say. The person that would have a high degree of soft skills, the so called a people-person, too easily gave me a feeling of being criticised. Something which actually was not a demonstration of soft skills. Being extrovert or being sociable is a different thing than having soft skills. On the other hand, being very sensitive to other people’s emotions can make you reserved. You first want to find out how a subject falls with the person before you bring your opinion forward.

Of course there are people that clearly lack any soft skills; that ignore other people’s opinion, their emotion and only run into conflict with others. On the other hand, I know people that I would rate having a high degree of soft skills. They can make you change your mind easily (without regretting it afterwards) and bring sensitive issues on the table easily without offending people. But that is only a few people.

In my work, I too often have seen in meetings between customer and IT staff that the customer of whom you generally would consider to have more soft skills, brings issues and their opinion in a pleasant way on the table while afterwards my IT colleagues felt frustrated and sometimes even insulted. Though the customer demonstrated on the outside all the soft skills as you can imagine, my colleagues felt that the customer did not listen, was naive and rude. Ignoring logic and engaging in small talk instead, is offending for the more rational orientated people. If a first and second attempt to explain the subject logically is ignored or not understood, you quite often need to give up in order not to offend the other person with being dumb.

I know. That is when the real soft skills kick in. But the soft skills demonstrated by the one party are not always experienced as such by the other party. The other party should have sensed that there was more to the subject. In the end, if the system is not going to deliver what is expected or the project becomes a mess, the customer is the one that is not achieving his goals. There seems to be something like a language barrier both ways.

Soft skills are cultural dependent and what I am trying to say that the main stream concept of what soft skills are and when they are displayed, might be different for different type of people.

Soft skills are important for a variety of people within the IT profession. I always found it important enough to attend courses that cover soft skills. I also found that I needed to use them throughout my career as a business analyst to find out what the customer wanted, as a pre-sales consultant to convince the customer to buy our services, as an account manager to deal with a dissatisfied customer and as a manager to lead my team.

If I see that the conflicts within our team seem to be no more or less than within the other business units, that we as a team seem to circumvent conflicts pretty well and that we also are one of the primary organisers of social occasions, I have my doubts about whether we do possess more or less soft skills.

So why is it that we make such an issue about soft skills for IT professionals?

First of all, because it is a stigma that came upon us IT people following a few examples and it also makes good movies.

But in comparison with other types of engineering, IT takes place in the office closer to the end user. And don’t forget that our profession is rather new and that not that long ago, the business analyst or project manager did not exist. It was the techie that did it all. Much as it still is in many smaller organisations where the engineer directly interacts with the end user. Only a few of those engineers have to be a real geek and the talk is going around.

I also belief that it is our product that contributes to it all. The whole world embraced the computer and its software applications while the technology took a long time to mature. It has always been complex and difficult to learn. A car which is another piece of high tech is much easier to operate and we would not accept a blue screen of death (BSOD) as we did with the PC. Imagine that once a day the breaks suddenly would not work! The BSOD might be something from the past, the way IT has worked itself into every corner of a business and day to day life has only become more intense.

Many of our systems are custom made for a relative small group of people while they also need to change constantly. In order to get the right system doing the right thing and creating it within a predictable time and budget requires a strict and rationale approach. You cannot end your system specification pleasantly with a sort of understanding what is required.

We keep on nagging the customer with questions about requirements and project control and what else. The response you get too many times is: "Please, don't ask me so many questions. Just give me the solution!". While we then think(!), sometimes say: "Why don't you understand this? I have explained it now so many times. Isn't it logical?" All this contributes to the view of IT people being the goofs and geeks.

And finally and maybe the simplest reason is that you are a service provider. And as it is in all customer relationship situations, the customer can be as rude as he likes while you as the service provider need to stay polite. You need to use your soft skills to obtain the best result. You need to demonstrate more soft skills than your customer.

Though IT has worked its way in almost everything that people do in organisations and for many people their daily work is fully governed by using a computer, the IT department is too often not considered to be an equal partner in defining and running the business. As long as this is not the case, we will read stories about geeks and about CIO's and IT professionals that need to improve their soft skills.

IT professionals require a right level of soft skills. But other professionals better have the right skills to deal with the technology and IT staff. Magazines, blogs and websites are full of the message that the CIO should speak the language of the business, but if the business is not learning to speak the language of IT they won’t optimally benefit from IT. In the end, they are the ones who want the technology.

I am of the opinion that there is foremost a perception problem and that in general IT professionals do not have more or less soft skills than many other professions. However there is a significant group of roles in IT that need to possess a high degree of soft skills while for other roles it is simply not required. A bit of geekiness can be good for certain engineering roles.

Monday, March 1, 2010

Plato’s revenge – our virtual world

I recently read the book “The Black Hole War” by Leonard Susskind. I found it surprisingly easy to read and read it with almost the same intensity and eagerness to find out what’s coming next as the Harry Potter and the Deathly Hallows. What really got me and what actually was more a confirmation of what I already knew was that reality does not seem to exist.

The more you dive into quantum theories and the latest thing “string theory”, the concept of a physical reality seems to disappear. We knew already from the arguments between Einstein and Bohr that by observing something, you influence what you observe. With all this new knowledge and theories things become even more relative then Einstein’s relativity theory covers. I learned years ago from my dear friend Tony that it is impossible to really say what the location of a particle, for example an electron, is. (Tony was much braver than I and studied physics while I took the lazy way out and studied computer sciences.) We know that the electron can be at a certain location with certain likelihood. But Susskind explains that with a very extreme super tiny possibility a car that is inside a garage suddenly can appear outside the garage. The likelihood is so small that for us normal humans we would say it will never happen. But the concept that it is not impossible is very strange and also very intriguing. I used the concept in the past as a joke but did not know if the concept could be applied to larger composite objects until I read this book. I still think it is funny and it might mean that Mr Scott’s transporter is not an impossibility.

With the string theory we also learn that reality as we humans see, measure or calculate seems to be more and more a projection of some reality that escapes our comprehension. I must say “seems” because much of this is all theory. But as Susskind explains we also learned that much of Einstein’s work was in the early stages only a theory while later we were able to prove with experiments that he was right. So we should not discard these theories as “just theories”.

Reading the book you are confirmed again that, what every scientist knows, the more we learn the more we find out how little we actually know. You can question whether we really make progress. Is our reality a projection and a virtual representation of some other hidden reality? Hmmm. Quite a while ago Plato the ancient Greek philosopher already described this situation in his “Allegory of the cave”.

I first encountered string theory on a TV show. I did not understand much about it then. Susskind’s book explains it much better for the uneducated quantum amateur. But the show related string theory to parallel universes and time travel. I have my doubts about parallel universes but can’t get my head around time travel. The issue with time travel is that I don’t believe that we humans understand the least little bit about time. We use it in our mathematics and made it an extra dimension but we lack complete control over it. It goes by, just by itself. We can calculate that time goes faster or slower and that it can go with different speeds for different objects depending on your proximity to mass or depending on your speed, but actually understanding? No, I don’t think so.

Time is something we find difficult to grasp. It seems to be more of something that we humans experience. In that sense it seems more that it is our awareness that is moving along a line in time. Our body is matter and follows all the laws of physics. Our mind, our awareness, depends on our knowledge, things that we remember, and that is all locked in our body, our brain. What we see, what we feel and what we touch might all be just an illusion of our mind. So we are back with Descartes: “I think and therefore I am”. (Wait a minute! It is me of whom I know is thinking while I do not know this of you. Am I the single soul in the universe?).

So let’s go back to time travel. In space we can move to the left and then to the right. In time we can only move forward. But could our awareness go back in time? Why not? We simply have forgotten what we experienced since that earlier moment. Somewhere that seems logical. If we are back in time with the same awareness and with the same knowledge as we had then, then we don’t know that we moved back in time. So there is probably nothing that says that we cannot jump back and forth in time the same way as our location in space is not entirely certain. Though if this would be true, would we need see other things jump back and forward in time? If it would be tiny particles only and if the time jumps are small enough, we would not really notice anything. It just adds to the randomness we already experience.

The key item of all our problems of understanding the universe is driven by our own limitations and for me that is best demonstrated through our problems in understanding the concept of time. And that concept of time is driven by our awareness traveling in a single direction. But could that change direction, given that there is any direction to time at all? Could we have parallel universes and could there be another me in another universe? That other universe would not be exactly the same, so you may assume that I would not be the same. Say I am green in that universe. But is that me? And what if I traveled in some strange way to that other universe? I will experience only one of us to be myself. The other is then just someone else, or not? Isn’t the “me” the one that I experience, the one in which my awareness resides? Otherwise we could just as well say that you and I are the same. We look similar, two hands, two eyes, etc. But of only one of us I experience myself to be me. (Unless you listen too much to Gong’s “You”, you might be convinced that “I am you and you are me”; great music by the way). Other universes might exist but isn’t it just something like a house with multiple rooms? Each room being a universe, but in the end there is only one house and I can only be in one room at the time.

We could digress to discussing our souls and bring God into the equation. It only raises more questions. And for those who want to go that way, I do not see any argument either for or against the existence of a God. Physics and all the explanations through quantum and string theory makes all sense if we keep us humans out of the equation. Though I could not help myself to come up with the question of why. Why would there be matter or light or gravity? And isn’t the concept of people with awareness who can reason about black holes or post videos on YouTube exceptionally strange if there would not be “something more”? But let’s be a quantum purist and say that there is the possibility that there is something more in or outside our universe.

On a side note, did you know that there might be a smallest unit of time and also a smallest unit in space and a smallest unit of matter? Meaning that time is not a smooth continuous transition but goes with tiny little steps. Time can only be experienced through change and change is movement through space. It means that when something travels such as light or a particle it makes little jumps. This whole binary concept comes across very strange in this day and age where binary computers are the big hot thing. But since our theories will progress over time and because there is no reason why computers have to remain binary forever, it is probably more the human mind at this stage of its development that these things seem to have come together.

But purely logically, there is no smaller unit of information than one bit of information: the bit that contains the 0 or the 1, the TRUE or the FALSE. So it should not be surprising to see that Leonard Susskind’s book and quantum theories revolve much about “information”. Specifically because for the quantum physicists there is not much difference between energy, matter or particles and waves or light. And even more that it is not just about the one particle, that single wave or that amount of energy, but it is all about how it relates to each other and how this changes in time. For example, gravity is a function of the distance between two masses. It is easier, or probably necessary, to bring it all together in the general concept of information. This is very curious for me as an IT person whose university education was actually called “Informatics”, the science of information, the practice of information processing, and the engineering of information systems.

Now let’s leave those visions of “The Matrix” behind us and go back to Plato.

I have called my blog Plato’s Revenge because wherever I go, it seems more and more that Plato was right. Science might tell us that we live in a virtual world, but to get confirmation for this we don’t have to travel far. When you read this, you are in cyberspace. Our social life is lived through computers, big or small, mobile or not. The enormous uptake of email, social networking, mobile phones and SMS makes us practically live our life in our self created Matrix. And we know that time travel takes place easily there. Once some information is out there, it is difficult to erase it.

It is Plato’s revenge because we might have forgotten about him but it is even more sinister, we got ourselves addicted to the virtualisation of our life. We’ve got ourselves voluntarily locked up in our own cave and are chasing shadows on the wall.