Anyone who has spent any time on an effectively executed agile project can attest to the fact that the Product Owner's (or, in XP, the "Customer's") collaboration with the development team plays a key role in the success of a team. Peter Stevens offers a bit of advice to help people in these roles do this well.
Dean Leffingwell, author of Scaling Software Agility and Chief Product Methodologist at Rally, has concluded that Use Cases can be a valuable tool to model requirements for a large-scale Lean/Agile Project. Use cases are not commonly encountered in Lean/Agile (especially XP and Scrum), where stories are the requirements gathering tool of choice.
Developers commonly break user stories into tasks to facilitate distributing the implementation work across the team, and allow tracking of progress at a finer level of granularity. Unfortunately, a story can explode into a list of non-trivial tasks so large that the story is not deliverable by the end of the iteration. Ron Jeffries suggests: "Do stories as a unit, not broken into tasks."
A widely accepted agile practice is the daily standup meeting, in which each team member shares: what they have done since the previous standup, what they expect to achieve by the next, and anything that is getting in their way. Mike Cohn recently examined variations that shed additional light on the progress being made toward completing each user story.
User stories are better than use cases - right? Not necessarily. It depends on whom you ask. There are definite benefits to user stories as they encourage conversation and discourage the "throw over the wall" mentality of more heavy-weight requirements documents. But do they have drawbacks?
One of the great things about working as a consultant is the ability to try out many different ideas and adapting your personal favorite process to include things that work. This article gives the details about user story estimation techniques that Jay Fields has found effective.
User stories, a common format for capturing agile requirements, could be more focused on business value. A traditional format for stating a user story is: "As a <type of user> I want <some functionality> so that <some benefit>." A value-centric replacement would be: "In order to <achieve some value>, as a <type of user>, I want <some functionality>."
In this presentation recorded during QCon London 2007, Rachel Davies, director of Agile Alliance, talks about the Agile development cycle starting with user stories and planning the releases.
For those using User Stories, getting them right is one of the difficult aspects of an Agile process - they can drive or bog down your work. Pat Kua recently addressed a key question: How much detail should you put in your story? The answer, of course, is "it depends" on where you are in the process.
Planning the features to be developed is an important part of software development. In Scrum, the list of features desired but not yet implemented is typically called the backlog (or product backlog). This is meant to be lightweight, but can it still be wasteful?
At Agile2006 InfoQ interviewed Alistair Cockburn, methodology creator, author and long-time leader in the Agile community. Topics discussed ranged from the history of the Agile movement to the future of methodologies, with a look at User Stories and Use Cases along the way. This interview uncovers how his research for IBM may have sparked the creation of the Agile Manifesto.