1. Something that is required; a necessity.
2. Something obligatory; a prerequisite.¹
Among the twelve principles of Agile, that one that evokes a good amount of debate is changing requirements, even late in development. This contrasts from plan driven approaches to development that “freeze requirements” and lock those in through development and deployment. The execution of this principle requires expert management of the Agile approach (Feature Driven Development, Paired Program or the immensely popular SCRUM). Managed well changing requirements, even late in development can ensure competitive delivery and customer focus.
A key trade-off decision is the impact of that change on delivery. In our social networking example, if the developers at LinkedIn were heads down working on a Twitter widget and are nearly complete, do they stop that widget’s roll-out to include a Four Square widget? Or is it better to release that Twitter widget and then tackle the Four Square one? There’s no cut and dry answer. Criteria for evaluating that question include:
- readiness of the Twitter release,
- impact of adding Four Square (is it simple feed or major change to underlying LAMP architecture) and
- market demand for Four Square.
I put release in bold to emphasis one important aspect for changing requirements – mature release management. I have seen three organizations jump head first into Agile/SCRUM, gain some wonderful cycle time improvement, then stall after the fourth or fifth SCRUM (iteration) as the software releases begin crashing into each other. The changing requirements out-paced the release and operational teams ability to sustain the change. With some careful and methodical rework of those organizations release management, those issues were resolved.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.
- Authors of The Agile Manifesto discuss its Tenth Anniversary (pragprog.com)
- A Decade of Agile Programming – Has It Delivered? (it.slashdot.org)
- Demystifying agile, top 7 myths. (makinggoodsoftware.com)
- What Makes Agile Agile? (java.sys-con.com)
- December 13, 2010 – SDN Event. From lightweight agile to enterprise agile (sanderhoogendoorn.com)