SVPG · Free post · Execution, roadmaps & process · Discovery & customer research

Agile Development Processes

Marty CaganJan 30, 20057 min
SourceSVPG
KindFree post
PublishedJan 30, 2005
Originalsvpg.com ↗
N:

Marty Cagan examines how Agile methods, especially Extreme Programming (XP), fit into product management for commercial products. He first outlines the twelve shared Agile principles and XP's core practices, which were designed largely for custom software serving a single customer. He then identifies three areas of concern for product managers: discovering what to build, building a scalable and reliable product, and deploying changes to production. His conclusion is that Agile engineering practices are valuable but must be augmented with product management, product design, and QA to produce products customers will buy and use.

01Key takeaways

  • Adopt Agile's core principles of early, frequent delivery and rapid learning, while recognizing that specific methods vary in how they apply them.
  • Act as a proxy for the customer by deeply understanding target users, their environment, and the competitive landscape, since on-site customers may not be available.
  • Bring professional designers into the process, because user experience is critical for products that must sell on their merits.
  • Validate prototypes with a broad representation of the target market, not just one customer or the product manager, before building.
  • Define release requirements clearly up front and add dedicated QA for non-unit tests such as scalability, performance, and fault tolerance.
  • Don't assume change is cheap after release; commercial products with large user bases need gentle deployment practices.

02Key sections

Core Agile principles
Agile methods share twelve principles centered on delivering valuable working software early and frequently, welcoming change, close collaboration, and regular self-reflection. The specific implementation differs across methods such as Scrum, Kanban, and XP.
Extreme Programming practices
XP relies on practices like pair programming, simple design, an on-site customer, incremental releases, continuous testing and refactoring, collective code ownership, and sustainable 40-hour weeks. The approach is largely developer-centric and most of its techniques are sound industry practice.
Discovering the product
XP was built for single-customer custom software, so it lacks product management and design roles. A product manager should act as a proxy for the customer, and professional designers are needed for user experience, with validation done against the broader market.
Building the product
Release requirements must be defined up front so engineering can manage technical risk. A dedicated QA function should handle system, integration, performance, and other tests beyond the developer-owned unit tests.
Deploying the product
XP assumes the cost of change can be kept low after release, which holds for internal systems but less so for commercial and internet products with large user bases. Gentle deployment practices can offset the impact of frequent releases.

03From the post

“A partnership dedicated to teaching best practices to product teams and product leaders”

“The key is to ensure you are building a product that customers will want to buy, and will be able to figure out how to…”Marty Cagan · SVPG
“It is not enough that one customer or the product manager understand it. The product must be validated with the broader representation of the target…”Marty Cagan · SVPG
“for products that must be sold on their merits (versus custom software developed under contract), the user experience is critical, and requires the skills of…”Marty Cagan · SVPG

04Frameworks mentioned

Summary and takeaways written by PM Atlas; quotes are short excerpts. © the original author.