Course Outline
I.
Introduction
-
Definition of flexibility
-
Benefits of flexibility
-
Where it fits and where it is unwise
-
Reducing the cost of change
-
The
essence of Extreme Programming
-
Flexibility practices mutually support each other
-
Potential downsides
II.
Customers and Product
Requirements
-
The
fallacy of knowing all requirements at a project’s outset
-
Frozen requirements versus customer feedback
-
Customers don’t use the features we give them
-
Linking with specific customers
-
Use cases
-
Personas
-
Lead users
-
Where customer feedback can lead you astray
-
Obtaining customer feedback quickly and efficiently
-
The
power of a product vision
III.
Modular
Product Architectures
-
Modular versus integral architectures
-
Applying architecture as a strategic tool rather than a
technical tool
-
Architectural objectives
-
Why
enforcing architectural rules is critical
-
Examples of actual architectural choices
-
CD-ROM drive
-
Perfect versus imperfect modularity
-
The
four steps in designing an architecture
-
Understanding interactions: the design structure matrix
-
The
price of modularity
IV.
Experimentation
-
The
different kinds of experimentation: analysis, experiments,
prototypes, simulations, etc.
-
The
value of failure
-
Hypothesis-based approach
-
Front-loaded prototyping
V.
How Many
Prototypes?
VI.
Why and
When?
VII.
How
Many in Parallel?
VIII.
Set-Based Design
IX.
The Importance
of Design Convergence
X.
Development
Teams
-
People are more important than processes and tools
-
The
“right” people are essential to success
-
But
they don’t have to be perfect
-
The
value of generalists
-
Pigs, chickens, and cows
-
Establishing authority levels in advance
-
The
power of co-location
-
The
daily stand-up meeting
-
How
to enhance the team’s electronic communication
XI.
Decision Making
-
Decisions are at the core of product development
-
For flexibility, decisions
must me made in a flexible way
-
That
is, at the last responsible moment
-
Uncertainty is characteristic of decisions
-
Applying the last responsible moment responsibly
-
Working with linked decisions
-
Using decision trees
-
Project scope-schedule-resource decisions
-
Project economic trade-offs
-
The
benefits of consensus
XII.
Project
Management
-
Flexible project management is much different than traditional
project management
-
The project schedule isn’t
always the guide
-
Individuals are more important
than processes
-
Responding to change is more
important than following a plan
-
“Corrective action” often
means changing the plan
-
Project completion means
delivering value rather than finishing the plan
-
Rolling-wave planning
-
Timeboxing
-
Risk management, rather than being certain steps in a
subprocess, is the process (because the whole project is
risk-driven)
-
Valuable project metrics
-
Learning how to say, “no”
XIII.
Product Development
Process
-
Balancing between structure and flexibility
-
Balancing the opposing risks
-
Different for each project
-
Different for different facets
of a project
-
Changes over the life of a
project
-
Phased processes don’t mesh well with innovation activities
-
Incremental innovation
-
Bottlenecks and queues
-
Useful concepts from agile software
-
Build up processes, don’t tear down
|