- Innovative Product Development
- Reliable Innovation
- Core Agile Values
- Agile Project Management
- Thriving in a Chaordic World
- Our Journey
Agile Project Management
The central question for project managers, project team members, and executives is, "How does project management add value to a project?" Unfortunately, many development engineers consider project management to be a roadblocka hindrance, not a help. Project managers are viewed as administrators who put together detailed task schedules, create colorful resource profiles, bug team members about micro-task completions, and write reams of status reports for upper management, not as direct contributors to delivering value to customers. Teams often view project management as overhead. As Michael Kennedy (2003), author of Product Development for the Lean Enterprise (about Toyota) says, "Our product development philosophy is based more upon administration excellence than technical excellence, and it's getting worse."
"Buy pizza and stay out of the way" expresses too many product engineering teams' view of "good" project management. Rather than overhead, project management should be seen as offering inspirational leadership focused on delivering customer value. We have missed this point because many project management practices and project managers are focused on compliance activities, not delivering value. They are project administrators, not project managers. Customers pay for value; everything else is overheadnecessary overhead in some respects, but overhead nonetheless. Team activities or deliverables that help comply with government regulations are necessary, but they rarely add customer value. Documentation that conforms to legal requirements may be necessary, but it may not add valueat least not directly. Status reports assist managers in meeting their fiduciary responsibilities, but they don't add value. Endless milestone approvals may delude management into thinking they are in control, but they don't add value.
But how do we measure customer value and project management's contribution to that value? Motorola's ill-fated, multibillion-dollar Iridium project was a spectacular failure in the market. Meanwhile, the movie Titanic, which was severely over budget and timeand viewed by early pundits as a $200 million flop awaiting releasewas the first movie to generate over $1 billion in worldwide revenue. By common compliance-based project management practices of budget, scope, and schedule performance, Titanic was a failure. Within some circles, Iridium was considered a success because it fulfilled the original specifications.
All products face similar demandscustomer needs, profit, development speed, constant change, high qualitythat require high levels of competency in multiple domains of expertise. These often contradictory constraints and demands on product developmentspeed and quality, great functionality and low cost, uncertainty and predictability, mobility and stabilityhave created the need for project managers and project management practices that focus on delivering value.
APM is a set of values, principles, and practices that assist project teams in coming to grips with this challenging environment. The core values of APM address both the need to build agile, adaptable products and the need to create agile, adaptable development teams.
Agility Defined
There is no Agility for Dummies. Agility isn't a silver bullet. You don't achieve it in five easy steps. So what is it? For myself, I've characterized agility in two statements:
Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.
Agility is the ability to balance flexibility and stability (Highsmith 2002).
In an uncertain and turbulent world, success belongs to companies that have the capacity to create change, and maybe even chaos, for their competitors. Creating change disrupts competitors (and the entire market ecosystem); responding to change guards against competitive thrusts. Creating change requires innovation: developing new products, creating new sales channels, reducing product development time, customizing products for increasingly smaller market segments. In addition, your company must be able to respond quickly to both anticipated and unanticipated changes created by your competitors and customers.
An example of a product development effort in which all the aspects of agility come into play is that of small, portable DNA analyzers. These instruments, which are still five or more years away from commercial deployment, could be used for analyzing suspected bioterror agents (e.g., anthrax), making a quick medical diagnosis, or performing environmental bacterial analysis. These instruments must be accurate, easy to use, and reliable under wide-ranging conditions, and their development depends on breakthroughs in nanotechnology, genome research, and microfluidics. A half-dozen companies are racing to build versions of a DNA analyzer, often with grants from agencies such as the US National Institutes of Health (Gardner 2003). Developing these leading-edge products requires blending flexibility and structure, exploring into various new technologies, and creating change for competitors by reducing delivery time. These are not projects that can be managed by traditional, prescriptive project management methodologies.
Some people mistakenly assume that agility connotes a lack of structure, but the absence of structure, or stability, generates chaos. Conversely, too much structure generates rigidity. Complexity theory tells us that innovationcreating something new in ways that we can't fully anticipate, an emergent resultoccurs most readily at the balance point between chaos and order, between flexibility and stability. Scientists believe that emergence, the creation of novelty from agent interaction, happens most readily at this "edge of chaos." The idea of enough structure, but not too much, drives agile managers to continually ask the question, "How little structure can I get away with?" Too much structure stifles creativity. Too little structure breeds inefficiency.
This need to balance at the edge of chaos to foster innovation is one reason process-centric methodologies often fail. They push organizations into over-optimization at the expense of innovation. Agile organizations don't get lost in some gray middle ground; they understand which factors require stabilization and which ones encourage exploration. For example, in a high-change product development environment, rigorous configuration management stabilizes and facilitates flexibility just as a focus on technical excellence stabilizes the development effort. The concepts and practices described in this book are designed to help project teams understand this balancing between flexibility and stability. They help answer the question of what to keep stable and what to let vary.
Agility means being responsive or flexible within a framework or context. As I've said elsewhere, "The problem with many traditional software development and project management approaches is that they have too narrowly defined the context; that is, they've planned projects to a great level of task detail, leaving very little room for agility to actually happen" (Highsmith 2002).
Balancing at the edge of chaos between flexibility and stability requires people who are good improviserswho have the ability to deal effectively with the ambiguity, and the paradox, of pursuing two seemingly dissimilar goals at once. Organizations that support these improvisers have three key traits:
-
An adaptive culture that embraces change
-
Minimal rules that encourage self-organization, combined with the self-discipline to closely adhere to those rules
-
Intense collaboration and interaction among the project community
Each of these traits will be further described in the chapters on the guiding principles of APM.
The APM Framework
Project management processes and performance measures are different for exploration- and experimentation-based approaches than they are for production- and specification-based ones. Production-oriented project management processes and practices emphasize complete early planning and requirements specification with minimal ongoing change. Exploration-based processes emphasize nominal early planning, good enough requirements, and experimental design with significant ongoing learning and change. Each approach has its place, but the lifecycle framework for the latter has a very different flavor from the former. The APM framework consists of five phases, each with supporting practices. They are Envision, Speculate, Explore, Adapt, and Close.
These phases resemble a scientific investigative process more than a production management process. The Envision phase results in a well-articulated business or product visionenough to keep the next phases bounded. In the Speculate phase, the team hypothesizes about the specifications of the product, knowing that as the project continues both technology and customer specifications will evolve as new knowledge is gained. The Explore phase then becomes a parallel and iterative operation in which the preliminary specifications and design are implemented. Components labeled "uncertain" are subject to more experimentation than others whose specifications or design are more certain. In the Adapt phase, the results of these experiments are subjected to technical, customer, and business case review, and adaptive actions are incorporated into the next iteration.
One of the most common questions about APM is, "What about the planning, architecture, and requirements phases?" The simple answer is that these things are activities and not phases. An agile approach can easily include as much time for these activities as in a conventional serial phase approach, but the activities are spread across multiple iterations.
A second area of concern is the risk of rework in agile development if the initial architecture work (the discussion in this section could refer to architecture, plans, or requirements) misses a critical item. But there is an equal if not greater risk in serial development that often goes unnamedthat of getting the up-front architecture wrong. In a serial process, the validation of the early architecture decisions comes late in the project lifecycle, when the actual building occurs. By that time, a tremendous amount of time and money has been spent. Changing the architecture then becomes a major, and costly, decisionif it is possible at all.
Within this general APM framework, the successful completion of each phase depends upon a series of key practices that actually guide the work effort. Some of these practices are simple and straightforward, like the product vision box and project data sheet, which I'll discuss in Chapter 5. Others such as customer focus groups and iterative planning are based directly on the core values of agile organizations, while such practices as workload self-management and participatory decision making focus on building an agile, adaptive culture. Values and guiding principles describe the why of APM, and practices describe the how.