Upload
dipesh-walia
View
221
Download
0
Embed Size (px)
Citation preview
8/14/2019 User Stories Introduction
1/35
1
INTRODUCTION TO USER STORIES
BY PANKAJ KAMTHAN
1. INTRODUCTION
It is more helpful [...] to recognize that the solution is located in the computer and itssoftware, and the problem is in the world outside. [...] The computers can provide solutions tothese problems because they are connected to the world outside. [...] To study and analyse aproblem you must focus on studying and analysing the problem world in some depth, and inyour investigations you must be willing to travel some distance away from the computer.
Michael A. Jackson
In this document, the notion of user story is explored.
2. THE DYNAMIC NATURE OF SOFTWARE ECOSYSTEM
It is not the strongest of the species that survives, nor the most intelligent, but the one mostresponsive to change.
Not Charles Darwin1
The development of every software system takes place in an ecosystem [Brooks, 1987;
Messerschmitt, Szyperski, 2003]. This ecosystem consists of a number of elements. The
elements, properties of these elements, and the relationships between these elements, are
prone to change over time, as they have over the years.
For example, general public, information appliances (devices) with access to the Internet,
domains such as electronic commerce, small-and-medium sized software enterprises, and
geographically distributed teams, are elements that are present today, but were not part of
the ecosystem of software developed in the 1960s or the 1970s.
1URL: http://www.darwinproject.ac.uk/six-things-darwin-never-said .
8/14/2019 User Stories Introduction
2/35
2
The variabilitiesin this ecosystem must be, as appropriate, reflected throughout software
development, including in the approaches for developing software systems. In particular,
the methodologies for software development must evolve and adapt over time.
The changes in vision at a higher level often manifest themselves in changes at a lower
level. In particular, changes in methodologies for software development leads to changes
in process workflows, especially in practices and approaches to those practices.
3. THE INCEPTION OF AGILE METHODOLOGIES AND USER STORIES
The Agile Manifesto2, in general, and the inception of agile methodologiesfor softwaredevelopment [Highsmith, 2002; ISO/IEC/IEEE, 2012], in particular, is a response and
result of a number of changes in software ecosystem in the past decade or so.
In this document, an agile project[Highsmith, 2009] is a software project based on the
values and principles of the Agile Manifesto. The rest of the terminology can be derived
similarly. For example, an agile requirement is a requirement pertaining to a software
system based on an agile project.
In certain agile methodologies, agile requirements are, indeed, user stories.
4. DEFINITION OF REQUIREMENT
Definition [Statement].A declarative sentence that is either true or false.
For example, a question is not a statement. A sentence is a grammaticalentity, whereas
a statement is a logicalentity.
There are a number of definitions of requirement, including the following.
2URL: http://agilemanifesto.org/ .
The beginnisomething
8/14/2019 User Stories Introduction
3/35
3
DEFINITION 1
Definition [Requirement] [IEEE, 1990].
(1) A condition or capability needed by a user to solve a problem or achieve anobjective.
(2) A condition or capability that must be met or possessed by a system or systemcomponent to satisfy a contract, standard, specification, or other formally imposed
documents.
(3) A documented representation of a condition or capability as in (1) or (2).DEFINITION 2
Definition [Requirement] [ISO/IEC/IEEE, 2012]. [A] statement which translates or
expresses a need and its associated constraints and conditions.
5. DEFINITION OF USER REQUIREMENT
There are a number of definitions of user requirement, including the following.
Definition [User Requirement] [ISO/IEC, 2010]. [A requirement that provides] the
basis for design and evaluation of interactive [software] systems to meet identified user
needs.
From a software engineering perspective, user requirements comprise both functional
and non-functional requirements based on user needs and capabilities [ISO/IEC, 2010].
There are requirements for (both non-software-intensive and) software systems that are
not necessarily related to a user [Maiden, 2008]. In other words, the set of user
requirements for a software system is a (proper) subset of software requirements of that
system. This is illustrated in Figure 1.
8/14/2019 User Stories Introduction
4/35
4
Figure 1.The set of user requirements is a (proper) subset of software requirements.
For example, software requirements beyond the scope of user requirements include the
following: legal requirements (imposed by a government or other similar bodies),
standard requirements (by virtue of commitment to the organization, or by virtue ofadoption, say, at a national or international level), system requirements(related to, say,
hardware/network), and so on.
6. DEFINITION OF USER STORY
To be a person is to have a story to tell.
Isak Dinesen
There are a number of definitions of a user story [Cohn, 2004; ISO/IEC/IEEE, 2012;
Leffingwell, 2011], including the following3.
DEFINITION 1
Definition [User Story].A high-level requirement [statement] that contains minimally
sufficient information to produce a reasonable estimate of the effort to implement it.
DEFINITION 2
Definition [User Story] [ISO/IEC/IEEE, 2012]. [A] simple narrative illustrating theuser goals that a software function will satisfy.
This definition does not highlightaspects of a user story that are uniqueas compared to
other forms of expressing user requirements.
3URL: http://www.agilemodeling.com/artifacts/userStory.htm .
8/14/2019 User Stories Introduction
5/35
5
REMARKS
A user story reflects a particular styleof expressing a user requirementfor a software
system.
A user story reflects a shift in the direction of expressing a subset of software
requirements.
The shift is from introspection to extrospection. The shift is from a technical (machine) viewpoint to an anthropological (human)
viewpoint.
7. THE ADVANTAGES OF USER STORIES
The advantages of user stories over other approaches include the following aspects:
Communication, Comprehension, Collaboration, Calculation, Connection, and
Conciliation.
COMMUNICATION
The user stories, by elicitation of information from customers/users, emphasize verbal
communication.
This can lead to an improvement in the relationshipbetween software engineers and
customers/users [Alexander, Maiden, 2004, Page 268] from conversing and listeningto
each other that, in turn, could eventually contribute to building necessary mutual trust
[Bang, 2007; Kovitz, 2003].
COMPREHENSION
The user stories, from the absence of technical terminology in their statements, aim to be
comprehensible to non-technical stakeholders.
COLLABORATION
The user stories encourage collaborative effort in human-centered approaches to the
development of interactive software systems [ISO, 1999; ISO, 2010] such as
participatory design[Schuler, Namioka, 1993] and user-centered agile process[Beyer,
2010, Chapter 5].
8/14/2019 User Stories Introduction
6/35
8/14/2019 User Stories Introduction
7/35
7
Figure 2.The user story bridge is relevant to the development of interactive software
systems.
8. USER STORIES AND SOFTWARE SYSTEM: THE CAKE METAPHOR
There are a number of possible viewsof a software system.
If a (layered) cake represents the software system, then a (vertical) slice of that cake
represents the implementation of a user story [Wake, 2002]. (The slice needs to be
vertical so that the user story provides a complete functionality.) This is illustrated in
Figure 3.
Figure 3.A view of a software system as a collection of implementations of user stories.
8/14/2019 User Stories Introduction
8/35
8
9. ORGANIZATION OF USER STORIES
Definition [User Story Book]. The collection of user stories for a (single) software
system.
10. A USER STORY PROCESS MODEL
If the development of user stories is to be effective, it needs to be carried out
systematically. For that, a User Story Process Model (USPM) [Kamthan, Shahmir,
2010] can be adopted and followed.
There are a number of stepsin USPM, and a number of activitiesin each of those steps.
The following are mandatory steps of USPM: Step 1: Planning, Step 2: Meeting, Step
3: Authoring, and Step 4: Reviewing. The following are optional steps of USPM: Step
5: Publishing.
There are a number of inputsto each step of USPM. The outputof USPM is a set of user
stories for the current iteration.
USPM is interspersed, iterative, and incremental. Figure 4 summarizes the USPM.
Figure 4.The steps in a model for a user story process.
8/14/2019 User Stories Introduction
9/35
9
In order to obtain a user story book, the steps 1-4 need to be repeated.
11. DISSEMINATION OF USER STORIES
Definition [User Story Card].An index card on which the description of a user story is
presented.
An electronic user story card attempts to mimic a paper-based user story card shown in
Figure 5. There are advantages and disadvantages of paper-based user story card, as
well as that of electronic user story card.
Figure 5.A paper-based index card for use as a user story card.
12. USER STORY DESCRIPTION
There is a need for humans and machines to communicate and use a user story. To do
that, a user story must be describedadequately.
The description of a user story consists of metainformation and information.
The typical candidate elements of metainformation include the following:
Identifier Name Theme Date Author VersionThe user story cards can be stored in a number of ways including a version control
system (VCS), a user story management system (USMS), or a Wiki system. In these
cases, the inclusion of certain metainformation may notbe necessary.
8/14/2019 User Stories Introduction
10/35
10
The typical candidate elements of information include the following:
Statement Constraint Note Priority Estimate Acceptance CriteriaThere are certain elements that can be further decomposed and structured. For example,
one such element is the statement.
The occurrence of an element in a user story description can vary. In a user story
description, some elements are mandatory, while others elements are optional.
In general, a user story description must have an identifier, name, statement, priority,
estimate, and acceptance criteria.
The order in which the elements are listed is not significant, but a logical order of
reading should be preserved.
IDENTIFIER
This entry includes an identifier for use (say, tracking) by both humans and machines.
The identifier must be unique, at least across a user story book.
The identifier usually is a number or an alphanumeric string. For example, PMS-US-
007 is an alphanumeric identifier.
NAME
This entry includes a name (or title) that acts as shorthand to the user story statement.
The user story statements can, in certain cases, be rather lengthy for stakeholders to
remember for the purpose of communication, or rather long to be readily placed on sticky
notes for the purpose of organization. Furthermore, in an electronic environment, a user
story may be navigated or searched using its name. Therefore, a name must be
meaningful, evocative, pronounceable, weavable, and findable.
8/14/2019 User Stories Introduction
11/35
11
The names of user stories may need to be interwovenwith text. For example, a name
may appear in another software artifact. In order to distinguisha user story name from
surrounding text, some orthographic conventioncould be followed. For example, a user
story name could be presented in uppercase.
Remark.If a use case model has been constructed, then the name of a use case can serve
as a user story name.
THEME
This entry includes the theme corresponding to the user story.
There can be different typesuser stories in a given user story book. These user stories
could be categorized topically and organized textuallyusing themes6
.
A theme aids understanding and can be useful for allocation of work.
The themes could be derived from the affinity diagramof the interviewsconducted as
part of a realizationof USPM (Step2: Meeting). This is illustrated in Figure 6.
Figure 6.The organization of a sample collection of user stories into themes.
STATEMENT
This entry includes the user story statement.
6URL: http://www.allaboutagile.com/themes-in-agile-software-development/ .
8/14/2019 User Stories Introduction
12/35
12
A user story statement could be structured by using basic (or primitive) questions: who,
what, and why. These questions can, in turn, be mapped to include (1) a user role, (2) a
user goal, and (3) a specific valueto the user role by the realization of the user story in
the software system, respectively.
Using the above, a systematic format for the statement of a user story could be adopted.
For example, in the following format, a user story statement is structured using role, goal,
and value (with interspersed text denoted by ellipsis):
A ... ... ...
ROLE
A user plays a role with respect to the software system.
A user, by virtue of the explicit mention of role, is first-classin a user story statement.
(This gives credence to the claim that a user story is a kind of user requirement.)
A role must have a name. There must be a basisfor this name. This basis can be provided
in one of the following ways:
User Model.If user roles have been elicited, then the names of user roles can serve asrole names for user stories.
Use Case Model. If a use case model has been constructed, then the names of asubset of the human actors, can serve as role names for user stories.
GOAL
Definition [Goal] [ANSI, 2001; ISO, 1998]. An intended outcome of user interaction
with a product.
A user has a (implicit or explicit) goal for using a software system. To achieve that goal,the user carries out a collection of tasks.
It is important to distinguish between a user goal and a software system feature
[Cohn, 2004].
8/14/2019 User Stories Introduction
13/35
13
Let G be a user goal and let F be list of features of a software system S upon completion
and delivery. However, that does notautomatically imply that S meets G, that is, it does
not imply automatically imply that F is sufficient to carry out the tasks required to
achieve G. Therefore, there needs to be paritybetween G and F.
VALUE
A value provides the rationale or reasonfor the existence of a user story.
It is important to note that the value system of software engineers, and customers/users,
may not be identical, or even overlapping.
In general, the value must be explicit. However, at times, the value can be implicit in the
goal.
Remark. The attention to value forms a premise for Value-Based Software
Engineering (VBSE) [Biffl, Aurum, Boehm, Erdogmus, Grnbacher, 2006] and
Strategic Software Engineering[McGregor, 2007; McGregor, 2008].
CONSTRAINT
This entry includes constraints, if any, on the user story statement.
A user story statement is not necessarily absolute, and must be situated in its context
wherever necessary.
There may be one or more constraints on the user story statement. These are usually
related to non-functional requirements, including quality requirements.
NOTE
This entry includes notes that result from communicating with the customer/user.
A user story reflects shared understanding as a result of conversation followed bynegotiation with the customer/user. This communication must be made explicit as
necessary.
For example, a note may be about a pending issue that needs to be conferred with the
customer/user before a decision takes place. A note can also act as a placeholder for
8/14/2019 User Stories Introduction
14/35
14
miscellaneous information, that is, information otherwise not included elsewhere in the
card.
PRIORITY
This entry includes the indicatorof priority of the user story.
A prioritization is a kind of ordering, or ranking.
The prioritization of user stories is based on the assumption that the user stories are
comparable with respect to some property, and are on an ordinal scale [Fenton, Pfleeger,
1997, Section 2.3.2] with respect to that property. For example, such a property could be
perceived degree of relevancy (or value) to users [Ratcliffe, McNeill, 2012, Section
8.11], risk, relevancy to other (dependent) user stories, and so on.
The prioritization of user stories assists in the selection of user stories for a specific
purpose. For example, user stories may need to be prioritized so that the most significant
ones are met by the earliest product releases.
The current approaches for prioritizing software requirements vary in a number of ways,
including their rigor and sophistication.
In [Wiegers, 2003], the High-Medium-Lowapproach is used for prioritizing software
requirements.
In [Cohn, 2004], the MoSCoW approach is used for prioritizing user stories. The
abbreviation MoSCoWstands for MUST, SHOULD, COULD, and WOULD, and the
approach has its origins in the Dynamic Systems Development Method (DSDM)
[Stapleton, 2003], an agile methodology.
In [Layon, 2012, Page 16], it has been suggested that the Kano Model7can be used for
prioritizing user stories.
ESTIMATE
This entry includes an estimate of the user story. The estimate is usually an estimate of
sizeof the user story.
7The Kano Model is part of a theory of product development and customer satisfactiondeveloped in the1980s by Noriaki Kano, and is used for Quality Function Deployment (QFD)in industrial engineering.It provides a classification of customer preferences, such as satisfiers/dissatisfiers, and so on.
8/14/2019 User Stories Introduction
15/35
15
The inclusion of an estimate is important for managing time, and for making sure that the
development is on the right course.
Remark. A unique aspect of the user story approach for expressing software
requirements is its application towards estimation. Indeed, the definition of a user story
acknowledges the significance of an estimate.
ACCEPTANCE CRITERIA
Testing must be an unavoidable aspect of development, and the marriage of development andtesting is where quality is achieved.
James Whittaker, Jason Arbon, and Jeff Carollo
Definition [Acceptance Criteria] [ISO/IEC/IEEE, 2010]. [The] criteria that a
[software] system must satisfy in order to be accepted by a user, customer, or other
authorized entity.
The acceptance criteria for a user story are a collection of conditions under which an
implementation of that user story is accepted by a customer/user. These conditions
usually manifest themselves as tests.
The acceptance criteria may list one or more tests.
The orderin which the tests are listed is not significant, but a logical order of readingshould be preserved.
Remark. In having acceptance criteria upfront, user stories support Test-Driven
Development (TDD)[Adzic, 2009; Beck, 2003; Koskela, 2008; Madeyski, 2010].
QUALITY OF TESTS
It has been pointed out in [Koskela, 2008, Section 2.1.2] that a good test has a number
of characteristics, including the following:
Atomic (or Singular) IsolatedThe style (or tone)of expressing a test is relevant. For example, the tests should not be
expressed as a negative.
8/14/2019 User Stories Introduction
16/35
16
Let T be a test.
Understandability.If T is expressed as a negative, then a failed T means a negativeof a negative. This leads to a double negative, which can be difficult to understand
[Higham, 1998].
Executability.If T is expressed as a negative, then it may not be possible to executeT. (For example, consider the following T: The system should never display a blank
screen.)
REMARKS
There proposed variations for describing user stories. These extensions are motivated by
different reasons, for example, certification [Qasaimeh, Abran, 2011] and usability
[Moreno, Yage, 2012].
13. QUALITY OF USER STORIES
It Was the Best of Sentences, It Was the Worst of Sentences
June Casagrande
There are a number of reasons for paying attention to the quality of user stories. There are
a number of stakeholders of a user story including project managers, software
designers, and software testers. It is imperative that a user story, like many other
software artifacts, is communicableto its stakeholders.
It is known that the success of a software projectis intimately related to the quality of
software requirements [Knauss, Boustani, Flohr, 2009]. It has been pointed out that the
quality of a software system depends intrinsically on the practices of software
requirements engineering [Nuseibeh, Easterbrook, 2000].
There have been a number of initiatives towards addressing the quality of user stories
[Jeffries, 2001; Wake, 2002; Alexander, Maiden, 2004, Page 271; Cohn, 2004; Patel,
Ramachandran, 2009], each with its own share of advantages and disadvantages.
REMARKS
To alleviate some of the burden on the customer [Sillitti, Succi, 2005], new rolescan becreated, such as Coordinator [Hoda, 2011], Liaison Officer [Hochmller, 2011], and
Story Master[Read, Arreola, Briggs, 2011].
8/14/2019 User Stories Introduction
17/35
17
QUALITY ATTRIBUTES RELEVANT TO SINGLE USER STORY
STATEMENT
Atomic (or Singular) Estimatable Feasible Problem Domain-Specific Traceable Understandable Uniguous (or Uniquely Interpretable) VerifiableQUALITY ATTRIBUTES RELEVANT TO MULTIPLE USER STORY
STATEMENTS
Acyclic (or No Cyclic Dependencies) Consistent14. EXAMPLES OF USER STORIES
I want to set an example that will never be forgotten.
Terry Fox
ATM
An Automated Teller Machine (ATM) is an interactive system. Its users include, but are
not limited to, bank customers that have an account.
EXAMPLE 1
For example, consider following user story statement. It has all the three aspects, namely
role, goal, and value:
A bank owner should be able to set an ATMs withdrawal parameters so that the ATMwill provide funds to customers and, in doing so, be protected against fraudulent
activities.
Name.Set Withdrawal Parameters of ATM.
8/14/2019 User Stories Introduction
18/35
18
EXAMPLE 2
For example, consider following user story statement. In it, the role and goal are explicit;
the value is implicit8.
A bank customer can withdraw money from a bank account.
Constraint.
The total amount of funds withdrawn in a day (24 hours) should not exceed $500. The funds should be dispensed in multiples of $20.Note.Need to discuss the possibility of withdrawal of funds in the denominations of $5
and $10.
Acceptance Criteria.
The bank card inserted is valid. The PIN is valid. The amount requested for withdrawal is less than or equal to the balance of the
account.
The amount requested for withdrawal is less than or equal to $500. The amount being dispensed is a multiple of $20.EXAMPLE 3
For example, consider following user story statement. In it, the role and goal are explicit;
the value is implicit9.
A bank customer can transfer funds from one bank account to another bank account.
There can be several reasons that can be attributed to a transfer. It may notbe useful to
state a clients intentof a transfer, or to equate that to value.
8An obvious, and therefore implicit, value in withdrawing money from an account is the increase in theamount of money in a customers possession.9 An obvious, and therefore implicit, value in transferring funds across accounts is the increase in thebalance of the target account.
8/14/2019 User Stories Introduction
19/35
19
Name.Transfer Funds.
Constraint.The funds should be transferred in multiples of $10.
Note.Need to discuss the possibility of transfer of funds in multiples of $5.
Acceptance Criteria.
The bank card inserted is valid. The PIN is valid. The source account has sufficient funds to accommodate the amount being transferred.
(In other words, if A is the amount being transferred and S is balance of the source
account, then S A.)
The amount being transferred is a multiple of $10. (In other words, if A is the amountbeing transferred, then A = n 10, where n is a non-negative integer.)
HRIS
A Human Resources Information System (HRIS) is an interactive system. Its users are
job seekers.
EXAMPLE 1
For example, consider following user story statement. It has all the three aspects, namely
role, goal, and value:
A student can search the system for employment opportunities.
Name.Search for Job.
Constraint.The following could be the usability constraints:
Usability-1: There should only be 20 search results presented at a time to a student.
Usability-2: It should take less than or equal to 5 seconds on average for the search
results to be presented to a student.
The following could be the rationalefor Usability-2:
8/14/2019 User Stories Introduction
20/35
8/14/2019 User Stories Introduction
21/35
21
Figure 7.A panorama of the support environment for theory and practice of user stories.
15.1. SUPPORT FOR USER STORIES IN AGILE METHODOLOGIES
The user stories are supported explicitly in the Agile Project Management (APM)
Delivery Framework[Highsmith, 2009], as shown in Figure 8.
Figure 8.The user stories have a prominent place in Agile Project Management (APM)
Delivery Framework [Highsmith, 2009].
8/14/2019 User Stories Introduction
22/35
22
15.2. USER STORIES IN BEHAVIOUR-DRIVEN DEVELOPMENT
The user stories are supported explicitly in Behaviour-Driven Development (BDD)10
[Chelimsky, Astels, Dennis, Hellesoy, Helmkamp, North, 2010]. In BDD, user stories are
part of the BDD process.
15.3. USER STORIES IN EXTREME PROGRAMMING
The user stories are supported explicitly in Extreme Programming (XP) [Beck,
Andres, 2005]. In fact, the notion of a user story was first introduced in XP [Beck, 2000].
The importance of user stories in XP is signified by the statement everything in XP
revolves around user stories [Stephens, Rosenberg, 2003, Page 80]. For example, in an
XP project, the estimates of the user stories that were finished during the iteration areused as input to Release Planning, to determine Project Velocity, and as an input to
Iteration Planning. This is illustrated in Figures 9 and 10.
Figure 9.The user stories are an input to release planning in XP11.
10URL: http://behaviour-driven.org/ .11URL: http://www.extremeprogramming.org/ .
8/14/2019 User Stories Introduction
23/35
23
Figure 10.The user stories are an input to iteration planning in XP12
.
15.4. USER STORIES IN SCRUM
The user stories are supported explicitlyin Scrum[Schwaber, Beedle, 2002; Schwaber,
2004]. For example, in a Scrum project, user stories are part of the Product Backlog.
This is illustrated in Figure 11.
Figure 11. The user stories are included in the Product Backlog in Scrum [Schwaber,
2004].
12URL: http://www.extremeprogramming.org/ .
8/14/2019 User Stories Introduction
24/35
24
15.5. USER STORIES IN USER-CENTERED AGILE PROCESS
In [Beyer, 2010, Chapter 5], User-Centered Agile Process (UCAP)is presented. UCAP,
as shown in Figure 12, builds upon previous knowledge of Contextual Design
[Holtzblatt, Wendell, Wood, 2005; Holtzblatt, 2008], XP, and Scrum.
Figure 12.UCAP is an agile development process that integrates user experience upfront
[Beyer, 2010, Chapter 5].
UCAP attempts to make agile development truly user-centered by preceding agile
development with a phase 0 for user research and user experience design. The idea is
that [after] a sound understanding of the user [], the team can then write good user
stories and go into agile development sprints confident that they know what problem they
are solving and have an initial direction for solving it.
The user stories are supported explicitly in UCAP. They are developed in the Release
Planning Sessionof UCAP.
The user stories are among the artifacts of Agile Experience Design (AXD)[Ratcliffe,
McNeill, 2012, Page 101]. Figure 13 shows elements of a conceptual model for AXD.
Figure 13.A conceptual model for AXD [Ratcliffe, McNeill, 2012, Page 11].
8/14/2019 User Stories Introduction
25/35
25
15.6. SUPPORT FOR USER STORIES IN STANDARDS
There are standards for software requirements, such as the IEEE Standard 830-1998
[IEEE, 1998] and, its successor, the ISO/IEC/IEEE 29148 Standard [ISO/IEC/IEEE,
2011]. There are standards that cover user requirements, such as the ISO 13407
Standard [ISO, 1999] and, its successor, the ISO 9241-210 Standard [ISO, 2010].
There is currently no standard that is dedicated specifically to user stories, although
there are standards that indirectlyaddress user stories.
ISO/IEC/IEEE
There is an attempt to align user stories (as given in XP) to meet ISO 9001 Formality
Requirementsby proposing extensions to user stories [Qasaimeh, Abran, 2011].
The user stories are mentioned (in the context of agile user documentation) in
ISO/IEC/IEEE 26515 Standard [ISO/IEC/IEEE, 2012].
IIBA
The user stories have been covered (in the context of means for specifying software
requirements) in a Guide to the Business Analysis Body of Knowledge (BABOK)
[IIBA, 2006, Section 5.14.7; IIBA, 2009, Section 9.33].
15.7. SUPPORT FOR USER STORIES IN INDUSTRY
In recent years, user stories have received increasing attention in industrial contexts that
carry out software-intensive projects.
For example, there are reports of deployment of user stories in organizations providing
products/services related tocomputer games[Keith, 2010, Chapter 5], student welfare
[Bang, 2007], andtelecommunications(like Shaw Communications).
8/14/2019 User Stories Introduction
26/35
26
However, for apparent reasons, such publicly available literature is rare. This situation is
unlikely to change in the foreseeable future.
16. USER STORIES IN CONTEXT
There are similarities and differencesbetween user stories and use cases.
There are similarities and differences between user stories and software
requirements, as given by the IEEE Standard 830-1998 [IEEE, 1998] and, its successor,
the ISO/IEC/IEEE 29148 Standard [ISO/IEC/IEEE, 2011].
17. THE LIMITATIONS OF USER STORIES
There are a few inherent limitations of user stories that limit their applicability for
certain types of software projects. These limitations are anthropological, organizationalsociological, and, technical.
The limitations related to user stories can be broadly classified along the following
dimensions:
Culture Personnel Skills LanguageORGANIZATIONAL CULTURE
In an organizational culture of contract-based development, the adoption of user stories is
not automatic. There are different governance styles of an organization, leading to
different kinds of organization cultures.
In one of the models for software organization cultures [Constantine, 1993], there are
four cultural paradigms: open, closed, synchronous, and random. An organization may
have a certain approach (philosophy) to software development [Wiegers, 1996]. TheConways Law
13states:
13URL: http://www.melconway.com/research/committees.html .
8/14/2019 User Stories Introduction
27/35
8/14/2019 User Stories Introduction
28/35
8/14/2019 User Stories Introduction
29/35
29
REFERENCES
[Adzic, 2009] Bridging the Communication Gap: Specification by Example and Agile
Acceptance Testing. By G. Adzic. Neuri Limited. 2009.
[Alexander, Maiden, 2004] Scenarios, Stories, Use Cases through the Systems
Development Life-Cycle. By I. Alexander, N. Maiden. John Wiley and Sons. 2004.
[ANSI, 2001] ANSI-NCITS 354-2001. Common Industry Format for Usability Test
Reports. American National Standards Institute (ANSI). 2001.
[Bang, 2007] An Agile Approach to Requirement Specification. By T. J. Bang. The
Eighth International Conference on Agile Processes in Software Engineering and
Extreme Programming (XP 2007). Como, Italy. June 18-22, 2007.
[Beck, 2000] Extreme Programming Explained: Embrace Change. By K. Beck. Addison-
Wesley. 2000.
[Beck, 2003] Test-Driven Development By Example. By K. Beck. Addison-Wesley.
2003.
[Beck, Andres, 2005] Extreme Programming Explained: Embrace Change. By K. Beck,
C. Andres. Second Edition. Addison-Wesley. 2005.
[Beyer, 2010] User-Centered Agile Methods. By H. Beyer. Morgan and Claypool. 2010.
[Biffl, Aurum, Boehm, Erdogmus, Grnbacher, 2006] Value-Based Software
Engineering. By S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, P. Grnbacher (Editors).
Springer-Verlag. 2006.
[Brooks, 1987] No Silver Bullet: Essence and Accidents of Software Engineering. By F.
P. Brooks, Jr. Computer. Volume 20. Number 4. 1987. Pages 10-19.
[Chelimsky, Astels, Dennis, Hellesoy, Helmkamp, North, 2010] The RSpec Book:Behaviour Driven Development with RSpec, Cucumber, and Friends. By D. Chelimsky,
D. Astels, Z. Dennis, A. Hellesoy, B. Helmkamp, D. North. Pragmatic Bookshelf. 2010.
[Cohn, 2004] User Stories Applied: For Agile Software Development. By M. Cohn.
Addison-Wesley. 2004.
8/14/2019 User Stories Introduction
30/35
30
[Cohn, 2005] Agile Estimating and Planning. By M. Cohn. Prentice-Hall. 2005.
[Constantine, 1993] Work Organization: Paradigms for Project Management and
Organization. By L. L. Constantine. Communications of the ACM. Volume 36. Issue 10.
1993. Pages 35-43.
[Constantine, Lockwood, 1999] Software for Use: A Practical Guide to the Models and
Methods of Usage-Centered Design. By L. L. Constantine, L. A. D. Lockwood. Addison-
Wesley. 1999.
[Fenton, Pfleeger, 1997] Software Metrics: A Rigorous and Practical Approach. By N. E.
Fenton, S. L. Pfleeger. International Thomson Computer Press. 1997.
[Higham, 1998] Handbook of Writing for the Mathematical Sciences. By N. J. Higham.
Second Edition. Society for Industrial and Applied Mathematics. 1998.
[Highsmith, 2002] Agile Sofware Development Ecosystems. By J. Highsmith. Addison-
Wesley. 2002.
[Highsmith, 2009] Agile Project Management: Creating Innovative Products. By J.
Highsmith. Addison-Wesley. 2009.
[Hochmller, 2011] The Requirements Engineer as a Liaison Officer in Agile Software
Development. By E. Hochmller. The First Workshop on Agile Requirements
Engineering (AREW 2011). Lancaster, U.K., July 26, 2011.
[Hoda, 2011] Self-Organizing Agile Teams: A Grounded Theory. By R. Hoda. Ph.D.
Thesis. Victoria University of Wellington. Wellington, New Zealand. 2011.
[IEEE, 1990] IEEE Standard 610.12-1990. IEEE Standard Glossary of Software
Engineering Terminology. IEEE Computer Society. 1990.
[IEEE, 1998] IEEE Standard 830-1998. Recommended Practice for Software
Requirements Specifications. IEEE Computer Society. 1998.
[IIBA, 2006] A Guide to the Business Analysis Body of Knowledge, Release 1.6.
International Institute of Business Analysis (IIBA). 2006.
[IIBA, 2009] A Guide to the Business Analysis Body of Knowledge, Version 2.0.
International Institute of Business Analysis (IIBA). 2009.
8/14/2019 User Stories Introduction
31/35
8/14/2019 User Stories Introduction
32/35
32
(IEC)/The Institute of Electrical and Electronics Engineers (IEEE) Computer Society.
2012.
[Jeffries, 2001] Essential XP: Card, Conversation, and Confirmation. By R. Jeffries. XP
Magazine. August 30, 2001.
[Jokela, Abrahamsson, 2004] Usability Assessment of an Extreme Programming Project:
Close Co-operation with the Customer Does Not Equal to Good Usability. By T. Jokela,
P. Abrahamsson. The Fifth International Conference on Product Focused Software
Process Improvement (PROFES 2004). Kausai Science City, Japan. April 5-8, 2004.
[Kamthan, Shahmir, 2010] Towards an Understanding of the User Story Environment.
By P. Kamthan, N. Shahmir. The Fifteenth IBIMA Conference on Knowledge
Management and Innovation: A Business Competitive Edge Perspective. Cairo, Egypt.
November 6-7, 2010.
[Keith, 2010] Agile Game Development with Scrum. By C. Keith. Addison-Wesley.
2010.
[Knauss, Boustani, Flohr, 2009] Investigating the Impact of Software Requirements
Specification Quality on Project Success. By E. Knauss, C. El Boustani, T. Flohr. The
Tenth International Conference on Product-Focused Software Process Improvement
(PROFES 2009). Oulu, Finland. June 15-17, 2009.
[Koskela, 2008] Test Driven: TDD and Acceptance TDD for Java Developers. By L.
Koskela. Manning Publications. 2008.
[Kovitz, 2003] Hidden Skills that Support Phased and Agile Requirements Engineering.
By B. Kovitz. Requirements Engineering. Volume 8. Number 2. 2003. Page 135-141.
[Layon, 2012] Mobilizing Web Sites: Strategies for Mobile Web Implementation. By K.
Layon. Peachpit Press. 2012.
[Leffingwell, 2011] Agile Software Requirements: Lean Requirements Practices forTeams, Programs, and the Enterprise. By D. Leffingwell. Addison-Wesley. 2011.
[Madeyski, 2010] Test-Driven Development: An Empirical Evaluation of Agile Practice.
By L. Madeyski. Springer-Verlag. 2010.
8/14/2019 User Stories Introduction
33/35
33
[McGregor, 2007] Value. By J. D. McGregor. Journal of Object Technology. Volume 6.
Number 10. 2007. Pages 9-15.
[McGregor, 2008] An Increase In Value. By J. D. McGregor. Journal of Object
Technology. Volume 7. Number 3. 2008. Pages 7-16.
[Messerschmitt, Szyperski, 2003] Software Ecosystem: Understanding an Indispensable
Technology and Industry. By D. G. Messerschmitt, C. Szyperski. The MIT Press. 2003.
[Meyer, 1985] On Formalism in Specifications. By B. Meyer. IEEE Software. Volume
11. Issue 1. 1985. Pages 6-26.
[Mohammadi, Nikkhahan, Sohrabi, 2009] Challenges of User Involvement in Extreme
Programming Projects. By S. Mohammadi, B. Nikkhahan, S. Sohrabi. International
Journal of Software Engineering and Its Applications. Volume 3. Number 1. 2009. Pages19-32.
[Moreno, Yage, 2012] Agile User Stories Enriched with Usability. By A. M. Moreno,
A. Yage. The Thirteenth International Conference on Agile Processes in Software
Engineering and Extreme Programming (XP 2012). Malm, Sweden. May 21-25, 2012.
[Nuseibeh, Easterbrook, 2000] Requirements Engineering: A Roadmap. By B. Nuseibeh,
S. Easterbrook. The Twenty Second International Conference on Software Engineering
(ICSE 2000). Limerick, Ireland. June 4-11, 2000.
[Patel, Ramachandran, 2009] Story Card Based Agile Software Development. By C.
Patel, M. Ramachandran. International Journal of Hybrid Information Technology.
Volume 2. Number 2. 2009. Pages 125-140.
[Qasaimeh, Abran, 2011] Extending Extreme Programming User Stories to meet ISO
9001 Formality Requirements. By M. Qasaimeh, A. Abran. Journal of Software
Engineering and Applications. Volume 4. Number 11. 2011. Pages 626-638.
[Ratcliffe, McNeill, 2012] Agile Experience Design: A Digital Designers Guide toAgile, Lean, and Continuous. By L. Ratcliffe, M. McNeill. New Riders. 2012.
[Read, Arreola, Briggs, 2011] The Role of the Story Master: A Case Study of the
Cognitive Load of Story Management Tasks. By A. Read, N. Arreola, R. O. Briggs. The
Forty Fourth Hawaii International Conference on Systems Science (HICSS-44 2011).
Koloa, U.S.A. January 4-7, 2011.
8/14/2019 User Stories Introduction
34/35
34
[Schuler, Namioka, 1993] Participatory Design: Principles and Practices. By D. Schuler,
A. Namioka (Editors). CRC Press. 1993.
[Schwaber, 2004] Agile Project Management with Scrum. By K. Schwaber. Microsoft
Press. 2004.
[Schwaber, Beedle, 2002] Agile Software Development with Scrum. By K. Schwaber, M.
Beedle. Prentice-Hall. 2002.
[Sillitti, Succi, 2005] Requirements Engineering for Agile Methods. By A. Sillitti, G.Succi. In: Engineering and Managing Software Requirements. A. Aurum, C. Wohlin(Editors). Springer-Verlag. Pages 309-326.
[Stapleton, 2003] DSDM: Business Focused Development. By J. Stapleton. Addison-Wesley. 2003.
[Stephens, Rosenberg, 2003] Extreme Programming Refactored: The Case Against XP.
By M. Stephens, D. Rosenberg. Apress. 2003.
[Wake, 2002] Extreme Programming Explored. By W. C. Wake. Addison-Wesley. 2002.
[Wiegers, 1996] Creating a Software Engineering Culture. By K. Wiegers. Dorset House.
1996.
[Wiegers, 2003] Software Requirements. By K. E. Wiegers. Second Edition. Microsoft
Press. 2003.
[Wiegers, Beatty, 2013] Software Requirements. By K. Wiegers, J. Beatty. Third Edition.
Microsoft Press. 2013.
8/14/2019 User Stories Introduction
35/35
This resource is under a Creative Commons Attribution-Noncommercial-NoDerivative Works 3.0 Unportedlicense.