cover.eps

Title page image

Agile Project Management For Dummies®

To view this book's Cheat Sheet, simply go to www.dummies.com and search for “Agile Project Management For Dummies Cheat Sheet” in the Search box.

Introduction

Welcome to Agile Project Management For Dummies. Agile project management has grown to be as common as any management technique in business today. Over the past decade and a half, we have trained and coached companies big and small, all over the world, about how to successfully run agile projects. Through this work, we found that there was a need to write a digestible guide that the average person could understand and use.

In this book, we will clear up some of the myths about what agile project management is and what it is not. The information in this book will give you the confidence to know you can be successful using agile techniques.

About This Book

Agile Project Management For Dummies, 2nd Edition is more than just an introduction to agile practices and methodologies; you also discover the steps to execute agile techniques on a project. The material here goes beyond theory and is meant to be a field manual, accessible to the everyday person, giving you the tools and information you need to be successful with agile processes in the trenches of project management.

Foolish Assumptions

Because you’re reading this book, you might have a passing familiarity with project management. Perhaps you are a project manager, a member of a project team, or a stakeholder on a project. Or perhaps you don’t have experience with formal project management approaches but are looking for a solution now. You may even have heard the term agile and want to know more. Or you might already be part of a project team that’s trying to be more agile.

Regardless of your experience or level of familiarity, this book provides insights you may find interesting. If nothing else, we hope it brings clarity to any confusion or myths regarding agile project management you may have encountered.

Icons Used in This Book

Throughout this book, you’ll find the following icons.

tip Tips are points to help you along your agile project management journey. Tips can save you time and help you quickly understand a particular topic, so when you see them, take a look!

remember The Remember icon is a reminder of something you may have seen in past chapters. It also may be a reminder of a commonsense principle that is easily forgotten. These icons can help jog your memory when an important term or concept appears.

warning The Warning icon indicates that you want to watch out for a certain action or behavior. Be sure to read these to steer clear of big problems!

technicalstuff The Technical Stuff icon indicates information that is interesting but not essential to the text. If you see a Technical Stuff icon, you don’t need to read it to understand agile project management, but the information there might just pique your interest.

ontheweb On the Web means that you can find more information on the book’s website at www.dummies.com/go/agileprojectmanagementfd2e.

Beyond the Book

Although this book broadly covers the agile project management spectrum, we can cover only so much in a set number of pages! If you find yourself at the end of this book thinking, “This was an amazing book! Where can I learn more about how to advance my projects under an agile approach?” check out Chapter 22 or head over to www.dummies.com for more resources.

We’ve provided a cheat sheet for tips on assessing your current projects in relation to agile principles and free tools for managing projects using agile techniques. To get to the cheat sheet, go to www.dummies.com, and then type Agile Project Management For Dummies Cheat Sheet in the Search box. This is also where you’ll find any significant updates or changes that occur between editions of this book.

Where to Go from Here

We wrote this book so that you could read it in just about any order. Depending on your role, you may want to pay extra attention to the appropriate sections of the book. For example:

Part 1

Understanding Agile

IN THIS PART …

Understand why project management needs to modernize due to the flaws and weaknesses in historical approaches to project management.

Find out why agile methods are growing as an alternative to traditional project management, and become acquainted with the foundation of agile project management: the Agile Manifesto and the 12 Agile Principles.

Discover the advantages that your products, projects, teams, customers, and organization can gain from adopting agile project management processes and techniques.

Chapter 1

Modernizing Project Management

IN THIS CHAPTER

check Understanding why project management needs to change

check Finding out about agile project management

Agile project management is a style of project management that focuses on early delivery of business value, continuous improvement of the project’s product and processes, scope flexibility, team input, and delivering well-tested products that reflect customer needs.

In this chapter, you find out why agile processes emerged as an approach to software development project management in the mid-1990s and why agile methodologies have caught the attention of project managers, customers who invest in the development of new software, and executives whose companies fund software development departments. This chapter also explains the advantages of agile methodologies over long-standing approaches to project management.

Project Management Needed a Makeover

A project is a planned program of work that requires a definitive amount of time, effort, and planning to complete. Projects have goals and objectives and often must be completed in some fixed period of time and within a certain budget.

