So you think you know all about configuration management
Well think again
David Norfolk is practice leader with responsibility for development and governance at Bloor Research International. He is on the committee of the BCS Configuration Management Specialist Group.
Last month El Reg published an article by me that introduces the concepts of configuration management. You can read it here. In this article I explore some common misconceptions about the topic and move on to discuss some dos and don'ts.
Let me state straight away that configuration management (CM) is not just about program code.
If you have your game-world avatar moving around a room just as you like it to, you don't want it reverting to an older version that walked through tables and walls when you make a new release. That is where CM comes in, just as much as managing software components does.
Another common belief is that CM is just for the CM group. In fact, it is about assuring service delivery for all stakeholders. A fanatical CM group may even get in the way, by stopping the wider group of stakeholders taking ownership of CM.
Even nerds have feelings
Yet another misconception is that only managers care about CM. Not true: the nerdiest games or software developers care when something they have fixed comes back in the next release and makes them look stupid (although you might need to explain to them that it is something called CM that prevents that).
Some people appear to think that implementing CM is simply a matter of buying a tool, when in fact a tool is only an enabler. Having said that, once you have a CM process, the right tools are enormously helpful.
An equally serious mistake is to think that implementing a CM process, with the right tools, is a one-off thing that will just stick. It won't.
Management must continue to nurture CM. It needs to recognise and appreciate people doing it well and publicise successes – for example, reducing production failures attributed to configuration issues.
Vendors are perhaps indirectly responsible for some of these misconceptions. One is that CM is all about building a configuration management database (CMDB). Vendors sell CMDBs, which hold information about configuration items (CIs) and their relationships.
You are probably wasting time and resources managing a lot of data you don't need
Some tool vendors will have you believe that you can reliably put CIs in your CMDB automatically, using using networked asset discovery tools, so you can easily build a complete CMDB and thus get the best CM implementation ever.
However, if you are just building a bigger, better CMDB, you are probably wasting time and resources managing a lot of data you don't need.
You should do just enough configuration management to help you sleep at night, and no more. You want to manage only the CIs that someone actually wants to use; keeping stuff just because you can is a waste of time.
Hide and seek
Another misconception is that everything that matters will eventually appear on your network at a time when your discovery tool is active. But you simply can't rely on that.
Think about important stuff on a PC without a network connection, for security reasons; or stuff on an old PC with an operating system not supported by your discovery agents.
For that matter, think about stuff appearing twice because your vendor changes the internal ID between releases. Discovery always needs a bit of a human sanity check (yes, Chico, there is a sanity clause).
Of course, it is also a misconception is that a CMDB should always be singular, small and compact. Really, size doesn't matter either way; it is what you do with it that counts.
If configuration management succeeds letting you sleep at night and is delivering quantifiable benefits, it really doesn't matter whether it is using data stored in a small CMDB, a large CMDB, or even several federated CMDBs, some or all of which aren't even called CMDBs.