Monday, May 24, 2010

Agile Story Examples

Story Basics

The basic thing about a real story is that it's a metaphor for the work being done. It is not a requirement but a reminder to collaborate about the topic of the story - in other words in agile development (good agile at least), the documentation is secondary to the collaboration. So the story doesn't make you agile, it's the underlying philosophy.

Invest model for good stories

A good story, from our perspective uses the invest model –
  • Independent – reduced dependencies = easier to plan
  • Negotiable – details added via collaboration
  • Valuable – provides value to the customer
  • Estimable – too big or too vague = not estimable
  • Small – can be done in less than a week by the team
  • Testable – good acceptance criteria
But a story is really driven (or perhaps scoped is a better way of saying it) by the acceptance criteria. In other words we try to determine how we'll know when we have satisfied the story before we put any details in it – and we mean actually enough details that we can test the story.




Examples of good stories:


Story:

Generate an Emergency Department Referral

Description:As a provider, I want the option to generate an Emergency Department Referral (EDR) when I close a visit note so that I can share pertinent medical information with other IHE community members.

Acceptance Criteria:
Assumptions:

An IHE Community interface has been configured.
The interface can be configured to send an EDR automatically to the IHE Community.
The interface can be configured to send and EDR to an referral specialist or office staff member.
The interface can be configured to indicate who to send the EDR request.

Acceptance Criteria:
When a user closes a visit note, provide an option on the Visit Checkout screen to generate an EDR. This option will indicate that the provider intends to create an ED Referral.

Story:

Strip special characters from policy fields before creating electronic transmission claim file.

Description:
As a front desk/billing user, I would like to be able to scan insurance cards through OCR and not have to go back and edit certain fields due to dashes in the policy IDs.

In addition, I would also like this information to be formatted correctly for my electronic transmission so that I do not get claim rejections.

Acceptance Criteria:
Provide the ability for dashes to be removed from the member ID and group ID when creating the file for electronic transmission. This process was also necessary by interfacing products to remove dashes from policy IDs to prevent rejections. Investigation may include researching how other products accomplished this task.

Also, users should be able to utilize OCR scanning without having to edit patient information manually (removing dashes).

Story:

Need a way to print multiple patients on a label sheet

Description:
As a System user I would like to be able to print multiple patients on one label sheet so that I don’t have to look at multiple pages.

Acceptance Criteria:
At least 6 patients print on one label sheet.

 

Critique of bad stories:


Story:

Add capability to select the Welch-Allyn Exercise ECG Test

Description:
This requirement was requested during the W-A certification demo 2/17/09.

***Description doesn’t specify who or why this is important. What needs to be done? Can’t tell.

Acceptance Criteria:
***missing

Story:

Cursor should default in assign to field instead of patient field when creating a new procedure task message in FNC.

***Could be shortened to “Default cursor to assign” The rest can be in the description. Overall this may be TOO small to be a story and could be rolled into another related piece of work.

Description:
As a System user, I would like the cursor to default in the assign to field instead of the patient field when creating a new procedure task message. The patient name is already in the field since I'm creating the message, so I would prefer the cursor to default in the assign to field.

***Could shorten this to:

As a System user, the cursor will default to assign field when creating a new procedure task message so that I can be more efficient.

Acceptance Criteria:
***missing. Can add this:

When creating a new procedure task message, the cursor will default to assign as opposed to patient name.

Demonstration must be to the satisfaction of Dr. Lohindez of Rogue Wave software (he has requested this functionality).

Monday, May 17, 2010

Some Good Resources for Agile

A few great books:
• Applying User Stories – Mike Cohn
• Agile Estimating and Planning – Mike Cohn
• Collaboration Explained – Jean Tabaka
• Lean Software Development – Mary Poppendieck
• Agile Project Management – Jim Highsmith
• Agile Project Management with Scrum – Ken Schwaber
• Managing Agile Projects – Sanjiv Augustine
• FIT For Developing Software – Rick Mugridge, Ward Cunningham
• Agile and Iterative Development – Craig Larman
• Domain-Driven Design: Tackling Complexity in the Heart of Software – Eric Evans
• Working Effectively with Legacy Code – Michael Feathers
• Refactoring To Patterns – Joshua Kerievsky
• Fearless Change: Patterns for Introducing New Ideas – Linda Rising, Mary Lynn Manns
• Product Development for the Lean Enterprise – Michael Kennedy

 

 
Online Resources:
http://www.agilealliance.org/
http://www.theagileblog.net/
http://www.rallydev.com/
http://www.mountaingoatsoftware.com/
http://www.stickyminds.com/

 
Yahoo! Groups:
scrumdevelopment
agileprojectmanagement
agiledenver
extremeprogramming
agiletesting

Tuesday, May 4, 2010

New Article Published

I've just had an article published that compares traditional requirements, use cases, and user stories.