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
   37   38   39   40   41   42   43   44   45   46   47