Tuesday, June 8, 2010

User Stories in more detail

Several people at the conference last week asked me for more information about how to write user stories.  I could write a long blog with lots of examples and explanation, but someone has already done that. Check out Scott Ambler's post here.

While Scott recommends capturing stories on cards, I like to capture them initially in a spreadsheet because it makes it easier to organize and prioritize.  Once the project starts I print out the cards - instructions are in one of my earlier blogs.

Monday, June 7, 2010

The last shall be first

At what point in the project do you start your testing effort?  In many project plans that I have seen, QA and/or UAT is added to the end of the project.  The development team hands over the code to the testing team who then writes and executes the scripts.  The bugs are passed to the developer and the test & fix cycle begins.  What fun.

Here is an alternative to the test & fix cycle:

1. Write test scripts before development starts on any particular feature. Test scripts help confirm the requirements with the client and allow developers to have a full understanding of how the code must work.  The test scripts function as executable requirements and answer "How will I know when I'm done".

2. Minimize the time between when a features has been developed and when it is tested. This allows you to find defects or requirement misunderstanding early so that developers do not re-build the same defects or misunderstandings into future features. This helps increase the quality of the system while decreasing the time spent in the test-fix-test-fix cycle.  Complete testing of any feature should occur in the same iteration that the code is written and should be part of your 'done' criteria.
 
Both of these two simple steps are based on the Lean Principles of Eliminate Waste and Build Quality In.  For more information, check out this article from NetObjectives.

Tuesday, June 1, 2010

PrairieDevCon Presentation links

Here are some additional links for my presentations at PrairieDevCon this week.

Introduction to Lean and Agile:

Planning Poker: