=Paper= {{Paper |id=Vol-2075/CRE18_paper3 |storemode=property |title=Use Cases, User Stories and BizDevOps |pdfUrl=https://ceur-ws.org/Vol-2075/CRE18_paper3.pdf |volume=Vol-2075 |authors=Peter Forbrig |dblpUrl=https://dblp.org/rec/conf/refsq/Forbrig18 }} ==Use Cases, User Stories and BizDevOps== https://ceur-ws.org/Vol-2075/CRE18_paper3.pdf
              Use Cases, User Stories and BizDevOps

                                        Peter Forbrig

                    University of Rostock, Chair in Software Engineering,
                           Albert-Einstein-Str. 22, 18055 Rostock
                          Peter.forbrig@uni-rostock.de



       Abstract. DevOps is currently discussed a lot in computer science communi-
       ties. BizDev (business development) is only mentioned once in a computer sci-
       ence paper in connection with Continuous Software Engineering. Otherwise it
       is used in the domain of business administration only. Additionally, there seems
       to be a different interpretation of the term in the two communities.
       The paper discusses the different interpretations found in the literature. Addi-
       tionally, the idea of BizDevOps is discussed in conjunction with further ideas of
       taking new requirements for software features into account. These requirements
       can be described by models on different level of granularity. Starting points are
       use cases, use-case slices, user stories, and scenarios. They have to be commu-
       nicated between stakeholders. It is argued in this paper that storytelling can be a
       solution for that. It is used in as well in software development as in manage-
       ment.

       Keywords: BizDev, DevOps, BizDevOps, Continuous Requirements Engineer-
       ing, Continuous Software Engineering, Agile Software Development, Storytell-
       ing.


1      Introduction

Developing Businesses if often related with the development of software because
nowadays business processes have to be supported by IT. Continuous requirements
engineering has to be performed to provide continuously the optimal support. Contin-
uous business development seems to be a good description for the combined devel-
opment of software and business. This term is not used so very often. Nevertheless, it
exists like in [17].
   However, more often the abbreviation BizDev (business development) is used. It at
seems to be well known in the business administration community but not in the
computer science community. A current search (January 20, 2018) for BizDev in the
ACM digital library (dl.acm.org) delivered one result only. The result refers to the
paper of Fitzgerald and Stol [7] about continuous software engineering. It provides a
framework Continuous* that specifies continuously performed activities of software
engineering. DevOps (development and operation) pays a central role in this frame-
work.
   “DevOps is a set of practices intended to reduce the time between committing a
change to a system and the change being placed into normal production, while ensur-
ing high quality” [1]. It aims at shortening the development cycles from months to
days or even hours. This is only possible with a corresponding quality insurance by a
software tool chain in an agile way.

   For many software development projects the combination of BizDev and DevOps
to BizDevOps seems be useful. The paper discusses the idea of BizDevOps and the
consequences for requirements specifications. It evaluates different known notations
requirements specification notations for the usage in a BizDevOps context. In the
following paragraph, BizDevOps will be discussed in more detail. Additional, the
most important requirements specification techniques are shortly revisited. Their us-
age from different perspectives the relation between these perspectives will be high-
lighted. Storytelling seems to be an interesting technique to communicate require-
ments. The paragraph closes with a discussion. Finally, a summary and an outlook are
presented.


2      BizDevOps

              2.1     Introduction to BizDevOps
BizDev or sometimes its abbreviation BD is a term coming from the business admin-
istration domain. In [6] Andrew Dumont characterizes it as: “in it's simplest form, BD
can be described as connecting similar businesses to similar goals”. He mentions later
that BD can be characterized as filtering and building. Filtering refers to the selection
activity of the right business partners and the right deals. Building can be related to an
IT infrastructure and again finding the right partners for that.
    James Cohane mentions that a lot of “Sales” people refer themselves to “Business
Development” [4]. He mentions that business development is more than sales. He
provides the following definition instead: “Business Development is the function at
the company responsible for identifying, securing, and/or managing relationships with
organizations outside of the company (excluding customers and suppliers) that helps
other key functions at the company achieve their respective goals.”
    A nice visualization of BizDevOps is provided by Baumgartner [2]. It is shown in
Figure 1.
For the above discussed definitions, aspects of software development play a minor
role. IT aspects are covered but not outstanding important. One can even say that they
play a minor role. However, different perspectives exist. Fitzgerald and Stol [7] con-
sider the cooperation of people from business and software development as the most
important aspect of BizDev. “We argue that a closer and continuous linkage between
business and software development functions is important, and term this BizDev, a
phenomenon which complements the DevOps one of integrating more closely the
software development and operations functions”.
    From our point of view, this is an important aspect. We suggested some modifica-
tions to the framework of Fitzgerald and Stol in [7] by continuous requirements engi-
neering, continuous requirements modelling and continuous human centered design.
Additionally, we mentioned the idea of using S-BPM [9] for BizDevOps in [10].




                    Fig. 1. Visualization of the domain of BizDevOps ([2]).

    Already in 2015, Gruhn and Schäfer [11] discussed the fact that DevOps is not the
end of the story. “The BizDevOps approach addresses the boundary between the two
distinct disciplines: it aims at redistributing responsibilities between IT (who are pro-
fessionals in rendering stable and reliable IT systems) and business departments (who
understand the rationale of IT systems from business perspective)” [11]. They provide
a lot of arguments that characterize advantages of BizDevOps.
    If people from business and software development have to work together, there is
still the question how requirements are developed and specified.


              2.2      Requirements Specification           Notations     and   Knowledge
                       Representations
Scenarios. A scenario is a sequence of actions. It can be specified on different level
of abstractions. It can be a sequence of events only or like in scenario-based design
[10] a narrative descriptions of envisioned usage episodes. Such scenarios are em-
ployed to guide the development of the system. Additionally, they offer potential
users of the system under development a smell of envisaged use experience. Carroll
characterizes the user interaction scenario as a sketch of use.
                   Fig. 2. Benefits of scenario-based design (from [16])

Rosson et al. [16] characterize scenarios even as stories that will be discussed in the
next paragraph.

   User Stories. The term “user story” is used in different ways. The first perspective
comes from interaction design.
   “Stories have always been part of user experience design as scenarios, storyboard,
flow charts, personas, and every other technique that we use to communicate how
(and why) a new design will work. As a part of user experience design, stories serve
to ground the work in a real context by connecting design ideas to the people who will
use the product” [15]. Whitney Quesenbery and Kevin Brooks [15] mention five ad-
vantages of user stories:

       1.   They help to gather and share information about users, tasks, and goals.
       2.   They put a human face on analytic data.
       3.   They can spark new design concepts and encourage collaboration and in-
            novation.
       4.   They help to understand the world by giving us insight into people who
            are different.
       5.   They can even persuade others of the value of a contribution.

   User stories have a structure like beginning part, middle part and ending part. They
put important information into a nice context. This makes things more interesting and
improves the engagement of participants in a software development project. They can
describe a problem, focus on the context of an application, explore design decisions
and describe the consequences of new design.

   Technically, user stories can be written or spoken. Alternatively, comics, anima-
tions, or videos are possible.

  We already mentioned the scenario-based approach from Mary Beth Rosson and
John Carroll [16]. It is based on descriptions of the use of the envisioned system.
They characterize the nature of their scenarios as follows: “Narrative descriptions of
envisioned usage episodes are then employed in a variety of ways to guide the devel-
opment of the system that will enable these user experiences” [16].
   Based on this characterization and on the provided examples scenarios and stories
can be considered as synonyms.
   Those stories describe the main problems and possible solutions. In this way dis-
cussions can be focused on specific aspects and a common ground between stake-
holders can be established.

Rosson and Caroll distinguish between problem scenarios, activity scenarios, information sce-
                              narios, and interaction scenarios.

   Fig. 3 provides a visualization of their scenario-based design (SBD) framework.
   During the process of software development the scenarios are continuously refined,
extended, or rewritten. They are a very important artefact for software development
because they are one of the sources for requirements.
   More details can be found in [3].


                                       ANALYZE
                analysis of                                             claims about
              stakeholders,                                                current
               field studies
                                   Problem Scenarios                       practice




                                        DESIGN
             Metaphors,                                                    iterative
             Information
             technology,
                                    Activity Scenarios                   analysis of
                                                                           usability
             HCI theory,                                                 claims and
              guidelines                                                  re-design
                                 Information Scenarios

                                  Interaction Scenarios


                               PROTOTYPE & EVALUATE
                 summative                                               formative
                 evaluation
                                 Usability Specifications                evaluation




                 Fig. 3. Scenario-based design framework according to [16].
In the context of agile software development, user stories are totally different. They
consist of one sentence only and are written on index cards. Such sentences can have
the following structure:

               As a , I want  so that .

Examples of corresponding user stories could look like the following two stories

           1.    As a user, I want to upload messages so that I can share them with oth-
                 ers.
           2.    As an administrator, I want to approve messages before they are posted
                 so that I can make sure they are appropriate.

   While the first kind of stories provides motivation and a lot of context information,
the second kind of stories is focused of functionality. It seems to be that currently
storytelling is considered to be a successful technique for business management. We
will come back to this aspect in one of the next paragraphs.

Use Cases. Use cases were introduced by Ivar Jacobson [12]. They are a generalized
description of a set of interaction sequences between a system and actors. An actor
can be a user or a system. Use cases can be written in unstructured text. However,
more often they conform to a structured template containing title, goal, primary actor,
level, precondition, main success scenario, alternatives, extensions etc.
   As overview a use case diagram can be drawn. It provides an abstraction of the
written specification by presenting several use cases, their relations, and actors. For
details, the textual specification has to be consulted always.


Use Case Slice. Use cases were introduced several years ago. During that time, agile
development methods did not play an important role. For agile software development,
use cases were considered to be too heavy or complex. Therefore, Use Case 2.0 has
the concept of use case slices. A use case can be considered as a set of stories, which
are the main success scenario and several alternative scenarios.
   A use case slice consists of one or two of those scenarios. These scenarios are
called also stories. However, they are not stories in the sense of the above discussed
stories in interaction design or the one sentences used in agile methods like SCRUM.
They are a sequence of action that is neither a real story nor can be put into one sen-
tence.
   A use case slice is a collection of one or more of such stories:
   “Is created by selecting one or more stories for implementation
    …, acts as a placeholder for all the work required to complete the implementation
    of the stories
    …, and evolves to include the equivalent slices through design, implementation
   and test” [13].
    Fig. 4. Use case slices and their stories (scenarios)visualizes a symbolic use case,
its stories, and the grouping of stories to slices.

                         Start of use case

          Step 1                 Alt1

          Step 2

          Step 3                  Alt2

          Step 4
                                  Alt3
          Step 5


                         End of use case


                        Fig. 4. Use case slices and their stories (scenarios)

On the left hand side of Fig. 4 one can see a complete use case with its alternatives.
The straight line represents the main success scenario. On the right hand side specific
scenarios are shown. They represent one specific path through the use case. Two
groupings represent two use case slices. The rest of the stories might be grouped to
slices later. The life cycle of use cases and use case slices according to Jacobson et al.
is shown in Fig. 5 .



                   Goal established                                  Scoped


                   Story understood
                                                                    Prepared

                    Simplest story
                    implemented                                     Analyzed


                   Sufficient stories
                    implemented                                   Implemented


                      All stories
                    implemented                                      Verified




 Fig. 5. Life cycle of use case (left hand side) and use case slice (right hand side) implementa-
                                       tion (according to [11])
In their Fig. 9 “Use-Case 2.0 Work Products” Jacobson et al. [11] mention the con-
cept of a story without explaining it in detail. One can read from the diagram that use
cases are explored by telling stories. Additionally, they are assigned to use-case slices.
The story itself is influenced by flows, special requirements and system wide re-
quirements.


Storytelling. The social activity of sharing stories is called storytelling. As we al-
ready discussed in connection with scenario-based design, stories are shared as a
means of education. However, stories are also used in business management. They
help managers solving conflicts, addressing issues and facing challenges. Fog et al.
published a paper about “storytelling as a Management Tool” [8]. They mention:
“The stories we share with others are the building blocks of any human relationship.
Stories place our shared experiences in words and images. They help shape our per-
ception of “who we are” and “what we stand for”. Likewise, stories are told and flow
through all companies”.
   This is supported by Dennings [5] remark: “Storytelling works as a supplement to
traditional management tools. For manager, the task is to use storytelling to anchor
the company's values, visions, and culture within the organization.”

  Denning presented in [5] eight different story patterns:

           Sparking action
           Communicating who you are
           Transmitting values
           Communicating your brand
           Fostering collaboration
           Taming the grapevine
           Sharing knowledge
           Leading people into the future

   The Sparking action pattern describes how a successful change was implemented
in the past, but allows listeners to imagine how it might work in their situation. For
transmitting values Denning gives the hint to use believable characters and situations.
The brand is usually told by the product or service itself. To foster collaboration the
stories should recount a situations that listeners have experienced. They should be
animated to share their own stories. Taming the grapevine refers to storytelling with
gentle humor about some aspect of a rumor that reveals it to be untrue. Sharing
knowledge focuses on problems and how they were corrected. The story should have
an explanation of why the solution worked. Leading people into the future evokes the
future that is planned to be created.
   Karin Their published a book [18] about success examples of applying stories in
different areas of business administration. The title of her book is “Storytelling: A
Method for Change-, Brand-, Project- and Knowledge Management”. She provides a
process model for developing stories. It presented by Fig. 6.
                        3.
                    Extracting
                                        4. Writing
                2.
           Interviewing
                    Learning process
                         6.            5. Validating
                    Distributing                              Learning
                                                              Organization
            1. Planning


                       Fig. 6. Storytelling process (adopted from [18])

  According to the provided model organizations should organize their knowledge
management by including stories into the knowledge base.


              2.3      Discussion

   In the previous paragraphs different notations for requirements specifications and
knowledge representations were presented. From the idea of continuous software
engineering and BizDevOps arises the need of communication between stakeholders
from business and from software development.
   Stories seem to be a tool that is used in both communities. Storytelling has ad-
vantages as well for interaction design as business management. It is used in a mini-
mized way in agile development and can support continuous requirements engineer-
ing by constantly updating the stories.
   The provided story patterns by Denning were introduced and used for business
management purposes only. They were not intended to be used for software develop-
ment. However, the patterns “sharing knowledge” and “leading people” into the fu-
ture can be adapted for this purpose. In combination with the experience in scenario-
based design the tool of stories should be very helpful for BizDevOps.
   Lawrence [14] provides nine patterns for spitting user stories (workflow steps, op-
erations, business rule variation, variations in data, break out spike, interface varia-
tions, major effort, simple/complex, and defer performance). Conditions and resulting
actions are described. However, currently those patterns are mainly for the one sen-
tences stories. Nevertheless, they might be a good starting point for further research.
3      Summary

   The ides of BizDevOps was discussed based on their roots in BizDev and DevOps.
The main purpose of those methods is the cooperative work of business, development,
and operations people. Consequences of monitoring running systems have to be con-
sidered for consequences for business strategies and processes.
   Business processes have to be supported by software systems. Requirements for
those systems have to be specified in such a way that business people are able to write
them or at least they have to be able to read those documents.
   Scenarios, user stories, use cases, and use case slices were discussed. Differences
and similarities were shown. Additionally, the potentials as communication means
were evaluated. It seems to be that stories are an appropriate tool for communication
between business, development, and operation people. Furthermore, they can be used
for management purposes to motivate people.
   Refinements of stories to more precise specifications like use cases, use-case slic-
es, tasks, objects, and user stories for backlogs are possible. This can be done based
on existing patterns. However, it might be possible to identify further patterns


4      References
 1. Bass, L., Weber, I., and Zhu, L.: DevOps: A Software Architect's Perspective. ISBN 978-
    0134049847.
 2. Baumgartner, M.: Quality Leadership Circle: DevOps - ein Zukunftsbild mit Erfolgsgaran-
    tie?, http://www.anecon.com/blog/qlc2-devops/ from 2016/06/14. Last visitied January 5,
    2018.
 3. Carroll, J.M.: Making Use: Scenario-Based Design of Human-Computer Interactions. MIT
    Press, Cambridge (2000)
 4. Cohane, J.: WTF is Biz Dev? (aka What is “Business Development”?),
    http://jamescohane.com/wtf-is-biz-dev-aka-what-is-business-development/, last visited
    January 20, 2018.
 5. Denning, S.: The Leader's Guide to Storytelling: Mastering the Art and Discipline of Busi-
    ness Narrative, Revised and Updated, John Wiley, 2011.
 6. Dumont, A.: Role of Business Development at a Startup, April, 2014,
    http://andrewdumont.me/role-of-business-development-at-a-startups/ last visited January
    20th 2018.
 7. Fitzgerald, B. and Stol, K.-J.: Continuous software engineering: A roadmap and agenda,
    Journal of Systems and Software, Volume 25, July 2015, Pages 1–14.
 8. Fog K., Budtz C., Munch P., and Blanchette S.: Storytelling as a Management Tool. In:
    Storytelling. Springer, Berlin, Heidelberg, https://doi.org/10.1007/978-3-540-88349-4_6,
    2010.
 9. Forbrig, P.: Continuous Software Engineering with Special Emphasis on Continuous Busi-
    ness-Process Modeling and Human-Centered Design, In Proc. S-BPM ONE 2016.
10. Forbrig, P.: Does Continuous Requirements Engineering need Continuous Software Engi-
    neering?, CRE'17, Workshop at REFSQ, Essen, 2017, http://ceur-ws.org/Vol-1796/cre-
    paper, last visited January 20, 2018.
11. Gruhn, V., and Schäfer,c.: "BizDevOps: Because DevOps is Not the End of the Story,"
    in Proceedings of the 14th International Conferecnce on Intelligent Software Meth-
    odologies, Tools and Techniques (SoMet 2015), Communications in Computer and
    Information Sc., Vol 532. Ed. By H. Fujita and G. Guizzi. Springer, 2015, pp. 388-398.
12. Jacobson, I., Christerson, M., and Jonsson, P.: Object-Oriented Software Engineering - A
    Use Case Driven Approach, Addison-Wesley, 1992, ISBN 0-2015-4435-0
13. Jacobson, I.; Spence, I., and Bittner. K.: USE-CASE 2.0: The Guide to Succeeding with
    Use     Cases,      https://www.ivarjacobson.com/sites/default/files/field_iji_file/article/use-
    case_2_0_jan11.pdf, visited last time January 15, 2018.
14. Lawrence, R: How to Split a User Story, http://agileforall.com/resources/how-to-split-a-
    user-story/, last visited January 20, 2018.
15. Quesenbery, W., and Brooks, K: Storytelling for User Experience: Crafting Stories for
    Better Design, Rosenfeld Media, 2011, ISBN-13: 978-1933820477.
16. Rosson, B., and Carroll, J. M.: Scenario-Based Design, Chapter 53 in J. Jacko & A. Sears
    (Eds.), The Human-Computer Interaction Handbook: Fundamentals, Evolving Technolo-
    gies and Emerging Applications. Lawrence Erlbaum Associates, 2002, pp. 1032-1050.
17. The        Guardian:         keeping        professional    development            continuous,
    https://www.theguardian.com/careers/careers-blog/keeping-professional-development-
    continuous
18. Thier, K.: Storytelling: Eine Methode für das Change-, Marken-, Projekt- und Wissensma-
    nagement, 3. Auflage, Springer 2016.