Many of the problems of corporate IT can be summarised under the headings of fragmentation and complexity.
Fragmentation is the opposite of integration. Ideally, an organisation needs all its systems, manual as well as computer, to integrate well. This can only happen if the whole environment is coherent, and systems are designed, like jigsaw pieces, to fit in with each other. The proliferation of PCs in the corporation has strongly militated against this. Individuals, workgroups and even whole departments are choosing applications or designing systems to suit their own needs without considering the needs of the organisation as a whole.
Fragmentation often occurs when downsizing or rightsizing initiatives are pursued, or when new development tools are selected to replace existing ones. It is commonplace.
Different mixes of computer hardware and networking hardware are used and linked together. Individual hardware purchases may appear justified, but if the network as a whole proves difficult to exploit, it acts as a constraint on its possible use.
This naturally accompanies hardware fragmentation, but today it need not do. For example, it is quite feasible to have a mix of PC LAN server operating systems all running on the same hardware. However, it is better to avoid this.
A variety of development tools are employed to fulfil the same function.
This may develop from a choice to fragment hardware, or simply allowing a choice of software tools to address a specific area of development.
Some duplication may be difficult to avoid because the capabilities of software tools often overlap.
More than one software package fulfilling exactly the same purpose (word processor or spreadsheet, for example) is allowed within an organisation.
This is more common than is often supposed.
All the other areas of fragmentation can lead in one way or another to skills fragmentation. Different mixes of hardware, operating systems, software tools and packages naturally mean diseconomies of scale in training and deploying staff.
In addition to these types of fragmentation, there are two others that occur in the building of computer systems:
Data redundancy or duplication
This usually occurs because of the development of separate systems which use common data. For one reason or another, it becomes expedient in the short term to duplicate data. However, eventually it causes severe problems and leads to inflexible systems. In some sites, up to 50 per cent of the programming effort is geared towards resolving data duplication problems.
Source code or functional duplication
Program routines are written more than once. Until recently, this kind of duplication was inevitable as software tools didn't include any practical means of addressing the problem.
Fragmentation gives rise to complexity and constrains the environment.
Data duplication inevitably leads to the need for software whose entire purpose is to keep data in step. The duplication of software tools leads to the duplication of skills, and usually prevents or inhibits adopting common standards for applications. Hardware fragmentation may cause software tools duplication and so on. Therefore, duplication and fragmentation lead to more duplication and fragmentation, and an increasingly complex environment.
What's more, these problems have been exacerbated by over-enthusiasm for open systems and the vagaries of IT fashion. In the past, there was often a prime supplier - usually the main hardware vendor for most sites - who kept control of all the third parties, ensuring purity of the computing environment.
Fortunately, there are antidotes to the problems of fragmentation and complexity. These can be summarised under the headings of portability, scalability and interoperability - the PSI factor.
One of the more helpful developments in the IT market has been the gradual separation of software from hardware. This began with the development of C, a language which was low-level enough for writing operating systems, and yet was portable between hardware platforms. C was developed for UNIX, but has since become the language of choice for developing all kinds of useful software from databases to PC applications.
In the database sphere, Oracle promoted the concept of portability, which took hold very quickly. Soon, vendors of development products and applications packages were porting their products over multiple environments.
The trend to portability is a natural development of the distribution of processing, because it helps in the integration of systems and is an antidote to fragmentation. Java delivers a better level of portability than any technology that preceded it. That is why it is the epicentre of the earthquake.
Lack of scalability in systems is a problem that frequently leads to fragmentation. Organisations often outgrow the IT infrastructure they have assembled.
When a computer infrastructure can scale no further then an awkward compromise is forced on the computer user. Resources have to be fragmented in some way to cater for the growing workload: two mainframes rather than one, a cluster of servers rather than a single server, distributed database rather than a single central database, and so on. Naturally, this introduces complexity.
Although the progress of technology doubles processor power roughly every 18 months, on its own this is not enough to provide scalability that keeps pace with the demands of fast-growing organisations.
The attempt to provide better scalability has led to a number of hardware innovations: clustered servers, SMP (symmetric multi-processing) servers and MPP servers (massively parallel processors). Where good scalability is provided, it helps to address the problem of fragmentation. Scalability reduces the likelihood of enforced fragmentation.
At the hardware level, the open architecture of the IBM PC spawned a vibrant components industry which infected the whole of the computer hardware market.
The same has happened with software. A major victory was achieved with the general adoption of a standard for data access (SQL), and another victory is on the horizon with the gradual adoption of a standard for process-to-process communication over a network (CORBA).
On top of this, the software industry has produced a whole host of middleware products that have improved connectivity in mixed hardware and software environments. Middleware is generally a means of fixing fragmentation after it has occurred. There is now a large and growing middleware market.
The PSI Factor
Together, portability, scalability and interoperability are antidotes to fragmentation and complexity. They also militate against vendors that try to establish proprietary fiefdoms. Vendors that resist or fail to support PSI will eventually be destroyed by it.
Legitimate strategic targets
If we accept this view, the following are useful goals for people responsible for managing IT:
Reduce existing fragmentation via judicious use of middleware.
Reduce complexity by minimising and rationalising the number of components in use (hardware, operating software, development products, and so on).
Choose technology on the basis of portability, scalability and interoperability.
Move the server space towards becoming and behaving as a single resource space.
Evolve towards a global application that integrates all the applications of the organisation.
Adapted from The Enterprise By Other Means - An Analysis Of The Return To Centralised Computing And Its Consequences, by Robin Bloor, ISBN 1-874160-21-x. Available for #175 from The Bloor Research Group on 01908 373311 or www.bloor.co.uk. Mention Business Computer World and get a 20 per cent discount.
Reproduced by permission.
Latest Tesla news: Tesla stock price tanks amid reports of 'widening probe' by SEC and claims the base Model 3 loses money
SEC 'probe' takes its toll on Tesla as new research suggests that Tesla loses $6,000 on every $35,000 Model 3
10nm Cannon Lake Core i3-8121U CPUs make a rare outing with Intel's NUC mini PC
'Notorious' Australian child hacker thought he had executed 'flawless' hack
The former employee says that Tesla fired him for bringing the accusations to management internally