Welcome to our Newsletter!

New eLearning and Public Offerings

Requirements Practices on Agile Projects

Upcoming Events

Resources of Interest

Agile Adverts

Archive Issues

Success with Requirements

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

Welcome to our Newsletter


In this issue I address these questions: Do agile projects abandon requirements? Some think so. How do successful agile teams manage requirements? Read on as I share my observations from working with agile teams.

~ ellen

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

P.S. to insure this eNewsletter gets to your inbox, please add ellen@ebgconsulting.com to your address book.

In this issue:

New eLearning and Public Offerings

Requirements Practices on Agile Projects

Upcoming Events

Resources of Interest

Agile Adverts

Archive Issues

 
   
  New eLearning and Public Offerings  
   
  
Check out our two unique and learning-rich training offerings (just launched!). We offer you, as a subscriber to Success with Requirements special discounts:

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

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

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

Philadelphia (November 28-29, 2007)
Indianapolis (March 27-28, 2008)
Orlando (April, 2008 - specific days TBD)

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

   
  Requirements Practices in Agile Projects  
   
  
The latest progression in software development methods is the agile approach. Its growing popularity proves how effective it is. But two extreme "and even dangerous" misconceptions have arisen about agile development. One is that you don't do requirements at all when you're working on an agile project. The other is that you don't need good requirements practices.

In fact, successful agile development is based on good practices. Most of them are not new but are being reconfigured, along with good product development, engineering, and project management practices. In my work with agile teams, I've notice a number of key practices related to requirements.

Ensure Customer Involvement
Early and continual involvement of the customer, referred to in some agile methods as "product owner" or "onsite customer," is not new. Dynamic Systems Development Methodology, DSDM (http://www.dsdm.org/), the "grandmother" of agile methods, states as its first principle, "Active user involvement is imperative."

The customer defines business value and shares the vision and goal of each iteration - and the overall product - with the team. Often the customer works with a business analyst to define stories, create user acceptance tests, assign priorities to stories, and review completed stories throughout the iteration. (On some agile teams, the business analyst even acts as the proxy customer). Thus, agile methods rely on the continued involvement and decision making of the customer.

Manage Changes in Requirements
Agile as well as traditional projects have practices for managing changes in requirements. Traditional projects use a change control process (including baselining requirements) and a change control board.

You may have heard that agile projects "invite" changes in requirements. What does that mean? After all, changing requirements are a reality in all projects. But that doesn't mean an agile project incorporates them into project work willy-nilly.

Successful agile projects use a rigorous method of managing change through the combined use of a product backlog and iterations.

A product backlog contains a list of functional and nonfunctional requirements, each with attributes (such as priority, risk, and effort). The backlog changes as business conditions change, technology evolves, or new requirements are defined. The customer prioritizes the requirements and makes the final decision about which ones will be addressed in each iteration.

Iterate-Inspect-Adapt
Agile teams deliver business value, reduce risk, and manage changing requirements by chunking product delivery into iterations. Each iteration delivers working software. This is not a new idea in software or product development, but it is becoming a mainstream practice thanks to agile methods.

Each iteration is a fixed timeframe of several weeks (more or less) encapsulating activities to build a slice of working software. The customer selects a subset of requirements to build in each iteration based on their business value.

Next, the team holds an iteration planning workshop to estimate the tasks and time it will take to deliver the software, identifies risk mitigation tasks, and defines "doneness" for the iteration. During that iteration, the team cycles through the activities of define-design-test-develop-deliver.

The inspect portion of the iteration is a demonstration of the software. The inspection ends the iteration with its beginning in mind. The team adapts its process by holding a retrospective session, which ends the iteration with the next beginning in mind.

Playing Around
Building prototypes and holding demonstrations are elementary to agile teams. During a demonstration, developers show the working software for each story. Occasionally the demonstration itself can generate new stories. On an agile team I was recently working with, a known problem with the test platform reoccurred raising the need to create a new infrastructure story to build a stable test platform.

On an agile project, requirements work is often done just in time. The business analyst and customer work during the prior iteration on fleshing out the stories and related requirements for the next iteration. In addition to prototypes, they might supplement a story with storyboards (using tools such as whiteboards, posters, and informal sketches), business rules, and user acceptance tests.

Collaborative Workshops
Still another practice-collaborative workshops-is integral to agile teams. These workshops have their roots in classic JAD® (Joint Application Design/Development in the 1980's) as well as DSDM. Lightweight, just-in-time workshops are an effective way to promote and sustain active customer involvement.

Agile teams use collaborative workshops in a variety of ways: to define a product roadmap, to plan releases and iterations, and to conduct iteration retrospectives. (In an upcoming eNewsletter, I'll discuss the product, release, and iteration workshops in more detail).

In addition, highly focused requirements workshops are often used within iterations. Requirements documentation from these workshops or informal modeling sessions should be minimal, with a focus on what developers and testers need to deliver the working software.

Agile Requirements Adaptation, Not Abandonment
Agile methods do not eliminate the need for requirements. Nor do agile methods assume you will use good practices in developing requirements. I recommend you adopt a requirements-driven approach to product delivery, whether you're using agile or traditional methods.

~ ellen

Standard citation for this article:

Ellen Gottesdiener, "Requirements Practices on Agile Projects," Success with Requirements, Vol. 1, No. 8(2007).


For more information
For more background on the history and roots of agile methods, I recommend Craig Larman's book Agile and Iterative Development: A Manager's Guide, Addison-Wesley, 2003.

I will be presenting a full day tutorial, "Requirements-Driven Workshops: Product, Release, and Iteration Planning" and presentation, "Do the Right Things: Adapting Requirements Practices to Agile Projects" at Better Software: Agile Development Practices (Orlando, December 3-6).

You can access a public version of the DSMD version 4.2 by signing up at: http://www.dsdm.org/version4/2/public/Introduction.asp. DSDM's latest version, called Atern, builds on earlier version and real world projects. A summary of Atern's philosophy is found here: http://www.dsdm.org/atern/introduction/principles/

   
  Upcoming Events  
   


1. We've gone public! Our new blended classroom (self-paced 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, 2008 - specific dates TBD). 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. We welcome your comments and suggestions for future issues!

What's the best way to learn? Tom Humbarger, the
Catalyze community leader and blogger recaps a
discussion we had about various learning techniques and
the beneftis of eLearning courses. (Catalyze is the free
online community for business analysis and usability
experts I highlighted as a resource last month). Read his
blog entry here.

Now a classic in understanding the emergence, motivation
and value of agile methods is Martin Fowler's elegant
online white paper on this "new methodology"

The Agile Alliance is a central source of many resources on
agile development. Go to the home page here.

   
  Agile Adverts highlighted at the Agile 2007 Conference  
   
  
At this year's Agile 2007 Conference, the winners of the "AgileAdverts" contest were a highlight at the midweek reception. AgileAdverts are small video clips submitted to YouTube which promote agile practices. For fun, view the top two winners:



To view all the submissions, go to: http://www.agileadvert.org/

   
  Archive Issues  
   

Visit our archiveto read our prior issues.