Page 42 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 42
Principles of Software Engineering
Notes the software. Meanwhile, the requirement team goes on and starts preparing the requirements
for time box. When the build for the timebox-1 is completed, the code is handed over to the
deployment team, and the build team moves on to build code for requirements for time box and
the requirements team moves on to doing requirements for timebox-3. This pipelined execution
of the time boxing process is shown in Figure 2.6.
Figure 2.6: Executing the Time Boxing Process Model
With a three-stage time box, at most three iterations can be concurrently in progress. If the time
box is of size T days, then the first software delivery will occur after T days. The subsequent
deliveries, however, will take place after every T/3 days.
2.6.3 Time, Effort, and Team Size
It should be clear that though the duration of each of iteration has not been reduced, the delivery
time to the end client (after the first iteration) reduces by a factor of n with an-stage time box.
That is, the speedup (the reduction in the average completing time of iteration) is n times. We
can also view it in terms of throughput the amount of output per unit time. We can clearly see
that in steady state, the throughput of a project using time boxing is n times that of if serial
iterations were employed. In other words, n times more functionality is being delivered per unit
time. If the size of the team executing the stage Si is RI, then the effort spent in the stage Si is
E (Si) = RI * T/n
Note that the model only requires that the duration of the stages be approximately the same,
which is T/n in this case. It does not imply that the amount of effort spent in a stage is same.
The effort consumed in a stage Si also depends on RI, the size of the team for that stage. And
there is no constraint from the model that the different R is should be the same.
The total effort consumed in iteration, i.e. in a time box, is
n
E(TB) = Â E(S)
i
i =1
This effort is no different than if the iterations were executed serially – the total effort for
iteration is the sum of the effort for its stages. In other words, the total effort for iteration remains
the same in time boxing as in serial execution of iterations. If the same effort is spent in each
of iteration, what is the cost of reducing the delivery time? The really cost of this increased
throughput is in the resources used in this model. The total team size for the project, in which
multiple time boxes may be running in parallel, is Let us compare the team size of a project
using time boxing with another project that executes iterations serially. In a serial execution of
iterations, it is implicitly assumed that the same team performs all the activities of the iteration,
that is, they perform all the stages of the iteration. For sake of illustration, let us assume that
36 LOVELY PROFESSIONAL UNIVERSITY