identification of no hope scenarios; vital for cutting edge and risky projects

an opportunity to deliver a scalable system with only the currently needed
server capacity

prediction of the limits of the system and how the system will cope as it
approaches saturation

actual figure guidance to other parts of the business on the interest that
can be accommodated, e.g. marketing

identification of areas for concentrated/high quality development

This is typically achieved by using the project specification/design,
as well as use of benchmarks of real code runs as different parts of the system
are delivered.

What is involved?

All predictions are made using a common methodology that encompasses both mathematical
models and simulation. The following stages are followed:

define the scope and objectives

analyse the system design

model or simulate the relevant parts of the system

validate the model/simulation

execute the model/simulation

analyse the result

Where each stage is repeated when necessary to cope with changes in the system
and as real benchmark results start to come in. This allows the prediction to
be updated when the system components are ready for testing.

Modelling is by use of mathematical formulae based on execution profiles
of the functionality investigated. These formulae are typically entered in a
spreadsheet to allow simply an easy updating of the model as new data becomes
available.

Simulation is performed using Discrete Event Simulation, using an in
house, object oriented simulation library. The system is modelled as a set of
interacting components represented using java objects.