Monday, May 25, 2009

Automation without Documentation is Simply Dumb

Anytime I'm asked what I like most about working with "technology" (in my case: software technology), I always respond: "automation". I love to use software to make things work without my having to make them work each time they "run".

Each time we hire new employees, the HR information entered should automatically initiate processes to provision their user accounts, put their account into the appropriate groups, assign an email address, and so on. It should also drive what software "package" gets installed on their new computer.

Things like that. Scripts, utilities, group policy objects, whatever. I have no preferences. I do like to narrow down the best tool for a task by reviewing what needs to be accomplished. I've also run head-on into conflict with other IT groups in the past over this. They usually hear of something being automated and immediately feel threatened, which is dumb, but it is human nature.

So, automation is, or can be, a good thing. Right? Well, actually ONLY if you make the effort to document everything about the automation. Who, What, Where, When, Why and of course: How. These things need to be documented carefully and clearly. Not just for others, but for yourself as well. I've been in situations where I had automated some process, and it had been running quietly and reliably for years, and then needed to make a change. Sometimes it was an "uh oh?" moment as I tried to remember what a particular step was being done for, or where, or how. What was that service account used for? (another reason I prefer machine accounts over service accounts).

What I began doing was creating a folder structure for each automated process. In that folder collection I would store the scripts and utilities being used, as well as documentation files to describe what was going on and how it worked. That way I could easily go back and refresh my memory when I was asked about how something would impact one of my processes, or how one of my processes might impact something else. There was always the proverbial "what if you got hit by a bus?" concern also, which is entirely reasonable. So, I just wanted to say something on this topic. So remember kids: Automation without Documentation is like sex without a partner.

No comments: