The modern economy is a highly competitive, global marketplace. Competing requires all businesses to streamline, optimize and improve efficiencies while simultaneously enhancing customer service. To further their goals, many companies have already implemented some type of business process management, or BPM, to help them meet their goals while simplifying how they achieve them. The benefits of a BPM system typically fall in one of four primary areas.
-
Customer Satisfaction: Today's customers want relationships, not advertisements. They want personalized, engaging and relevant interactions.to give and receive input.
-
Regulatory Compliance: Laws and regulations are changing rapidly, especially for personal data, certain regulated industries and financial information.
-
Spending Efficiency: Today, most organizations are already running lean, so it has become increasingly important to maximum the value received for every dollar spent.
-
Agility: Market conditions change rapidly. Successful companies need to be nimble enough to react quickly to changing conditions.
However, despite the aforementioned benefits, many companies fail to apply similar concepts when developing software. One such concept is the effective utilization of user stories.
In simple terms, user stories are stated ideas of requirements that express what users need. User stories are brief, with each element often containing fewer than 10 or 15 words each. They can be scribbled on index cards, written on a chalkboard or produced as numbered lists. Following is an example of a single user story for a community college.
-
Parking passes can be purchased online.
-
Payment options for online purchases of parking passes are limited to credit cards.
-
Students can register for classes online.
-
Online registration requires entry of student ID number.
-
Students may not enroll in a class without first meeting the prerequisites.
-
Students can drop a class online only during the first week of the semester.
-
Request for official transcripts can be made online.
-
Fees for official transcripts ordered online can be paid with credit cards.
-
Online transcripts require entry of student ID number.
-
Grades will be available online using a standard browser.
-
Grades will not be available online until the 10th day following the end of the semester.
-
Accessing grades requires entry of student ID number.
One way to approach user stories is to consider who has the requirement, what benefit he or she will derive from it and what will be entailed in delivering the solution. For example:
-
On-campus registration is limited to specific days and times.
-
Online registration gives students the opportunity to register outside of the times allotted for on-campus registration.
-
Working students will not have to take off from work to register.
-
Students will not have to drive to the campus just to register.
-
Access to online registration requires maintaining the security of the student's personal information.
-
Online registration will require real-time tracking to ensure that maximum class sizes are not exceeded.
-
Online registration will require verifying that each student meets the prerequisites for each class requested.
Based on this information, the user story can be abbreviated into the shorter sentences demonstrated earlier.
The next step in writing effective user stories is to assign each item's priority. The simplest method is to rank priorities as:
- Must
- Should
- Nice
- Will not
This allows the highest-priority items to receive the most attention at the right time. However, it is important to remember that priorities can change during the project's life cycle. New stories may be identified, or some stories might be found to be outside the project's scope.
Mike Cohn, a Scrum trainer, tech guru and author, recommends applying the "INVEST" method to user stories and reworking those that do not meet the criteria. Using this method, a good user story is:
-
I - Independent of other user stories
-
N - Negotiable, i.e., not tailored to specific features
-
V - Vertical and/or valuable, depending on context
-
E - Estimable or yielding a good approximation
-
S - Small enough to be included in an iteration
-
T - Testable, even if no test exists yet
It is common for a story to seem fine until the acceptance criteria is considered. There should be no more than 10 or so, and there should be no hidden requirements. For example, suppose a user story covers deleting text messages. If the acceptance criteria includes requirements such as saving modified messages or selecting any message, the user story needs to divided into three stories to encompass deleting, saving and selecting messages.
In simple terms, user stories are "to-do" lists that help you determine the steps along the project's path. User stories help ensure that your process, as well as the resulting product, will meet your requirements.