Saturday, 11 October 2014

What is Software Crisis?

What is Software Crisis?


Computer systems were very new and primitive in early fifties and the use of software was also very limited at that time. It was limited to some scientific applications or used to process the data of census. In 1960s a great amount of rapid improvement was made in hardware. New hardware and new computer systems were made available. These computer systems were far more powerful than the computers of early fifties. It is all relative, the computers of 1960s are primitive as compare to the computers we have these days but were far more powerful than the computers of early fifties. More powerful hardware resulted into the development of more powerful and complex software. Those very complex software was very difficult to write. So the tools and techniques that were used for less complex software became inapplicable for the more complex software. Lets try to understand this with the help of an example. Lets imagine a person who use to live in a village and who have constructed a hut for him to live. Definitely he should have face some problems in the beginning but was managed to build a hurt for him. Now if you ask him to construct another hut, he may be able to construct one more easily and in a better way. This new hut may be better than the first one and he may construct it in a relatively less time. But if you ask him to construct concrete and iron houses then he may not be able to handle it. Since he made a hut and he know how to make a place to live so you may expect from him to build concrete and iron buildings. If this is the case then you should all agree that the building constructed by that person will not have a stable structure or he may not even be able to build one.
In early 60s software had suffered from the similar kind of problem to which we call Software Crisis. Techniques that were used to develop small software were not applicable for large software systems. This thing resulted in the following consequences.

  • In most of the cases that software which was tried to be build using those old tools and techniques were not complete.
  •  Most of the times it was delivered too late.
  •  Most of the projects were over-budgeted.
  • And in most of the case systems build using these techniques were not reliable – meaning that they were not be able to do what they were expected to do.


As a result of these problems a conference were held in 1960 in which the term software crisis was introduced. And the major issue discussed was that the development of software is in crisis and we have not been able to handle its complexities. And the term of Software Engineering was also coined in the same conference. People have said that, we should use engineering principles in developing software in the same way as we use these principles in developing cars, buildings, electronic devices etc. Software engineering is the result of software crisis when people realized that it is not possible to construct complex software using the techniques applicable in 1960s. An important result of this thing was that people had realized that just coding is not enough.


5 comments:

  1. After reading this article i understand Software Crises means the starting of Software Engineering field wow.

    ReplyDelete
  2. this article is very good for software engineers... keep writing. we want more

    ReplyDelete
  3. This artice shows the consequences and process of software and also enhance to build the software engineering. From this we also notify that how to build and manage the
    criteria of car, building and electronic devices. Because the coding is not enough and had realised people's that also focused on software tools and techniques.

    ReplyDelete
  4. Yes you are right Mr. Mushahid Hussain the software crises help other also.

    ReplyDelete
  5. A software crisis is a mismatch between what software can deliver and the capacities of computer systems, as well as expectations of their users. This became a growing problem in the 20th century as computing grew by leaps and bounds and software was unable to keep pace. As the complexity of systems grows, so do the needs of users, who expect increasingly more performance from their software. Programmers may struggle to keep pace, creating a software crisis.

    ReplyDelete