9
Adaptive and Hybrid Scheduling

Scheduling works differently with adaptive environments than with predictive environments. As you saw in the previous two chapters, in a predictive environment the goal of a schedule is to organize the work sequentially. This process allows you to determine when your team will be working on various deliverables and when the project will be complete. When working with an Agile methodology, the team determines how much scope can be accomplished in a fixed duration work period. The goal is to provide value early and often, while staying open to shifting priorities.

In this chapter we will look at release and iteration planning to provide a high‐level plan for creating and delivering value. Then we'll look at how task boards track the detailed work. We'll finish the chapter by looking at a few ways you can blend predictive and adaptive scheduling for a hybrid project.

ADAPTIVE SCHEDULING

When you are working with deliverables where the scope evolves and changes based on customer, market, and stakeholder feedback, at the start of the project you don't know all the work you will need. Often you don't even know all the work you will need when you are mid‐way through the project. Thus, scheduling in this environment requires progressive elaboration of the scope and therefore rolling wave planning for scheduling the deliverables.

There are three types of adaptive work: incremental, iterative, and Agile.

  • Incremental development work begins with a simple deliverable and then progressively adds features and functions;
  • Iterative development work begins with delivering something simple and then adapts based on input and feedback;
  • Agile is an adaptive way of delivering value by following the four values and 12 principles established in the Agile Manifesto.

Projects that use Agile schedule work in iterations that are a set duration, such as one week, two weeks, or four weeks. Iterative and incremental development approaches may or may not use fixed duration timeboxes for their iterations, depending on the nature of the deliverables. Software development usually uses fixed duration timeboxes, though other iterative and incremental projects may not. The regular cadence of fixed iterations encourages synchronization and predictability.

Release Planning

In an adaptive environment the team develops a release plan that provides a high‐level view of when certain features and functions will be available for use. Of course, this may change if the priorities of deliverables change, but it provides a loose plan to follow.

A release plan starts with the project or product roadmap. We'll use the system development deliverable for the Dionysus Winery to demonstrate how a release plan is developed. The roadmap for the Dionysus Winery (shown in Figure 5‐4), shows that the system development will occur starting partway through month 6 and will finish at the end of month 11. Angelo Romero, the operations manager, will serve as the product owner for the system. He has indicated the priority for the various functions as:

  1. Inventory management;
  2. Winery management (making and aging wine);
  3. Vineyard management;
  4. Wine club membership; and
  5. Forecasting.

Remember: A minimum viable product is the first release of a product that contains the least number of features or functions in order to be useful.

The minimum viable product for the system is the inventory management function; therefore, that will be the first release.

Angelo and Tony Dakota (the project manager) decide to ask Sophie Rojas to be the scrum master for the system development work. The three of them looked at the prioritized functionality and estimated when the various functions could be developed, tested, and released. After some discussion they came up with the release plan in Figure 9‐1.

Sophie will work with the system development team to plan release 1 in more detail. Releases 2–4 will stay at a high level as the team learns more about stakeholder needs and how users will interact with the various system applications.

The development team decides to work in two‐week iterations. They will use the first two weeks (often called sprint, or iteration 0) to get set up. Set‐up can include arranging their working space, making sure the team has all the equipment and supplies they need, determining the processes they will use to develop and test, and other team and logistical issues. They also review the work they will be doing in the first release and develop an iteration plan (also known as a sprint plan) that identifies the work they expect to do in each iteration. Figure 9‐2 shows the team's iteration plan.

For every iteration except iteration 0, the team will hold an iteration planning meeting with the product owner to review the work on the prioritized backlog. They will ask questions to get clarification around the backlog items and define the acceptance criteria. By the end of this meeting the team will have estimates and a plan for the work in the current iteration.

Schematic illustration of Dionysus Winery system development release plan.

FIGURE 9‐1 Dionysus Winery system development release plan.

Schematic illustration of winery system development iteration plan.

FIGURE 9‐2 Winery system development iteration plan.

At the end of the iteration, the team will demonstrate the functionality to Angelo, Tony, and other relevant stakeholders. The stakeholders will accept the work and/or provide feedback. After the demonstration the team will hold a retrospective to consider their work process, determine if there is anything they want to change, and decide if there is anything new they want to try in the next iteration.

