You are on page 1of 4

SOFTWARE CRISIS

Software is a part of computer system that consists of data or computer instruction, in contrast
to the physical hardware from which the system is built.

Software is typically defined to be instructions that provide desired features, functions, and


performance. They contain data structures which allow the software program to manipulate
the information contained in an information system.

Originally, the creation of software was known as programming. Programmers were mainly
mathematicians by trade, often specialising in computation or logic.

Software systems are made up of the following components:

 Users — the people who add information to the system, request information from the
system, and perform some of the information processing functions.
 Procedures – the tasks performed by the human components of the information
system.
 Information – meaningful data that the system stores and processes.
 Documents – manuals on how to use the system, sometimes even files of data which
should not or could not be stored electronically.
 Hardware – not only the computers in the system but also any networks linking the
computers, the input devices and output devices.
 Software – computer applications performing some of the system functions to record,
process, and regulate access to some of the information worked with by the information
system

Software crisis is a term used in the early days of computing science for the difficulty of writing
useful and efficient computer programs in the required time. The software crisis was due to the
rapid increases in computer power and the complexity of the problems that could now be
tackled. With the increase in the complexity of the software, many software problems arose
because existing methods were inadequate.

The term "software crisis" was coined by some attendees at the first NATO Software
Engineering Conference in 1968 at Garmisch, Germany.

History of Software failure and loses

The Northeast blackout in 2003 has been one of the major power system failures in the history
of North America. This blackout involved failure of 100 power plants dur to which almost 50
million customers faced power loss that resulted in financial loss of approximately $6 billion.
Later, it was determined that the major reason behind the failure was a software bug in the
power monitoring and management system.
Year 2000 (Y2K) problem refers to the widespread snags in processing dates after the year
2000. The roots of Y2K problem can be traced back to 1960-1980 when developers shortened
the 4-digit format like 1972 to a 2-digit format like 72 because of limited memory. At that
timethey did not realize that year 2000 will be shortened to 00 which is less than 72. In the
1990s experts began to realize this major shortcoming in the computer application and then
millions were spent to handle this problem.

In 1996, Arian-5 space rocket, developed at the cost of $7000 million over period of 10 years
was destroyed within less than a minute after its launch. The crash occurred because there was
a software bug in the rocket guidance system.

In 1996, one of the largest banks of US credited accounts of nearly 800 customers with
approximately $9241ACS. Later, it was detected that the problem occired due to the
programming bug in the banking software.

Bank computer failures are happening more often than we realize or are being told.

“Business software is becoming increasingly complex, composed of sub-systems written in different


programming languages, on different machines by disparate teams.

“This means no single person, or even group of people, can ever fully understand the structure under
the key business transactions in an enterprise. Testing alone is no longer a viable option to ensure
dependable systems.”

The major cause of the software crisis is that the machines have become several orders of
magnitude more powerful! To put it quite bluntly: as long as there were no machines,
programming was no problem at all; when we had a few weak computers, programming
became a mild problem, and now we have gigantic computers, programming has become an
equally gigantic problem. — Edsger Dijkstra

The causes of the software crisis were linked to the overall complexity of hardware and the
software development process. The crisis manifested itself in several ways:

 Projects running over-budget


 Projects running over-time
 Software was very inefficient
 Software was of low quality
 Software often did not meet requirements
 Projects were unmanageable and code difficult to maintain
 Software was never delivered
As programs and computers became part of the business world, so their development moved
out of the world of bespoke craft work and became a commercial venture; the buyers of
software increasingly demanded a product that was built to a high quality, on time and within
budget. Many large systems of that time were seen as absolute failures - either they were
abandoned, or did not deliver any of the anticipated benefits.

A number of fundamental problems with the process of software development were identified:

Frequently, software was never completed, even after further significant investment had been
made.

The amount of work involved in removing flaws and bugs from "completed" software, to make
it useable, often took a considerable amount of time - often more than had been spent in the
writing it in the first place.

The functionality of the software seldom matched the requirements of the end-users.

Once created, software was almost impossible to maintain; the developer's ability to
understand what they had written appeared to decrease rapidly over time.

In the late 1960s the new discipline of Software Engineering was born.

Fritz Bauer defined software engineering to be: “the establishment and use of sound
engineering principles in order to obtain economically software that is reliable and works
efficiently on real machines. ”

Software engineering demands a focus on quality. This should permeate throughout the rest of
the engineering discipline.

On top of this comes the foundation of software engineering: the software process. The process
is the framework on which the rest of software engineering is built. The process defines how
management occurs, what the required input and output products are, what milestones should
be reached, and so on. The process also describes how quality should be ensured.

On top of process, software engineering consists of methods. These describe how the various
portions that make up the software process should be carried out. For instance, how to
communicate with clients, how to test the software, to gather requirements, and so on. This
makes up the process model.

And above all of this, and in support of the whole discipline, are the tools. The tools support the
software process. Such tools are called computer-aided software engineering tools.

Dealing with Crises

It is essential to keep in mind that when a crisis occurs you would need to have a response team ready
to deal with the media and the various stakeholders.
All these parties would need information on the given situation and what is being done to deal with it.
This also requires you to have a clear crisis communication plan with the target audience in mind.

Remember that each group needs to be handled in a different manner; customers may not require the
same information as the employees of the organization, and so on.

Conclusion

The only way to successfully control a crisis from going out of your hands is to always have a good plan
and a good team ready to deal with various situations that may crop up.

With these strategies in place, you would always be able to reduce the damage caused to the
organization to a great extent.

References:

Software Engineering
The Department of Computer Science, University of Cape Town
Copyright © 2005-2010 University of Cape Town
2010

https://en.wikipedia.org/wiki/Software_crisis

You might also like