Because you are reading this book, it’s likely that you are either a project manager or someone who initiates projects, works on projects, or is affected by projects in some way.

Agile approaches are a response to the need to modernize project management. To understand how agile approaches are revolutionizing projects, it helps to know a little about the history and purpose of project management and the issues that projects face today.

The origins of modern project management

Projects have been around since ancient times. From the Great Wall of China to the Mayan pyramids at Tikal, from the invention of the printing press to the invention of the Internet, people have accomplished endeavors big and small in projects.

As a formal discipline, project management as we know it has only been around since the middle of the twentieth century. Around the time of World War II, researchers around the world were making major advances in building and programming computers, mostly for the United States military. To complete those projects, they started creating formal project management processes. The first processes were based on step-by-step manufacturing models the United States military used during World War II.

People in the computing field adopted these step-based manufacturing processes because early computer-related projects relied heavily on hardware, with computers that filled up entire rooms. Software, by contrast, was a smaller part of computer projects. In the 1940s and 1950s, computers might have thousands of physical vacuum tubes but fewer than 30 lines of programming code. The 1940s manufacturing process used on these initial computers is the foundation of the project management methodology known as waterfall.

In 1970, a computer scientist named Winston Royce wrote “Managing the Development of Large Software Systems,” an article for the IEEE that described the phases in the waterfall methodology. The term waterfall was coined later, but the phases, even if they are sometimes titled differently, are essentially the same as originally defined by Royce:

  • 1. Requirements
  •  2. Design
  •   3. Development
  •    4. Integration
  •     5. Testing
  •      6. Deployment

On waterfall projects, you move to the next phase only when the prior one is complete — hence, the name waterfall.

technicalstuff Pure waterfall project management — completing each step in full before moving to the next step — is actually a misinterpretation of Royce’s suggestions. Royce identified that this approach was inherently risky and recommended developing and testing within iterations to create products — suggestions that were overlooked by many organizations that adopted the waterfall methodology.

The waterfall methodology was the most common project management approach in software development until it was surpassed by improved approaches based on agile techniques around 2008.

The problem with the status quo

Computer technology has, of course, changed a great deal since the last century. Many people have a computer on their wrist with more power, memory, and capabilities than the largest, most expensive machine that existed when people first started using waterfall methodologies.

At the same time, the people using computers have changed as well. Instead of creating behemoth machines with minimal programs for a few researchers and the military, people create hardware and software for the general public. In many countries, almost everyone uses a computer, directly or indirectly, every day. Software runs our cars, our appliances, our homes; it provides our daily information and daily entertainment. Even young children use computers — a 2-year-old is almost more adept with the iPhone than her parents. The demand for newer, better software products is constant.

Somehow, during all this growth of technology, processes were not left behind. Software developers are still using project management methodologies from the 1950s, and all these approaches were derived from manufacturing processes meant for the hardware-heavy computers of the mid-twentieth century.

Today, traditional projects that do succeed often suffer from one problem: scope bloat, the introduction of unnecessary product features in a project.

Think about the software products you use every day. For example, the word-processing program we’re typing on right now has many features and tools. Even though we write with this program every day, we use only some of the features all the time. We use other elements less frequently. And we have never used quite a few tools — and come to think of it, we don’t know anyone else who has used them, either. The features that few people use are the result of scope bloat.

Scope bloat appears in all kinds of software, from complex enterprise applications to websites that everyone uses. Figure 1-1 shows data from a Standish Group study that illustrates just how common scope bloat is. In the figure, you can see that 64 percent of requested features are rarely or never used.

image

Copyright 2011 Standish Group

FIGURE 1-1: Actual use of requested software features.

The numbers in Figure 1-1 illustrate an enormous waste of time and money. That waste is a direct result of traditional project management processes that are unable to accommodate change. Project managers and stakeholders know that change is not welcome mid-project, so their best chance of getting a potentially desirable feature is at the start of a project. Therefore, they ask for

  • Everything they need
  • Everything they think they may need
  • Everything they want
  • Everything they think they may want

The result is the bloat in features that results in the statistics in Figure 1-1.

