ITIL is quite a divisive subject in the geek world. Once the subject is raised most of us geeks start channelling our inner cowboy/cowgirl thinking we don’t need the shackles of a formal process, because we know what we are doing and don’t make mistakes. Once something goes wrong everyone looks around saying, “I didn’t do anything!”
Despite how annoying it can seem at times, you need something like ITIL for a couple of reasons:
- It’s easy to be blinkered. I see so many people who can’t see beyond their own goals, even if that means riding roughshod over other projects and the needs of the business. You need something in place to control this.
- You need a paper trail. As soon as something goes wrong you need to know what’s changed. If you ask people you will hear a resounding chorus of “I’ve not changed anything!”, sometimes followed by, “… except…”. It’s a lot easier to get to the bottom issues if you know exactly what has happened and in what order.
So what’s this got to do with automation? The vast majority of ITIL related tasks I’m forced to do should be invisible to me. Imagine the build and deployments of a new version of an application to a development server. The process might look like this.
- Someone requests a new deployment manually, or it is done automatically on a schedule or triggered by a commit.
- A new deployment request is raised.
- The code is pulled from source control.
- The build is completed and result of the build recorded in the deployment request.
- Automated testing is used to test the new build. Let’s assume it’s all successful for the rest of the list. The results of the testing are recorded in the deployment request.
- Artifacts from the build are stored in some form of artefact store.
- The newly built application is deployed to the application server.
- The result of the deployment is recorded in the deployment request.
- Any necessary changes to the CMDB are recorded.
- The deployment request is closed as successful.
None of those tasks require a human. For a development server the changes are all pre-approved, and all the ITIL “work” is automated, so you have a the full paper trail, even for your development servers.
It’s hard to be annoyed by ITIL if most of it is invisible to you! 🙂
IMHO the biggest problem with ITIL is bad implementation. Over complication, emphasis on manual operations and lack of continuous improvement. If ITIL is hindering your progress you are doing it wrong. The same could be said about lots of things. 🙂 One way of solving this is to automate the problem out of existence.