Saturday, January 24, 2009

Thin line between development and system administration in Web world

In the world of web programming whether it be simple web applications or complex web applications the divide between code development and system administration seems so thin and indistinguishable. The lines seem to get crossed frequently and there is friction and tension between the developer group and systems administrators. The tension is heightened when the developers report to a different manager than the system administrators. Typically there is a lot of he said she said between both the groups.

The adage, "you cannot control what you do not measure". Most of the time IT leaders in the name of creativity and various other reasons do not apply sound management principles to their departments. Part of the problem in trying to measure performance is the complexity and time consuming nature of the process. There are lot of frameworks such as ITIL, SEI, COBIT etc but the IT systems that support these can be complex and take time and effort.

In the long run IT departments that have good controls do exceed and add greater value to business. Here are some simple solutions that can help IT departments become more valuable,

1. Appoint only one IT manager/director in to whom both the developers report and the system administrators report. This layer should be kept at just two levels, with a mezzanine level of may be a "development team lead" and a "system administrator team lead". This way great agility can be built into the process when decisions need to be made.

2. Emphasize and encourage short term focus on getting work done instead of long term theoretical discussions. Use agile methodologies or prototyping etc.

3. Good bug or defect tracking systems such as Jira can be used for both developers and system administrators to keep track of all their work effort

4. Using collaboration tools for projects such as Confluence, Sharepoint, BaseCampHQ, or so many other Web 2.0 solutions can greatly help in keeping tracking of all communications.

5. Stop relying on emails and using collaboration tools

6. IT Manager/Director should identify the strengths and weaknesses of the developers and system administrators and help them develop

7. Finally IT Manager/Director should manage more than do the work themselves