In the development world, many powerful forces work to push out software
before it's ready, but waiting to release
complete, well-tested software is really best
for both the customer and the developer. I
spoke with the customer-support manager
of a software-development firm that was far
along in its next release's development process. Predictably, the project was running
late, and the customer-support manager
dreaded the decisions the firm might make
to complete the project on time. One of
the biggest mistakes that most companies
make in software-development projects is
rushing the next release out the door.
When talking with end users, department
heads, and customers, software-development
companies tend to point to the next release
as the solution to the problems in the current application. End users and customers
develop high expectations for the next release,
and they pressure the software-development
company to complete the projects as rapidly as possible. In response to this customer
demand, the software-development company
tries to find ways to bring the software project
to completion early. But an early release can
trade code quality for time and can require
cutting essential features from the software.
Other complications can arise from changes
in the development tools that developers are
using to produce their software. Each release
of software-development tools has a more
complex development process than the one
before it, which can mean developers need
more time to produce well-tested products.
When software needs to be released earlier
than expected, the developers must compensate for the abbreviated production timeline by shortening or cutting out processes. The evolving nature of software applications
ensures that each subsequent release of a
product has more features than the previous
release. Plus, as each release is being developed,
most firms incorporate new technologies and
the capabilities they bring into the development process.
All of this adds time to the software-development process—not just for the code
development but also for testing the code for
quality, security, and reliability. When projects
get pressed for time, this important testing and
quality assurance phase is often the first thing
that gets cut back.
Although there are many compelling
reasons for companies to release software
early, there are few worse decisions. Pushing
out software that isn't quite ready will have
unwanted consequences both for the customer and the development company.
The customers are often the ones pressing
for the release, but they're also the ones who
must deal with unwanted and unexpected
software bugs. At best, these bugs can delay
business while the company attempts to find
workarounds. In the worst cases, these bugs
can result in lost data and data corruption,
which must be repaired. The developer has
to deal with a flurry of support requests
and deploy and manage a series of software
updates. As the old adage "a stitch in time saves
nine" aptly points out, when software-development companies take their time up front,
they and their customers will see the savings
down the road.
End of Article