Reviewer: Avinash
Sridhar
Summary
of the paper:
“Software
engineering arose out of the so called software
crisis of the 1960s,
1970s, and
1980s,
when many software projects had bad endings. Many software
projects ran over budget and schedule. Some projects caused property
damage. A few projects caused loss of life. As software becomes more
pervasive, we all recognize the need for better software. The software crisis
was originally defined in terms of productivity,
but evolved to emphasize quality.”
The
author makes a sincere effort to postmortem the problems involved in the
software industry comparing contrasting with other streams which though complex
have evolved to be a winners. Even now the software engineering loss amount to
many billions, the author criticises the existing system which has turned its
blind eyes towards the long standing problems in
the engineering stream.
The
author compares with the two contemporaries , though one has evolved very
recently, with the software engineering. The Circuit Engineering and Genetic
Engineering.
The
Evolution of Genetic Engineering
had lot of challenges like deciphering human genome which
had 3 billion base pairs. However there was again lot of mathematics driven
approach. The parallelism was exploited to great extent and with huge computing
powers , distributed and concentrated, the genome was deciphered much earlier
than planned. This could happen only because of the great underlying
co-ordination and common vocabulary that was also evolving in the scientific
community and researchers and was imbibed into the academics.
People are
expected to not expect any reliability and quality in software while other
engineering products are delivering it. The academics is to be blamed for not
persisting on efficient methods of writing a piece of code. The government for
turning a blind eye and not to press on any reforms though the economic world
undergoes heavy losses. The Industry to be blamed for non-conformist actions,
they follow their own standards and naming
conventions( vocabulary) which is entirely different from the curriculum
thought at the schools. Compounded with all these problems the Software
engineering in deep trouble not able to meet the ever increasing demands and
already evolved hotchpotch standards.
Software
engineering has these 3 following primary areas where the reforms are badly
needed
The programming languages compliers should ruthlessly impose the strict
norms of error corrections that could be mathematical oriented. The norms should
be similar for all the complier for a particular language. So the software
written will not be specific to a particular complier.
The government should impose strict norms for the critical software
like Medical and other public safety related software. The experts in the fields
of mathematics , algorithms , statistics and other such people should be the arbitrators
of such certifications.
Strengths:
Weakness:
3
critical questions:
1.
Who is going to take the initiative the industry, the government or the
academics?
2.
How to incorporate rules and
regulations into a Software Engineering, which has evolved and branched so much?
3. Will the companies, which
have high revenue and success rate, confirm to the guidelines and fall in line?
Or in the other way around will they share their success stories?
References:
http://www.fact-index.com/s/so/software_engineering.html