The problems associated with using outdated management and development approaches are not trivial. These problems waste billions of dollars a year. The billions of dollars lost in project failure in 2015 (see the sidebar, “Software project success and failure”) could equate to millions of jobs around the world.

Over the past two decades, people working on projects have recognized the growing problems with traditional project management and have been working to create a better model: agile project management.

Introducing Agile Project Management

The seeds for agile techniques have been around for a long time. In fact, agile values, principles, and practices are simply a codification of common sense. Figure 1-2 shows a quick history of agile project management, dating to the 1930s with Walter Sherwart’s Plan-Do-Study-Act (PDSA) approach to project quality.

image

FIGURE 1-2: Agile project management timeline.

In 1986, Hirotaka Takeuchi and Ikujiro Nonaka published an article called “New New Product Development Game” in the Harvard Business Review. Takeuchi and Nonaka’s article described a rapid, flexible development strategy to meet fast-paced product demands. This article first paired the term scrum with product development. (Scrum originally referred to a player formation in rugby.) Scrum eventually became one of the most popular agile project management frameworks.

In 2001, a group of software and project experts got together to talk about what their successful projects had in common. This group created the Agile Manifesto, a statement of values for successful software development:

Manifesto for Agile Software Development*

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

* Agile Manifesto Copyright © 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.

This declaration may be freely copied in any form, but only in its entirety through this notice.

These experts also created the Principles behind the Agile Manifesto, 12 practices that help support the values in the Agile Manifesto. We list the Agile Principles and describe the Agile Manifesto in more detail in Chapter 2.

Agile, in product development terms, is a descriptor for project management approaches that focus on people, communications, the product, and flexibility. If you’re looking for the agile methodology, you won’t find it. However, all agile methodologies (for example, crystal), frameworks (for example, scrum), techniques (for example, user story requirements), and tools (for example, relative estimating) have one thing in common: adherence to the Agile Manifesto and the 12 Agile Principles.

How agile projects work

Agile approaches are based on an empirical control method — a process of making decisions based on the realities observed in the project. In the context of software development methodologies, an empirical approach can be effective in both new product development and enhancement and upgrade projects. By using frequent and firsthand inspection of the work to date, you can make immediate adjustments, if necessary. Empirical control requires

  • Unfettered transparency: Everyone involved in an agile project knows what is going on and how the project is progressing.
  • Frequent inspection: The people who are invested in the product and process the most regularly evaluate the product and process.
  • Immediate adaptation: Adjustments are made quickly to minimize problems; if an inspection shows that something should change, it is changed immediately.

To accommodate frequent inspection and immediate adaptation, agile projects work in iterations (smaller segments of the overall project). An agile project involves the same type of work as in a traditional waterfall project: You create requirements and designs, develop the product, document it, and if necessary, integrate the product with other products. You test the product, fix any problems, and deploy it for use. However, instead of completing these steps for all product features at once, as in a waterfall project, you break the project into iterations, also called sprints.

Figure 1-3 shows the difference between a linear waterfall project and an agile project.

image

FIGURE 1-3: Waterfall versus agile project.

warning Mixing traditional project management methods with agile approaches is like saying, “I have a Porsche 911 Turbo. However, I’m using a wagon wheel on the front left side. How can I make my car as fast as the other Porsches?” The answer, of course, is you can’t. If you fully commit to an agile approach, you will have a better chance of project success.

Why agile projects work better

Throughout this book, you see how agile projects work better than traditional projects. Agile project management approaches can produce more successful projects. The Standish Group study, mentioned in the sidebar “Software project success and failure,” found that while 29 percent of traditional projects failed outright, that number dropped to only 9 percent on agile projects. The decrease in failure for agile projects is a result of agile project teams making immediate adaptations based on frequent inspections of progress and customer satisfaction.

