You are on page 1of 1

Conquering the Crisis in SoItware Engineering

Victoria Livschitz
Sun Microsystems
victoria.livschit:sun.com
SoItware engineering today is in a severe crisis. The
situation is particularly grim because this crisis is not
widely acknowledged by the soItware development
industry or academia. The haphazard sprawl oI technology
is commonly viewed in our Iield as an indicator oI
remarkable progress. However, this jungle in my view
has steadily escalated the cost and complexity oI
industrial soItware development, and they are now nearly
out oI control!
The industry hasn't yet heard the wake up call. Thirty
years oI high-tech evolution governed by Moore's Law
produced individual computers and computer networks
capable oI solving computational problems oI massive
scale and complexity. Traditional methods oI writing
computer applications handcraIted by one or a Iew
individuals using low-level languages and tools have
long become impractical. Commercial soItware
development enterprises have responded with an
explosion oI new technologies including programing
languages, tools, libraries, protocols, middleware,
application Irameworks, project methodologies, design
patterns, reIerence architectures and so on.
A Iew well-known characteristics oI the present state oI
aIIairs will illustrate the consequences. The sprawl oI
technologies has resulted in over-specialization oI
developer skills and over-generalization oI management
skills. Being a 'good programmer no longer guarantees
one a decent living companies want Iine-grained
expertise in speciIic Ilavor-oI-the-day tools, products and
Irameworks. And only a superhuman can manage a
technology portIolio while remaining well-grounded in the
technical issues. The incredible rate oI change leaves
proIessionals constantly scrambling to Iind 'the next big
thing, lest their skills quickly become obsolete.
Meanwhile, the costs oI development projects continue to
rise while the quality oI the resulting systems diminishes.
No wonder admissions to computer science and
soItware engineering departments are declining. Why
should young people be attracted to soItware development
rather then genetics, engineering, medicine, business or
law? Computers no longer carry the aura and cachet oI a
new Irontier. Nor is there the job security which
proIessional developers enjoyed during previous decades.
Academia has not adjusted to the sweeping changes in the
soItware development. Programs in soItware engineering
world-wide still Iocus on the traditional programming-
oriented computer science curriculum, and StanIord still
teaches the majority oI required graduate courses in C!
What can universities do to survive the proIound crisis
Iacing soItware engineering? And how can they help the
industry regain a sense oI direction on the path oI
technological innovation?
First and Ioremost, soItware engineering must overcome
its identity crisis and decide whether it is a branch oI
engineering, mathematics or computer science. I think
soItware engineering is above all an engineering
discipline. Unlike computer science, it does not seek to
answer the question, 'Can a computer system with
speciIied properties be built in principle? Not does
soItware engineering attempt to construct a precise model
oI the problem, a la mathematics. ProIessional soItware
development is primarily about delivering a product with
the desired qualities, on time and within budget. ThereIore
soItware engineering must predominantly concern itselI
with teaching the Iramework Ior a rational trade-oII
analysis between product Ieatures, quality and cost. Such
a Iramework is conspicuously absent Irom the soItware
engineering curriculums.
Secondly, the goal oI every soItware engineering
program must be to teach students the science and art oI
systemic thinking. In my opinion the kernel oI the
program should be a course in general systems theory, an
extended curriculum on soItware architectures, and a
solid grounding in several leading soItware liIecycle
management methodologies.
Finally, current education must be Iar more practice
oriented. Students should be given the opportunity to test
the theory and acquire practical soItware development
skills by solving real business problems under realistic
pressures. Instead oI emphasizing solitary programming,
the Iocus should be on collaborative teamwork.
In closing, it is exceedingly important Ior the global
community oI educators to realize the true depth oI the
crisis that soItware engineering has been Iacing. Academia
must lead the revitalization oI this Iield which is oI
immense importance Ior the global economy, and is in
dire need oI a new approach. Only then might the soItware
engineering programs at the universities be able to restore
the prestige oI the soItware development proIession,
attract top talent and develop highly eIIective leaders.
Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC05)
0730-3157/05 $20.00 2005 IEEE

You might also like