Documente Academic
Documente Profesional
Documente Cultură
WWW.ESI-INTL.COM
DEVELOPING EFFECTIVE AGILE REQUIREMENTS RELIES ON BOTH USER STORIES AND USE CASES
NANCY Y. NEE, PMP, PMI-ACP, CSM, CBAP VP, GLOBAL PRODUCT STRATEGY
As the Agile movement continues to gain momentum and managing projects using Agile methods becomes more and more prolific, project professionals must become more savvy in their use of Agile methods. While the techniques and processes associated with Agile are different than those associated with Waterfall, many innovative project teams are incorporating non-Agile techniques into the Agile environment, with great success. There is a common misconception that Agile replaces the need for use cases with user stories. Questions on this topic have been posted on social network sites such as Skillsharks, blogs, Twitter, Facebook, etc. The question shouldnt be Do user stories replace use cases? Rather, the question should be framed: How do we leverage the power of use cases with user stories when developing effective Agile requirements? Many shy away from use cases within an Agile approach because they resemble the ways of elicitation and analysis from the Waterfall approach. However, regardless of how one approaches requirements analysis, the end goal is the same: help business users/stakeholders identify their true needs and translate them into requirements. For Agile requirements to be successful, both must be leveraged to get to the heart of the most appropriate business solution that brings value to the customer. According to Chapter 6 in the BABOK Guide, business analysts prioritize and progressively elaborate stakeholder and solution requirements in order to enable the project team to implement a solution that will meet the needs of the sponsoring organization and stakeholders. It involves analyzing stakeholder needs to define solutions that meet those needs, assessing the current state of the business to identify and recommend improvements, and the verification and validation of the resulting requirements. To be successful, a business analyst needs to have strong facilitation, information elicitation, and process design skills. These are the core elements to building effective use cases. In Agile, requirements are progressively elaborated. Each CARD iteration or sprint allows business users/stakeholders to Captures the users description of the product better define their needs to ensure the most effective feature expected. development of solutions. These iterations or sprints rely CONVERSATION on the user stories that the business user/stakeholder Allows for tells to concentrate on features that users value and elaboration of the story so that the interact with directly. These short scenarios of user expectations developer can are just part of the user story process. User stories include two understand the context and details. additional elements: 1. Notes from further discussions about the story that help to clarify the expectations (Conversation) 2. Intent of the story and validation tests that will confirm to the user that the story, when delivered, does what it is expected to do (Confirmation)
BABOK is a registered trademark owned by International Institute of Business Analysis.
CONFIRMATION
Set up the test cases that the customer will use to ensure the product does what is expected.
WWW.ESI-INTL.COM
Figure 1
2
For more information, please contact us at totalsolutions@esi-intl.com or at +1 (877) 766-3337.
WWW.ESI-INTL.COM
great for starting to envision requirements of a system that is user driven as well as to identify Themes and Features. In Agile, there are four levels of requirements. Themes are used to describe larger requirements that may include multiple features within it. Features are a collection of related stories. These two levels offer a great opportunity to use use cases because they can provide a simple visual representation of the product scope and allow for improved prioritization of the requirements. The other two levels are a bit more detailed and are known as Epic and Story. Epic is used to describe a Story that is too big to get done within an iteration/sprint and needs to be broken down into smaller chunks. Finally, Story is the smallest valuable business requirement that follows the INVEST attributes. Effective Agile requirements rely heavily on use cases and user stories. Remember that user stories focus on the features that users expect to be available when they use the finished product. They are meant to express short scenarios of user expectations that help business analysts on an Agile team dive deeper into connecting those expectations with delivering the appropriate solution value. Use cases are used to help with the value analysis for the user, thus enabling appropriate prioritization of the product backlog. There is no set prescription on when exactly to use use cases and user stories. Both are required to help prioritize the product backlog and both are used to better understand the customer need and where the customer places value on what needs to be delivered. Using use cases and user stories is needed on Agile projects, however the timing of when to leverage them is dependent upon the type of Agile project that the team is working on.
3
For more information, please contact us at totalsolutions@esi-intl.com or at +1 (877) 766-3337.