Task Boards

When an iteration begins, the work for the iteration is posted on a task board. A task board has multiple columns that indicate the status of work. They can also be called kanban boards (kanban is the Japanese word for “sign”), scrum boards, Agile boards, and other similar names. Task boards can be electronic (in the cloud or on a server) or low tech with whiteboards and flipcharts. For teams that are in the same location, low tech is preferred. The simplest task boards, such as the one shown in Figure 9‐3, have columns for “To Do,” “Doing,” and “Done.”

Teams can decide what makes sense for tailoring their task boards. Some examples are listed below.

  1. Add a column for “Testing” or “Verify”;
  2. Substitute “User Stories” for “To Do”;
  3. Substitute “Backlog” for “To Do.”
Schematic illustration of sample task board.

FIGURE 9‐3 Sample task board.

Some project teams employ a task board but don't use iterations. This is called flow‐based scheduling. In flow‐based scheduling, when a team member is available, they work on the next prioritized task on the backlog. This keeps the work flowing continually. For flow‐based scheduling you may see a person in the role of a flow master or solution delivery manager rather than a scrum master.

Even if a team is not using iterations, they should still meet at least monthly to reflect on performance and metrics and incorporate feedback for planning and improvement purposes. Flow‐based scheduling is harder to represent on an integrated master schedule, but it can be an effective way to accomplish work.

HYBRID SCHEDULING

Hybrid scheduling is a blend of predictive methods (as described in Chapters 7 and 8) and adaptive methods to create an integrated master schedule. There are several ways you can schedule a hybrid project. We cover three of them in the next sections, but don't feel limited to just these three methods; the great thing about hybrid projects is you can tailor them to meet your needs.

Predictive with Releases and Iterations

This type of hybrid plan uses a predictive schedule and creates a placeholder for releases. The detailed work for each iteration is managed with task board software or whiteboards if the team is in the same location. Figure 9‐4 shows an example of this option where the predictive work is shown as summary tasks, and the adaptive work is shown at the release level.

Snapshot depicts predictive schedule with releases.

FIGURE 9‐4 Predictive schedule with releases.

Predictive with Iterations Inserted

Some scheduling software allows you to build a predictive schedule or an adaptive schedule. You can build each type of schedule separately and insert the adaptive schedule into the predictive schedule. Figure 9‐5 shows an example of this option. The predictive work is shown at a summary level. The adaptive work shows all the releases with the first release elaborated to show the work for each iteration.

Adaptive then Predictive

New product development projects often use an adaptive approach to identify and develop the features and functions for the product. Once the product is finalized, the project moves to a predictive approach for manufacture, packaging, marketing, and distribution.

Dependencies in Hybrid Schedules

One of the ways hybrid projects get into trouble is balancing the structure needed for a predictive schedule with the evolving nature of adaptive scope. When a project component is developed using adaptive measures, the team developing that component needs to be aware that they are part of a larger project. There are dependencies between the adaptive work and the predictive work that must be honored for the project to deliver on time.

In the Dionysus Winery project, the wine club management component must be released before the wine club marketing campaign begins. As members register for the wine club their information will be entered into the wine club management application. Additionally, the entire system must be completed and released in time for the staff to receive training before the grand opening.

Snapshot depicts predictive schedule with adaptive schedule inserted.

FIGURE 9‐5 Predictive schedule with adaptive schedule inserted.

These dependencies between the predictive and adaptive parts of the project necessitate ongoing communication between the development team (including the scrum master), product owner, and project manager. Therefore, particularly in hybrid projects, evolving scope doesn't mean ongoing development—there are still deadlines that must be met.

SUMMARY

In this chapter we discussed how adaptive work begins with a roadmap and then develops a release plan that identifies when various functions will be ready for use. Releases are composed of iterations or sprints, which are set durations where work is developed and delivered. The work in each iteration is prioritized in a backlog and is often managed on a task board.

Hybrid scheduling uses both predictive and adaptive scheduling. We described three ways to develop hybrid integrated master schedules. However, with hybrid projects, you can tailor your scheduling method to meet your needs.

Key Terms

  • iteration
  • iteration planning
  • release
  • release plan
  • retrospective
  • task board
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.254.28