Welcome to our Newsletter!

eLearning, Blended Classrooms, and Public Offerings

YAGNI Your Requirements Docs

Upcoming Events

Resources of Interest

Archive Issues

Success with Requirements

Volume 1 :: Number 9 :: 2007
ISSN: 1936-3583

Welcome to our Newsletter


I hope this fall season finds you well. This newsletter's article addresses the topic of requirements documentation. How useful is yours? Do you produce dense and voluminous requirements documentation that doesn't provide business value? How much is too much - or too little? What questions can you ask yourself to make good choices about requirements documentation? I'll explore how you can leverage the YAGNI principle from eXtreme Programming (XP) for making good choices about your requirements documentation. Read on!

~ ellen

Ellen Gottesdiener,
President and Principal Consultant
EBG Consulting, Inc.
http://www.ebgconsulting.com

P.S. to avoid having this eNewsletter spammed out of your inbox, please add ellen@ebgconsulting.com to your address book
In this issue:

eLearning, Blended Classrooms, and Public Offerings

YAGNI Your Requirements Docs

Upcoming Events

Resources of Interest

Archive Issues

Please contact me (ellen@ebgconsulting.com) with your suggestions and feedback on this issue.

   
  eLearning, Blended Classroom, and Public Offerings  
   

Take self-paced eLearning, or optionally combine it with our expert instructor-led training for our unique "blended classroom" offering. Our next public offering of the blended classroom training takes place in Philadelphia in November. We offer you, subscribers to Success with Requirements, special discounts. Groups of three or more from the same company attending our public training get even more discounts.

1. Self-paced eLearning: Roadmap to Success: Foundation for Requirements Development and Management.

This content rich and engaging training includes:
Long-term access (45 days) to the "Roadmap to Success:
Foundation for Requirements Development and Management" curriculum
A copy of the industry's "go to" book on requirements: The
Software Requirements Memory Jogger
Downloadable templates and printable tips to use on the job
for years to come

Click here to learn more or register. Subscribers to Success with Requirements receive special pricing -$400 off! Use DISCOUNT CODE: RFRTS05.

2. Blended Classroom: Roadmap to Success: Comprehensive. We are offering this unique, blended training publicly in three locations:

November 28-29, 2007: Philadelphia, Pennsylvania
March 26-27, 2008: Indianapolis, Indiana
April 16-17, 2008: Orlando, Florida

This unique blended learning experience includes all the items listed above (for Roadmap to Success: Foundation for Requirements Development and Management) PLUS:

Two days of instructor-led training in "Analysis Modeling"
Course guide for "Analysis Modeling"
Mini-poster of the Requirements Roadmap
Continental-breakfast, lunch, snacks for the two-day
instructor-led training event
Completion certificate

Click here to learn more or register. Subscribers to Success with Requirements receive a 10% discount. Use DISCOUNT CODE: RCRTS05.

   
  YAGNI Your Requirements Docs  
   

YAGNI, or ya ain't gonna need it, comes from XP (extreme programming), an agile method. YAGNI is a smart, minimalist approach to product development. It means you don't create any artifact that doesn't provide business value.

But it's important not to misinterpret YAGNI. It doesn't mean don't document your requirements because you'll never need or use it.

This is an extreme interpretation of a sensible principle. Instead, YAGNI means that you'll benefit from paying close attention to what you document and how.

Form and Format

For every unique project, you should adjust both the form and the format of your requirements.

Form: The form of business requirements might be a list of goals and objectives. User requirements might take the form of scenarios, business rules, and a data model. The form of quality attributes might be text statements, a subset of "Planguage" (Planning Language) elements, or quality attribute scenarios.

Format: The format of scenarios might be handwritten statements on index cards or templated scenarios recorded in a spreadsheet or Word document. The format of your data model might be a rough draft sketched on a poster or whiteboard, or a diagram drawn in a tool such as Visio. If you write your quality attributes using Planguage, you might format them in a Word document that will be traced to test cases in a requirements management tool.

Deadly Assumptions

Don't assume that detailed requirements specifications are necessary, even if your organization typically creates them for each project. On the other hand, don't assume that the discarded index cards that become acceptance tests and code will be sufficient documentation for your maintenance and support programmers - or for that regulatory agency that might want to audit your systems.

