As a discipline IT systems lifecycle can be characterised as simple, complex and difficult.
- Simple to explain.
- Complex to commission and maintain because the systems it monitors and controls are increasingly complex and dynamic.
- Difficult to do because IT system lifecycle management is much more than a set of process and tools. It involves many people, each with their own motivation and agenda, cooperating to maintain many components that interact in a complex web to provide IT services to users.
How many times have you, or someone you know, had problems with a PC that stem from poor controls?
- Installing software without assessing its likely impact on the machine.
- Uninstalling software that does not remove itself properly.
- Having an automated update that installs a bad driver or updates one part of the system only to cause the failure some installed application?
All of these issues, and more, stem from a lack of control.
On a PC, particularly one owned and operated by an individual, the impact of these problems tends to be fairly localised (affecting only the person who owns the PC). The cost of these problems is therefore relatively low, so there is less of a need to follow strict control on a personal machine.
I own and operate a number of machines on which I am the sole user. Whenever possible I try an installation of a new application on a machine that I know will not cause a problem if I lose it for a few hours should I need to recover it.
That said, I do not have a duplicate system for my trusty MacBook Pro. Every application is installed on this machine without any testing (by me that is, I hope the supplier has done plenty of testing before releasing their product to me). I have to rely on my own ability to assess the likelihood the installation will cause a problem. Based on this assessment I might defer the installation, or update, until I know I have time to calmly deal with any issues that arise as a consequence. It doesn’t always work, but it’s the best I have to work with.
In a professional environment this sort of laissez-faireĀ system management is totally unacceptable, so we use IT system lifecycle management to formalise an approach that provides as much protection as we can afford to the IT systems being managed.
It is difficult to foresee problems with installing an application on a single user PC. This assessment problem quickly becomes immense as machines, networks, off-site facilities, telecommunications, software, databases, and all the other elements of even a modest IT system are considered.
Without an accurate and timely configuration management system (CMS) how can any IT management team be expected to even attempt to assess the likely impact of a change on the system as a whole?
The answer, of course, is they can do no more than rely on localised expert knowledge (which is seldom sufficient) and gut feeling (which is not something most businesses should be happy trusing their IT systems to).
It is simple enough to explain the idea of a CMS, but setting up a system capable of supporting the control of a large IT system is very difficult indeed.
Even if you overcome the challenges of defining what the CMS will store and present to the user, installing the system, training the users, and populating it with an initial set of data, you will still face the Sisyphean task of maintaining the data.
Failing to maintain the configuration management data is one of the principal causes of IT system problems. Organisations too often invest vast sums of money in setting up a CMS and populating it with data, only to let it succumb to data entropy. Failing to constantly maintain the data in the CMS inevitably leads to the CMS becoming unreliable. Once this happens, users cease to trust it and then fail to see any purpose in maintaining data they neither use nor trust. The CMS becomes useless. A waste of money. Recovery of this sort of CMS failure is almost as expensive as setting it up in the first place.
This is what makes IT system lifecycle management difficult.