Featured Whitepapers
- Apples, Oranges, and Acorns - All Agile Development Tools Are Not the Same
- One's Enough for Agile Application Development Management
- Requirements Management 101 – 4 Basics Everyone Should Know
- Tips on Requirements Traceability – Learn How to Control Change and Improve Quality
- Scaling Continuous Integration to Large and Distributed Teams
|
“I imagined a user grabbing another user in the hallway and saying, ‘I gotta tell you about this wonderful new thing the application does… ’ Stories are the Stories customers wish they could tell about the system but can’t (yet).” – Kent Beck How do you define your project and business requirements? Do you use the classic method of creating a Business Requirements Document (BRD) early in the project regardless of the project length? How has that worked for you, especially on a 6-month or year-long project? Did you need BRD change requests during the project because the team discovered new information, market conditions changed, or someone had an even better idea? Agile has a different take on the concept of requirements. Instead of presciently scribing the exact requirements for the project, and compensating for all eventualities, Agile recommends creating a vision of the product, succinct bite-size statements of business value from the Customer’s or Business Partner’s point-of-view, and criteria to verify the delivery completeness; or in Agile terminology, a Product Vision, Stories, and Acceptance Criteria. Knowing what comes before the writing of stories, what comes after the writing of stories, and who is going to consume the stories sets the context for the form and substance of a story. The Tie between Writing Agile Requirements using Stories, the Product Vision and an Agile Requirements Positioning Statement -Yogi Berra A Product Vision and an Agile Requirements Positioning Statement should exist prior to writing agile requirements using stories. The product vision forms the bedrock for writing agile requirements using stories, and drives the iterative and incremental delivery of commercial or operational value. One of the key characteristics of the product vision is its focus on describing commercial or operational business value instead of the mechanics of how that value is delivered. An agile-lean product development and delivery team divorced from context can produce very erratic and unpredictable results. The product vision serves as a mechanism to provide context and as a result ground the product development effort in reality. The details of why the Product Vision is important when writing agile requirements using stories is another question and answer that will be included in my upcoming book. The Agile Requirements Positioning Statement defines the need, belief, and the readiness of the individual, team and organization to do what it takes to effectively elicit and write agile requirements and in turn deliver commercial or operational value. The Agile Requirements Positioning Statement ensures unanimity of purpose within the enterprise and the agile product development and delivery teams by serving as a reference point, educational value, and motivating force:
Reference Point
Educational Value
Motivating Force Here is an example of an agile requirements positioning statement:
Agile Requirements Positioning Statement
Challenge
Tenets - Guiding Principles
Enactment – Make it So
Ron Jeffries, one of the creators of Extreme Programming (XP), described what has become the de-facto standard way to think about stories. Ron used the alliteration of card, conversation, and confirmation to describe the three elements of a story[1]:
A good story is negotiable, testable, possible to estimate, commercially or operationally value adding, cohesive, and loosely coupled. It is not an explicit contract for features or functionality. A Story is:
But Why Stories? Mike Cohn, one of the most distinguished Agile authors, describes three main advantages of stories: Verbal Communication Cohn gives a wonderful example of the imprecision of written communication: At lunch recently I read this on my menu: “Entrée comes with choice of soup or salad and bread.” That should not have been a difficult sentence to understand, but it was. Which of these did it mean I could choose?
We act as though written words are precise, yet they often aren’t. Contrast the words written on that menu with the waitress’ spoken words: “Would you like soup or salad?” Even better, she removed all ambiguity by placing a basket of bread on the table before she took my order. Essential for Estimating Just Enough Detail For more details, see Mike Cohn’s article Advantage of User Stories for Requirements[2]. Summary However, Agile has a wonderful technique to overcome the requirement process limitations of traditional software development: the story. The written words of a story and all the conversation about the story enables the Product Owner and the delivery team to effectively communicate the product features (who, wants what, why). Requirements can and do change; the iterative nature of Agile allows the team to refocus on new or lower priority stories during every Sprint Planning session. Thus, in agile when asked for a new feature you will never say, “I’m sorry but that wasn’t in the requirements.”[3] A story is a means to an end. Stories first and foremost serve as a communication mechanism leveraging effective collaboration between those who possess requisite knowledge, authority and responsibility for the requirement, the Product Owner (aka the Business or Customer) and those who possess the craftsmanship for delivering on the requirement, the development and delivery team. You will find that the more experience you have discovering and writing stories the easier it will become. Next month, in part two, we will delve into the remainder of this answer focusing on:
[1] Jeffries uses the “card” metaphor since User Stories are typically handwritten on paper cards. [2] http://www.mountaingoatsoftware.com/articles/27-advantages-of-user-stories-for-requirements [3] Assuming the request comes at the Sprint Planning meeting and not during the middle of a Sprint. About the Author Russell Pannone is the founder of We Be Agile and the Agile Lean Phoenix User Group, the Agile-Lean Adoption Lead and Coach at US Airways, and editor-in-chief of the Agile Journal.
With almost thirty years of system-software development and delivery experience, Russell’s focus is on working side by side with folks on real projects to help them deliver valuable system-software to production early and often. He gives those with whom he collaborates the best opportunity to beat the competition to market, realize revenue, and discover insights that can foster improvement. Contact Russell at rpannone@webeagile.com.
Set as favorite
Bookmark
Email this
Hits: 5287 Trackback(0)Comments (0)
|
Agile Marketplace - Announcements and Special Offers
The Business Case for ALM Transformation
Are legacy systems holding your company back? Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper


This is part one of a two-part article excerpted from a book I am writing to be published by Addison-Wesley. The book will be the first book to provide agile-lean product development practitioners with a pragmatic, clear, and concise collection of answers to your questions about agile and lean product (system-software) development. 
