New
processes, and the underlying discipline that enables
them - software engineering - are required, however,
if we are to actually make the most of the technology
we already have. They also lie on the critical path
for all the 'new new things' we want to build. 3G mobile
telephones are a good example of this. We have the devices
and are rolling out the network, but the benefits will
only be realised by consumer and provider from the deployment
of a wide range of attractive services. These services
must be cheap, delivered in a timely fashion, reliable
and scaleable to cope with growth in usage. Building
such services is beyond the existing state-of-the-art.
Progress
is being made: new analytical techniques; improved design
tools; new methods that speed up the feedback loops
between user and developer; a better understanding of
how software can be architected and software component
technologies that support this understanding. There
is however a lot more to do. The research community
working on these issues is growing but the challenges
are very significant. Software engineering may not be
gee-whiz but it will be the critical enabler of the
software future.
|