Wednesday, January 28, 2009

Challenges of an in-house IT Professional

Recently, as a head of in-house Applications Software group, I was asked a few questions related to my job. Given here are the questions and my responses.

clip_image001 Managing large scale software development, implementation and operations, can you give a gist of key challenges and how do you approach your implementations?

Everybody thinks that computers are smart and can do anything. But we, as software professionals, alone know that under the hood we are harboring a dumb, adamant and yet most powerful creature in the world (the computer) which can bring your world crashing with the silliest of mistakes. Computer software is like a glass house which needs to be handled with extreme care. A small change in a comma or a full-stop in a million-line code can crash the system or lead to completely erroneous results. For this dumb and powerful guy called computer to be faithfully serving you right, you need to have a very disciplined process where not even a small mistake is allowed. Now since the world has a very different image about computers, you run a great risk of being completely misunderstood and sometimes hated for your “over cautious and strange ways”. The big challenge for the IT guy is to continue to do the right things in the best interest of the company, even if people misunderstand you and you have to be the “bad guy”. In other words, you cannot be a nice guy and do the right things for your company.

..................................................................................................................................................................

clip_image001[1] How does business and software development unit collaborate?

Software development and implementation is a very collaborative activity and needs perfect teamwork between the business and IT. The IT person who programs the computer does not know the business process and the business expert who knows the process does not know how to speak to the computer. In such a scenario, it is imperative that both collaborate and create automated processes. It is like two people doing rock-climbing, where both reach new heights by pulling and supporting each other. Having developed and implemented several solutions which are being used successfully by several internal customers, in itself, is a proof of the collaboration.

..................................................................................................................................................................

clip_image001[3] What do think are the biggest challenge in a internal software development scenario?

Having worked both in internal software development scenario and also in software companies, I can say that internal software development scenario needs very specialized skills which are very different from what a software development company needs. It is a great balancing act between the pressures of your internal customers, senior management expectations, the dumb guy that is computer (as I explained above) and your own staff members who are ready to quit and join a software company at the drop of a hat.

Developing software in the confines of the computer department is relatively easier part of the job. The real challenge comes in implementations when you want to make the software work in the heated environment of personal preferences, attitudes, interests and fears. The people issues of implementation are unique to internal development scenarios which software companies rarely experience. Making it work and sustaining continued error free operation is the challenge only in internal IT.

..................................................................................................................................................................