1
Introducing Project Management

As professional project managers it is no longer enough to deliver results that conform to requirements and are on time and on budget. Our role in driving change and transformation, developing new products and updating existing products, creating new technologies and finding ever‐better ways of doing things has evolved. Now we need to be more business savvy, market responsive, and aware of how our profession is changing and progressing.

One of the most significant changes in our profession is the recognition that as professionals we must understand and embrace different ways of delivering value. After all, the whole purpose of projects is to bring value to stakeholders, whether that value is via a new product, a new service, or more efficient processes. Different project deliverables require different approaches and techniques. To excel in our role, we need to know our options for delivering value and understand the variables that determine the best fit for each deliverable.

In this chapter we will describe four ways of creating deliverables and define terms associated with each approach. Next, we will identify the variables you need to consider in order to select the best development approach for each deliverable in your project.

THE SPECTRUM OF DEVELOPMENT APPROACHES

A development approach refers to how the project team creates and evolves deliverables. Some development approaches emphasize understanding all the requirements before designing a solution and then creating the deliverables based on the solution design. Other development approaches start with a bare‐bones deliverable and evolve the solution based on feedback. They are different approaches to creating project deliverables.

In this chapter we will describe four development approaches:

  • Waterfall;
  • Incremental;
  • Iterative; and
  • Agile.

A waterfall development approach is what we call predictive. In other words, we like to be able to predict the schedule and budget based on stable scope. Incremental, iterative, and Agile development approaches are adaptive, which means they are flexible enough to allow changes in requirements and scope.

Schematic illustration of development approach.

FIGURE 1‐1 Development approach.

Waterfall

A waterfall development approach is predictive in nature. In other words, it starts with well‐defined scope, which the project team then progressively elaborates into greater levels of detail. The work is then sequenced, duration and cost estimates are developed, and eventually a baseline is set. Throughout the project, progress will be measured against the baselines. With a waterfall approach the project manager endeavors to keep change to a minimum and follow the project plan.

Figure 1‐2 shows a life cycle for a light rail project that would use a waterfall approach. You can see how one phase completes before the next one begins, and the shape of the graphic looks like a waterfall. In the Environmental Impact Analysis phase, studies on expected site impact, materials analysis, geological surveys, life cycle assessment, and similar work would be conducted. In the Plan phase, detailed resource, budget, schedule, communication, risk, and other plans would be developed. At the end of the Plan phase those plans would be baselined. The Engineering phase would be comprised of blueprints, architecture, modeling, and other similar work to ensure the designs meet the needs, are compliant with regulatory requirements, and are minimally disruptive to the environment. The Construction phase is where all the physical work is carried out. It is the most visible, uses the most budget, and likely takes the longest. Progress in the Engineering and Construction phases would be compared to the baselined plans to ensure the project stays on schedule and on budget.

Schematic illustration of waterfall approach.

FIGURE 1‐2 Waterfall approach.

A waterfall approach is best when the requirements can be defined up front and when the scope of the project is not expected to change. This approach is often used for projects with large budgets, where detailed planning can help reduce uncertainty and risks. Projects that have high‐risk deliverables or have significant regulatory oversight are also a good fit for a waterfall approach.

Types of projects that use a waterfall approach include:

  • Construction;
  • Defense projects such as building a new aircraft, ship, or tank;
  • Medical devices; and
  • Infrastructure including roads, bridges, or mass transit.

Iterative

An iterative approach is adaptive in nature. It is used when there is a high‐level understanding of the desired outcome, but the best way to achieve that outcome is not defined. The project team uses a series of iterations to get clarity on the best method to deliver results.

An iterative approach could be used for designing a new multipurpose bicycle. It might start with an idea on a drawing board that can be shown to key stakeholders for feedback. Once the stakeholders are happy with the design, the team may use cheap materials to build a cheap frame mock‐up that people can look at and sit on to provide more feedback. Once the frame shape is settled, the next iterations can focus on finding the right materials. The right materials affect the ride, price, weight, handling, and expected life span.

When the frame size and materials are decided on, the team can conduct iterations to determine the best gears, brakes, and other componentry. Only when the team has incorporated all the relevant feedback will they finalize the design, materials, and specifications so they can go into production.

Figure 1‐3 shows a generic example of an iterative approach. Notice that each iteration provides information to the next iteration. The number of iterations depends on the feedback and when the decision makers agree that the final iteration will meet the objectives of the project.

Schematic illustration of iterative approach.

FIGURE 1‐3 Iterative approach.

An iterative approach may be used in conjunction with Agile methodologies, especially for software development; however, there are many other usages in addition to software development. Types of projects that could use an iterative development approach include:

  • New product development;
  • Software development; and
  • Marketing campaigns.

Incremental

An incremental approach is adaptive in nature. It is used when the end product can be decomposed into smaller components and deliverables can be deployed incrementally. Each increment learns from previous deployments and adds or improves features and functionality of the deliverables.

An incremental approach might start with an idea and build a basic version of the idea and release it. After release, the team would gather feedback, such as how people use the product, which features they use the most, which features they don't use, and the number of calls for support. This feedback informs the next increment for release. Depending on the product, the team may add a new component or might upgrade software.