Be practical. If your developers are co-located with the customers and are very familiar with the business domain, they won't read or work off of detailed requirements specification documents. But if you plan to outsource or offshore development, it's essential to write formal documentation supplemented by visual models.

On an agile project, you know that requirements will evolve. So it doesn't provide business value to write a detailed specification with all the requirements that will be needed. Indeed, a study (Standish, 2003) showed that 45 percent of specified requirements were never delivered. While there may be many reasons for undelivered requirements and even a rationale for some documentation of requirements you know you won't deliver, you should strive for a minimalist approach whenever possible. In some situations you will find it more efficient to write brief requirements in the form of stories, accompanied by "doneness" tests (such as acceptance tests).

Thinking YAGNI

Here are some questions to help you think in a YAGNI-like way about your requirements documentation.

Question the business value of your documentation:
  • Is our customer willing to pay for the time it takes to document requirements?
  • What is the risk to the project and product if we do not create this particular documentation?
  • What specific documentation is needed by external entities (regulatory, governmental, oversight agencies)?
  • How can we reduce the time we spend revising documentation?
  • How will we know the requirements documentation we have is "good enough"?
Question the users' value of your documentation:
  • Who will use each requirements document we produce, and how will they use it?
  • Is this documentation necessary to architect, build, test, or maintain the product?
  • What models (text and visual) can we use to elicit and validate requirements with customers before we invest in building and testing?
  • What's the minimum amount of documentation we need to create a prototype or to demonstrate a partial solution?
  • Which requirements documents are most often used to enhance or maintain the product?
  • Will anyone use this documentation after the product is built?
  • Who is going to maintain the documentation?
In Sum

The YAGNI principle will serve you well if it helps you question your assumptions about requirements documentation. Before you invest time and money documenting requirements, make sure you know what the business owners, delivery team, and users ain't gonna need.

~ ellen

Standard citation for this article:
Ellen Gottesdiener, "YAGNI Your Requirements Docs," Success with Requirements, Vol. 1, No. 9(2007).

Reference
Standish Group International, Inc. 2003. Standish Group Study. Reported by Jim Johnson, chairman, XP 2002 Conference.

More Info

Planguage is keyword-driven method for writing precise quality attribute statements (and other project elements). For the ultimate source, see Tom Gilb, Competitive Engineering: A Handbook for Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage (Addison-Wesley, 2005). To get a flavor for Planguage, read: http://www.gilb.com/community/tiki-download_file.php?fileId=44

Writing quality attribute (QA) scenarios is a technique recommended by the Software Engineering Institute for documenting quality attributes. You can write QA scenarios freeform or by using templates. Like stories, they are powerful and engaging. QA scenarios guide architecture and help you prioritize requirements.

The most efficient way to define them is to use workshops. A good source is Mario R. Barbacci et al., Quality Attribute Workshops, Third Edition (CMU/SEI-2003-TR-016) (Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2003).

   
  Upcoming Events  
   


1. We've gone public with our new blended classroom (self-paced combined with instructor-led) offering, Roadmap to Success: Comprehensive Foundation and Analysis Modeling will be held in various locations: Philadelphia (November 28-29), Indianapolis (March 26-27, 2008) and Orlando (April 16-17). Register early to reserve your spot, class size is limited!

2. Mary Gorman and Ellen Gottesdiener will both be delivering tutorials and presentations at Project Summit/Business Analyst World - also in Boston, on October 30-November 1st.

3. At the World Congress for Business Analysts/ProjectWorld event in November (Anaheim, CA) both Mary and Ellen are delivering tutorials and presentation. As speakers we can offer you a discount - use discount code SPKRm1920EG when registering.

4. Ellen will be presenting a tutorial and short presentation at the Better Software: Agile Development Practices (Orlando, December 3-6). As a presenter, I can share with you a way to save up to an additional $200 off your registration fees - use promo code SPAD during the registration process.

   
  Resources of Interest  
   


Each month we'll provide a few resources we think are worthwhile. The resources below all relate to the topic of this month's eNewsletter article: documentation. We welcome your comments and suggestions for future issues!!

Listen to Agile Documentation author Andreas Ruping's
podcast on agile documentation.

Read Andreas' paper on "The Structure and Layout of
Technical Documents," giving you a flavor of the patterns
he writes about in his book.

Scott Ambler takes a thorough look at "agile
documentation" in his essay located here.

   
  Archive Issues  
   

Visit our
archiveto read our prior issues.