Software engineering: crisis, what crisis?

In the issue of the magazine "Scientific American" last September appeared a juicy article about so-called software engineering. Let me bring it here, as it offers data and views of interest.

In this way we are informed of the deep crisis of software construction, highlighting the apparent science, technology or contradictory history of a science that is expanding in constant growth among failures. And examples of illustration and multi-zero dollar figures are not missing.

On the one hand, experts say that in the coming years, when it comes to the use of computers, great changes will be observed. They say we are facing an explosion of real software. For example, if the computer program of the 1970 Apollo project had about 10 million instructions, the so-called Space Shuttle of the 1980s reached 40 million. Similarly, the amount of code contained in consumer products has doubled in two years.

More program lines, of course, significantly increase the likelihood of making mistakes. Consequently, the possible extension of the projects can result in the suspension of the same. According to statistics, from a certain size the probability of chancellation can reach 50%, its extension (if you manage to finish!) doubles.

Increasingly, the industry is demanding distributed systems, i.e. programs run on computers connected to the same network. Problems arise when integrating these systems. In this regard, the IBM Consulting Group published the results of a survey conducted in 24 leading companies. The figures were staggering: 55% of the project had a higher cost than expected, 68% ended outside its deadline and 88% required deep restructuring. And the survey did not point to an important feature: to what extent they were reliable when running programs.

However, the most surprising numbers were given in the following case: The Federal Aviation Administration (FAA), with the intention of renewing or completely replacing the air traffic control system, dedicated this function to the company Federal System Company of IBM, for the guarantee that provided as a leader in software development.

Announcing the complexity of the project, the DFA was willing to pay $500 per program line, five times higher than the average of U.S. industries in its development projects. On the other hand, we must not forget that the industry of the Basque Country, at least with respect to the software created by the Technological Centers, is quite far from this average of $100.

Following the commissioning of the project, the DFA is paying each line of the new software between $700 and $900. The reason is that each line of the code has required an average correction. The program, with 5 years of delay, exceeds the budget by more than 1,000 million dollars.

It should be noted that most of the companies referred to in the article are linked to administration. If you could not be surprised by the budget deficit of the US.

The core of this crisis is that software programs are largely artisanal products. Until software development becomes a real industrial activity, there will be no real information revolution. This concern is not yesterday morning. In the 70s there was talk of structured programming; in the 80s there was talk of CASE systems (computer assisted software engineering); nowadays, object oriented programming. All of them presented themselves as the key to systematic and productive programming, but they have not managed to lose the current situation.

On the other hand, as the industrialization of software construction progresses it is becoming a task of developing countries with cheap and skilled labor. Thus, for example, India obtained in 1994 a software export of 360 million dollars, a growth of 60% over the previous year, while in 1985 software exports in India were only 6 million dollars. This does not reduce their dependence. Systems architecture, that is, activity of greater added value, since it is done in the USA.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila