|
Improving performance
Project:
A multi-year, multi-billion-dollar project
designed to create a Web-enabled system to process goods being imported
into the USA.
Problem: Halfway through the schedule, bad news. The
system could not handle the high throughput required. The development
team had to do the impossible: improve performance at the same time as
they coded the next release.
Solution: The project's prime contractor turned to OC
Systems for help. OCS consultants took full responsibility for solving
the performance problem. Using Aprobe-based performance tools, they
integrated performance testing with the development project's daily
regression testing, so no special performance testbed was needed: they
were even able to use the project's change request process.
Aprobe allowed the consultants to be extremely specific
in providing change requests; they even prototyped the recommended
changes, then used Aprobe to try them out. The change requests were
implemented as a matter of course during ongoing development. The system
became faster and faster day by day, and the performance problem slowly
disappeared.
Remarks: The flexibility of the Aprobe technology was
key, since the development code was a complicated system that also
included a lot of debugging code (which was to be removed in the final
system).
In order to collect accurate performance data, the
consultants had to turn off this sluggish debugging code. They used
Aprobe to turn off the debugging code as well as to gather performance
data. This allowed the system to go from debug mode to production mode
with the flip of a software switch.
Because no separate performance testbed was required,
the project saved $3 million. Even though performance tests were being
run on the development system, this had no real impact on development
efforts. All performance tests ran on the most recent build, so
developers could work concurrently on improving performance and
implementing new modules. No changes were needed to the existing test
suite. Nor did any testers need to be retrained. |