Page 98 -
P. 98

6 - PROJECT TIME MANAGEMENT






                      Value delivered to the customer is an important factor for all projects. In most cases, the nature of software
                   allows value to be provided in increments rather than in a single delivery at the end of the project; this enables the
                   scheduling method to take advantage of changes that occur during a software development project. It may be that
                   highly valued capabilities can be provided early in a project rather than only at completion. It may also be possible
                   to provide less-valued capabilities while waiting for more-valued, but difficult, capabilities to evolve. However, even
                   when the customer is able to use partial functionality, this option is eliminated when the scheduling method and
                   the architecture are not structured to produce progressive increments of value.

                      In addition to the methods described in Section 6 of the PMBOK  Guide, examples of other scheduling methods
                                                                           ®
                   used for software projects include:
                         •   Structured scheduling. This method involves development of project milestones during the initiation and
                           planning phases of a software project. Structured scheduling can be used when some of the following
                           conditions apply: well-understood product requirements; related precedent work within the organization;
                           strict architectural requirements; specified limits on the number, size, or timing of deployments; critical
                           backward compatibility issues; or heavy dependencies on new infrastructure. Structured scheduling is
                           often used for products with high safety, security, or regulatory constraints; for major version releases
                           of high-profile products; or for very large projects with significant amounts of multi-group coordination.

                         •   Schedule as independent variable (SAIV). This is a date-certain scheduling method. It is used when
                           there is a specific date after which the value of the product declines precipitously. Examples are time to
                           market considerations (e.g., announced version release), an immovable event for which the product is
                           required (e.g., trade show, holiday sales), or a date by which the enterprise is required to institute some
                           element of a regulatory change (e.g., preparing tax returns). Prioritizing requirements or features and a
                           scheduling strategy that will ensure availability of the most-valued functionality by a required deadline
                           is an example of SAIV scheduling. This is similar to “time boxing” in adaptive life cycles when time
                           constrains the work that can be done within an iterative cycle or an incremental product cycle. More
                           discussion is provided in Section 6.3.2.5 of this Software Extension.
                         •   Iterative scheduling with a backlog. This is a form of rolling wave planning for software projects
                           based on adaptive life cycles, where the requirements are prioritized, allocated to iterations, and refined
                           just prior to construction of product features. Adjustments to an iterative schedule occur throughout
                           the project life cycle; adjustments are based on the ongoing learning and adaptation that results from
                           emergent requirements. This approach is often used to deliver incremental value to the customer or when
                           multiple teams can concurrently develop a large number of features that that have few interconnected
                           dependencies among features. This scheduling method is appropriate for many software projects, as
                           indicated by the widespread and growing use of adaptive life cycles for software projects.
                         •   On-demand scheduling. This approach is based on the theory-of-constraints and pull-based scheduling
                           concepts from lean manufacturing. On-demand scheduling does not preschedule the development of
                           product or product increments, but rather pulls work from a backlog or intermediate queue of work to
                           be done immediately as resources become available. It provides the customer with a statistically based
                           estimate of time-to-complete for any given task (often referred to as lead time), and can be used to






          88       ©2013 Project Management Institute. Software Extension to the PMBOK  Guide Fifth Edition
                                                                   ®
   93   94   95   96   97   98   99   100   101   102   103