Here are some key areas where agile approaches are superior to traditional project management methods:

  • Project success rates: In Chapter 15, you find out how the risk of catastrophic project failure falls to almost nothing on agile projects. Agile approaches of prioritizing by business value and risk ensure early success or failure. Agile approaches to testing throughout the project help ensure that you find problems early, not after spending a large amount of time and money.
  • Scope creep: In Chapters 7, 8, and 12, you see how agile approaches accommodate changes throughout a project, minimizing scope creep. On agile projects, you can add new requirements at the beginning of each sprint without disrupting development flow. By fully developing prioritized features first, you prevent scope creep from threatening critical functionality.
  • Inspecting and adaptation: In Chapters 10 and 14, you find details of how regular inspections and adaptation work on agile projects. Agile project teams — armed with frequent feedback from complete development cycles and working, shippable functionality — can improve their processes and their products with each sprint.

Throughout many chapters in this book, you discover how you gain control of the outcome of agile projects. Testing early and often, adjusting priorities as needed, using better communication techniques, and regularly demonstrating and releasing product functionality allow you to fine-tune your control over a wide variety of factors on agile projects.

Chapter 2

Applying the Agile Manifesto and Principles

IN THIS CHAPTER

check Defining the Agile Manifesto and the 12 Agile Principles

check Describing the Platinum Principles

check Understanding what has changed in project management

check Taking the agile litmus test

This chapter describes the basics of what it means to be agile: the Agile Manifesto, with its four values, and the 12 agile principles behind the Agile Manifesto. We also expand on these basics with three additional Platinum Principles, which Platinum Edge (owned by Mark) crafted after years of experience supporting organizations’ agile transitions.

This foundation provides product development teams with the information needed to evaluate whether the project team is following agile principles, as well as whether their actions and behaviors are consistent with agile values. When you understand these values and principles, you’ll be able to ask, “Is this agile?” and be confident in your answer.

Understanding the Agile Manifesto

In the mid-1990s, the Internet was changing the world right before our eyes. The people working in the booming dot-com industry were under constant pressure to be the first to market with fast-changing technologies. Development teams worked day and night, struggling to deliver new software releases before competitors made their companies obsolete. The information technology (IT) industry was completely reinvented in a few short years.

Given the pace of change at that time, cracks inevitably appeared in conventional project management practices. Using traditional methodologies such as waterfall, which is discussed in Chapter 1, didn’t allow developers to be responsive enough to the market’s dynamic nature and to emerging new approaches to business. Development teams started exploring alternatives to these outdated approaches to project management. In doing so, they noticed some common themes that produced better results.

In February 2001, 17 of these new methodology pioneers met in Snowbird, Utah, to share their experiences, ideas, and practices; to discuss how best to express them; and to suggest ways to improve the world of software development. They couldn’t have imagined the effect their meeting would have on the future of project management. The simplicity and clarity of the manifesto they produced and the subsequent principles they developed transformed the world of information technology and continue to revolutionize project management in every industry, not just software development.

Over the next several months, these leaders constructed the following:

The group’s work was destined to make the software industry more productive, more humane, and more sustainable.

The Agile Manifesto is a powerful statement, carefully crafted using fewer than 75 words:

Manifesto for Agile Software Development

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

* Agile Manifesto Copyright © 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

This declaration may be freely copied in any form, but only in its entirety through this notice.

No one can deny that the Agile Manifesto is both a concise and an authoritative statement. Whereas traditional approaches emphasize a rigid plan, avoid change, document everything, and encourage hierarchal-based control, the manifesto focuses on

The Agile Manifesto represents a big shift in focus in how projects are conceived, conducted, and managed. If we read only the items on the left, we understand the new paradigm that the manifesto signers envisioned. They found that by focusing more attention on individuals and interactions, teams would more effectively produce working software through valuable customer collaboration and by responding well to change. In contrast, the traditional primary focus on processes and tools often produces comprehensive or excess documentation to comply with contract negotiations and to follow an unchanging plan.

Research and experience illustrate why agile values are so important:

The creators of the Agile Manifesto originally focused on software development because they worked in the IT industry. However, agile project management techniques have spread beyond software development and even outside computer-related products. Today, people use agile approaches to create products in a variety of industries, including biotech, manufacturing, aerospace, engineering, marketing, nonprofit work, and even building construction. If you want early empirical feedback on the product or service you’re providing, you can benefit from agile methods.

remember The Agile Manifesto and 12 Agile Principles directly refer to software; we leave these references intact when quoting the manifesto and principles throughout the book. If you create non-software products, try substituting your product as you read on.