This approach could be used to develop an online learning course. The first increment could include slides that can be accessed online and a PDF document that can be downloaded. These two elements might be what is called a minimum viable product. In other words, it has just enough features that people will buy it. Some customers may provide explicit feedback on the product. However, because the product is online, customer behavior can be monitored to indicate how much time they spent with each feature, which ones they returned to, and when they logged out.

Based on feedback, the next increment could include built‐in exercises, quizzes, and interactive activities. This would be released, and more data would be collected. The next increment might include videos, audio clips, or threaded discussions. Development and upgrades would continue until a decision was made that the product was complete.

Notice with this incremental approach that the team releases a product that is complete with each increment. They don't have to wait until the whole product is done or integrated before it is released. This allows the team to learn rapidly and update their plans based on stakeholder feedback.

Figure 1‐4 shows a generic example of an incremental approach. This example shows four increments, where each increment would add more functionality.

An incremental approach is often used with Agile methodologies for software development, though that is not the only use for an incremental approach. Types of projects that could use an incremental development approach include:

  • Customer loyalty programs;
  • Application development; and
  • Online learning.
Schematic illustration of incremental approach.

FIGURE 1‐4 Incremental approach.

Agile

As mentioned in the introduction, Agile is a mindset based on values and principles. There are several frameworks or methodologies that incorporate those values and principles. They all include iterative development and continuous feedback. This book won't espouse one methodology over another but rather will address Agile as an approach for developing deliverables.

Iterative and incremental approaches are used with Agile; however, the iterations or timeboxes are very short, usually one, two, or four weeks in duration. At the end of every iteration (sometimes called a timebox or a sprint), the team demonstrates the work they have accomplished to key stakeholders. Stakeholders provide feedback, and a backlog of features and functions is then prioritized for the next iteration.

Agile approaches have several unique aspects to them that will be described throughout this book, such as different roles, meetings, prioritization methods, and scheduling.

An example of using an Agile approach could be a county that wants to understand how its residents are using its parks and open spaces. They could build an application that pulls data from online searches, educational programs, surveys, parking meters, vendors, and other data sources. The application would compile data from these various sources and make it searchable, create tables, charts, dashboards, and other tools. This information could help the county for staffing, planning, and resident satisfaction.

The team would start with this high‐level concept and a list of features and functions the customer has asked for. The customer would prioritize the work, and the team would determine which of the prioritized features they could get done in the coming iteration. At the end of the iteration they would demonstrate their work, receive feedback, and move onto the next iteration. At some point, they would have enough features and functions built that they could release the application for use. If needed, they could add more functionality in later releases.

This example could use iterative practices to evolve the various aspects of the application, such as the dashboard behavior. It could also use incremental practices to release some of the functionality, do more work, release more functionality, and so forth.

Figure 1‐5 shows a generic example of an Agile approach. Each sprint uses feedback from the previous sprint to plan and develop the upcoming sprint.

Schematic illustration of agile approach.

FIGURE 1‐5 Agile approach.

HYBRID PROJECT MANAGEMENT AND DEVELOPMENT APPROACHES

A hybrid approach uses some predictive and some adaptive approaches. Expanding on the iterative example of developing a new bike, the design of the bike could use an iterative approach and then when preparing for manufacturing and later distribution, they could use a waterfall approach. The design aspect of the bike uses feedback to ensure the bike is meeting the needs of potential customers. The manufacturing and distribution require up‐front planning and a stable set of requirements.

Schematic illustration of hybrid approach 1.

FIGURE 1‐6 Hybrid approach 1.

Developing a new sports watch could use an iterative approach for the software part of the watch and waterfall for the hardware part of the watch. As people use the watch, they can make requests for new or modified features, which can be deployed as updates to the watch operating system, but the physical watch itself won't change. Figure 1‐7 shows a waterfall approach that includes outsourcing the manufacture of the watch.

Finding the right contractor and going through the contracting legal work is part of the project. Once it moves to manufacturing, the hardware part of the project will be complete. As the work for the watch hardware is happening, the team can incrementally develop features and functions for the watch. By the time the manufacturing is ready to begin, the software should have gone through a few iterations and be ready for deployment.

The different development approaches usually work well with specific practices and ways of working. This book will point those out, but the beauty of hybrid project management is that you can tailor, mix, and match to meet the needs of your project, environment and stakeholders.

Schematic illustration of hybrid approach 2.

FIGURE 1‐7 Hybrid approach 2.

SUMMARY

In this chapter we introduced key concepts and terminology for hybrid project management. We looked at four different ways to create deliverables:

  • Waterfall;
  • Iterative;
  • Incremental; and
  • Agile.

We also looked at hybrid project management as a way to combine or mix and match those development approaches to meet the needs of the project.

Key Terms

  • adaptive
  • Agile
  • deliverable
  • development approach
  • hybrid project management
  • incremental
  • iteration
  • iterative
  • minimum viable product
  • predictive
  • value
  • waterfall
..................Content has been hidden....................

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