Page 43 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 43

Unit 2: Software Processes and Models



            the team size is fixed throughout the iteration, and that the team has R resources. So, the same   Notes
            R people perform the different stages – first they perform the tasks of stage 1, then of stage 2,
            and so on. With time boxing, there are different teams for different stages. Assuming that even
            with dedicated resources for a stage, the same number of resources is required for a stage as
            in the linear execution of stages; the team size for each stage will be R. Consequently, the total
            project team size when the time box has n stages is n × R. That is, the team size in time boxing
            is n times the size of the team in serial execution of iterations. Hence, in a sense, the time boxing
            provides an approach for utilizing additional manpower to reduce the delivery time. It is well
            known that with standard methods of executing projects, we cannot compress the cycle time
            of a project substantially by adding more manpower. This principle holds here also within a
            time box – we cannot reduce the size of a time box by more manpower. However, through the
            time boxing model, we have been able to use more manpower in a manner such that by parallel
            execution of different stages we are able to deliver software quicker.
            2.6.4 Unequal Stages and Exceptions

            Clearly, the reality will rarely present itself in such a clean manner such that iterations can be
            fit in a time box and can be broken into stages of equal duration. There will be scenarios where
            these requirements will not hold. What happens when such exceptions present themselves? First
            situation which is likely to occur is that the stages are of unequal duration. As the pipelining
            concepts from hardware tell  us in such a situation  the  output is determined by  the  slowest
            stage, that is, the stage that takes the longest time. With unequal stages, each stage effectively
            becomes equal to the longest stage and therefore the frequency of output is once every time
            period of the slowest stage. Note that even with this, a considerable speedup is possible. For
            example, let us consider a 3-stage pipeline of the type discussed in which the different stages
            are 2 weeks, 4 weeks, and 3 weeks – that is, the duration of the time box is 9 weeks. In a serial
            iterative development, software will be delivered every 9 weeks. With time boxing, the slowest
            stage will determine the speed of execution, and hence the deliveries will be done every 4 weeks.
            This delivery time is less than half the delivery time of serial iterations. However, there is a
            cost if the stages are unequal. As the longest stage determines the speed, each stage effectively
            becomes equal to the slowest stage. In the example given, it means that the 8first and third
            stages will also get 4 weeks each, even though their work requires only 2 and 3 weeks. In other
            words, it will result in “slack time” for the teams for the first and third stage, resulting in under
            utilization of resources. So, the resource utilization, which is 100% when all the stages are of
            equal duration, will reduce resulting in underutilization of resources. Of course, this wastage
            can easily be reduced by reducing the size of the teams for the slower stages to a level that
            they take the same time as the slowest stage. Note that elongating the cycle time by reducing.

            Manpower is generally possible (even though the reverse is not possible.) Another special
            situation can easily arise an exceptional condition arises during the execution of a stage of
            sometime box, due to which the stage is not able to finish in its allotted time. We do not need
            to worry about the nature of the exception except that the net effect of the exception is that it
            elongates that stage by ∆T. Clearly, if such an exception occurs, the execution of the later stages
            will be delayed resulting in the output being delivered late by ∆T. Similarly, due to this delay,
            the output of earlier stages in later time boxes cannot be consumed in time, resulting in the
            teams of these stages “waiting” for their output to be consumed. The net result of this is that,
            one delivery gets delayed by ∆T, with a corresponding slack time for each team for one time
            box. After that, all future deliveries will come after every T/n time units (for an -stage time
            box of T duration.)







                                             LOVELY PROFESSIONAL UNIVERSITY                                    37
   38   39   40   41   42   43   44   45   46   47   48