<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards an Assessment Tool for Controlling Functional Changes in Scrum Process</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Asma Sellami</string-name>
          <email>asma.sellami@isims.usf.tn</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mariem Haoues</string-name>
          <email>mariem.haoues@isims.usf.tn</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nour Borchani</string-name>
          <email>borchani.nour@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nadia Bouassida</string-name>
          <email>nadia.bouassida@isims.usf.tn</email>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>1</volume>
      <fpage>8</fpage>
      <lpage>20</lpage>
      <abstract>
        <p>Unlike the old development process models, agile provides flexible methods adapted to requirements change. Although, agile methods such as Scrum are widely used today, an important number of agile projects end up in failure. This is due mainly to inaccurate estimates of time and lack of a structured change control process. However, tracking and controlling changes is important for a better project control. The main objective of this paper is to propose a tool for change controlling in scrum process. For this purpose, we use the COSMIC Functional Size Measurement method for a precise quantification and rapid evaluation of a change request. Reporting, tracking, and controlling the change status per project at different levels of details will certainly help in future projects management.</p>
      </abstract>
      <kwd-group>
        <kwd>Functional change</kwd>
        <kwd>User requirements</kwd>
        <kwd>Functional size measurement</kwd>
        <kwd>User story description</kwd>
        <kwd>COSMIC-ISO 19761</kwd>
        <kwd>Scrum</kwd>
        <kwd>User stories</kwd>
        <kwd>Agile</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Software projects are undoubtedly hard to manage. In fact, software products are more
complicated compared to other products due to their invisibility, complexity,
conformity, and changeability [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Hence, managers must ensure the balance and trade-offs
among the scope, schedule, and budget while ultimately satisfying the customers needs.
      </p>
      <p>
        Among the different Software Life-Cycle (SLC) models, managers select the
appropriate one depending on the project nature and the team skills. At the beginning of the
SLC, user requirements are often unclear, ambiguous, and not entirely defined. Hence,
the risk of changing user requirements during the software development is highly
predicted. However, the cost of a requirements change at an early phase of the SLC is
relatively low compared to the cost of changing requirements at a later phase [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Hence,
flexible models more adapted to the user requirements change become a necessity.
      </p>
      <p>
        Unlike the oldest SLC models, agile methods such as scrum embrace requirements
changes. In fact, they allow active collaboration between development teams and
customers (i.e., product owners). The Product Owner (PO) reports the requirements in an
unstructured way when talking to the development team [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Although scrum is
gaining popularity in comparison with other agile methods, 61% of the scrum projects fail
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. This is due mainly to the lack of comprehensive documentations in scrum [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
2
the limited use of standardized measures, and the poorly change control. To avoid the
project failure, a well-defined change control process is required at any step of the
scrum process, even within an ongoing sprint. In addition, implementing such process
will improve the flexibility of scrum.
      </p>
      <p>
        User requirements are classified into three categories: Functional User
Requirements (FUR), Non-Functional Requirements (NFR), and Project Requirements and
Constraints (PRC) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. FUR express “what the software shall do in terms of tasks and
services” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. NFR include “any requirement for a hardware/software system or for
a software product, including how it should be developed and maintained, and how it
should perform in operation” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. PRC describe “how a software system project should
be managed and resourced or constraints that affect its performance”. Depending on
the changed requirement, user requirements changes are classified into: (i) functional
changes, and (ii) technical changes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In fact, a functional change affects the FUR.
While, a technical change may affect the NFR or the PRC.
      </p>
      <p>This paper proposes a tool for FC control in scrum process. This tool is based mainly
on sizing FC using the COSMIC FSM method. The remaining of this paper is organized
as follows: Section 2 presents firstly an overview of the scrum process, Functional Size
Measurement (FSM) and COSMIC FSM method. Secondly, it discusses some related
works. In section 3, we describe the change control process. In section 4, we illustrate
our process through the case study “E-Commerce” and present our tool. Section 5
discusses the limitations and concerns of the change control process. Finally, section 6
concludes the presented work and outlines some of its possible extensions.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <sec id="sec-2-1">
        <title>Overview of the Scrum Process</title>
        <p>
          Scrum process allows a better communication between the development team and the
PO. For a successful scrum project, the development team must learn how to manage
themselves efficiently. In addition, the PO must be actively involved in every single
phase of the software development. Scrum appears to work better with small projects
that require five to nine persons in a development team including designers, developers
and testers. Nevertheless, some companies adapt scrum for large-scale projects [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>
          The scrum process, illustrated in Fig. 1, starts with a high-level definition of the
project scope. Scrum uses the product backlog as a list of stories created by the PO
based on their initial requirements. These stories may increase or decrease in size based
on decisions made throughout the software development. The list of stories is prioritized
by the PO to be used as an iterative input for different sprints (Iterations) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Thus,
the active involvement of the PO is mandatory to explain, elucidate the next iteration
that should be implemented and evaluate/test the work done.
        </p>
        <p>
          For a single sprint, four types of meetings should be held: sprint planning
meeting, daily stand up meeting, sprint retrospective meeting, and sprint review meeting.
The stories to be implemented in a sprint are captured during the planning meeting.
They are selected from the product backlog according to their priorities and placed in
a sprint backlog. In practice, usually, only the first two or three sprints are identified
and planned. Daily stand up meetings are held during the sprint to discuss: what has
been done, what are you going to do, and what are the issues [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Each sprint is ended
by a sprint retrospective meeting, during which the team reviews the sprint and decides
which change will be made, and how they can improve their work in the next sprint.
        </p>
        <p>
          As we mentioned previously, scrum uses the user stories to represent the user
requirements at different levels of details. A User Story (US) is a requirement written in
a specific way illustrating the type of user, feature or functionality that the user want to
do in order to realize some benefit [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Below the US description adapted in practice.
        </p>
        <p>This description identifies Who will do the US or find it valuable &lt;user type&gt;,
What it can be used for &lt;feature or functionality&gt;, and Why it is valuable or important
&lt;value or expected benefit&gt;.</p>
        <sec id="sec-2-1-1">
          <title>As a &lt;user type&gt; I want to &lt;feature or functionality&gt; so that &lt;value or expected benefit&gt;</title>
          <p>
            Typically, development team uses the User Story Point (USP) to determine the
effort required for the accomplishment of a US compared to other user stories in the same
product backlog. Although its popularity, USP is not a good estimation technique. It has
been widely criticized (cf., [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ], [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ], etc.). In fact, USP is only meaningful for a
specific development team and project. Thus, it is necessary to use a standardized method
that allows the measurement of the product functional size. In addition, the study in
[
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] proved that using COSMIC in agile projects gives a better results in estimating the
effort needed to accomplish a US. For these reasons, we selected COSMIC ISO 19761.
2.2
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Functional Size Measurement and COSMIC FSM Method: ISO 19761</title>
        <p>Software size measurement throughout the SLC is used mainly for estimating the
software development effort/cost and in driving decisions on the development project
activities. The FSM methods measure the software size from the FUR. Functional Point
Analysis (FPA) is the first FSM method proposed by Allan Albrecht in 1979. FPA
4
is supported by the “International Function Point Users Group” and ISO since 2003
(IFPUG-ISO 20926:2009). Thereafter, researchers proposed several methods to
improve the original FPA method such as Nesma, MK II, FiSMA, and finally COSMIC.</p>
        <p>COSMIC considers that a FUR involves a number of functional processes. Each
Functional Process (FP) is detailed by a set of sub-processes of two types: data
movement and data manipulation. A data movement moves a data group from/to a functional
user (respectively Entry and eXit data movement) or from/to a persistent storage
(respectively Read and Write data movement). Software size is measured by counting one
CFP (COSMIC Function Point) for each data movement. The size of each FP is
measured separately. The sizes of all functional processes are added to provide the software
size.</p>
        <p>Boundary</p>
        <p>Functional
process
Functional users:
Humans
Other software
Hardware devices
1 entering
data group Entry
1 exiting
data group</p>
        <p>Functional</p>
        <p>Sub-processes
eXit</p>
        <p>Read Write
1 retrieved 1 data group
data group to be stored</p>
        <p>Persistent
storage</p>
        <p>
          COSMIC is the only FSM method that measure the size of a change to software. It
defines a FC as “any combination of additions of data movements or of modifications
or deletions of existing data movements” [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. To measure the Functional Size of a FC,
referred to as FS(FC), COSMIC attribute one CFP for each changed data movement
regardless of the change type (addition, deletion, or modification). The FS(FC) is given
by the aggregation of the sizes of all the added, deleted and modified data movements.
The functional size of the software after a FC is given as the sum of all added data
movements minus the functional size of all removed data movements [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Related Work</title>
        <p>
          Given the importance of change management in the agile context, a number of research
studies have addressed the requirements changes in scrum process. For instance, Lloyd
et al., addressed the problem of requirements changes during the development process
in distributed agile development [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. They proposed a supporting tool to help
managing requirements changes in distributed agile development. On the other hand, Sta˚lhane
et al., proposed to analyze the impact of technical changes [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. In particular, this study
focused on the safety requirements. Thus, two main questions have been addressed:
(i) will the requirement and design affect the safety? and (ii) will the update affect the
safety? Regarding the use of functionality measures in agile project, Commeyne et al.,
proved that the use of ISO standards to measure the size of agile projects is
mandatory [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. This study demonstrated the reliability of COSMIC in estimating the size and
therefore the effort required to accomplish the defined requirements.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Change Control Process</title>
      <sec id="sec-3-1">
        <title>Detailed User Story Description</title>
        <p>
          In scrum, there is no standard US representation. Thus, different templates have been
proposed mainly to describe what the users will need the software for. In addition, user
stories are used at a high level of details [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. This will impact the size measurement. In
order to guarantee the quality of measurement, we propose a detailed description of US
that represents all the information to apply COSMIC (see Fig. 3). Where:
– &lt;UserType&gt; is the user of the US referred to as the functional user in COSMIC.
– &lt;Action&gt; and &lt;Object&gt; are used to replace the concept “feature or functionality”
in the US description provided in section 2.1. In fact, the “feature or functionality”
is a combination of an action and an object that the action will be applied on.
– &lt;value or expected benefit&gt;: It is used to characterize the successful ending of US.
– &lt;NFR&gt; describes the non-functional requirements.
– &lt;Attachments&gt; any attachment that help defining the user story such as GUI.
6
The &lt;value or expected benefit&gt;, &lt;NFR&gt;, and &lt;Attachments&gt; are optional.
        </p>
        <p>In general, a US could have finer or coarser granularity than functional processes.
That is a US could be a fraction of a FP or a set of functional processes. In our study,
we consider that each US is associated to a FP. Thus, two user stories could not have the
same [&lt;UserType&gt;, &lt;Action&gt;, &lt;Object&gt;, and &lt;value or expected benefit&gt;]. The US
description in Fig. 3 provides more details in comparison with the old one. But, it does
not represent the functional sub-process. Hence, moving to the scenario description is
required to apply COSMIC. At this level, we distinguish the following concepts:
– &lt;User&gt;: External actor could be a human actor (e.g., moderator, customer, etc.) or
an external system in a direct relation with the software to be measured.
– &lt;ActionType&gt;: the action that will be applied on a data group is restricted to a
number of verbs (e.g., select, read, etc). These verbs are classified into four corpses:
entry actions, read actions, write actions, and exit actions (see Appendix). These
actions represent the sub-process in each US. Thus, a sub-process can be a data
movement or a data manipulation. This depends on whether or not it transfer data.
– &lt;DataTransfered&gt;: represents the data that have been transferred in each
subprocess. &lt;DataTransfered&gt; in COSMIC corresponds to the “data group” concept.
– &lt;ActionDefinition&gt;: gives a summary of the user story purpose.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Prioritizing User Stories</title>
        <p>Algorithm 1 is used to help prioritizing user stories in the product/sprint backlog.
Hence, it can be used when selecting user stories from the product backlog and when
re-organizing user stories in an on-going sprint after a change.</p>
        <p>
          In scrum, user stories are prioritized as requested by the PO [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. However, the PO
may not have enough knowledge about the implementation details. Hence, ordering
user stories based only on priority is not sufficient. In fact, the developer’s view is also
important in the user stories prioritization. Taking into account the developer’s
perspective is important to maximize the business value released at the end of every sprint.
Therefore, we propose to balance the US for PO and development team perspectives
according to mainly three parameters: importance, priority, and functional size. The
priority of user stories is defined by the PO (i.e., P1 is more prior than P2, P2 is more
prior than P3, etc.). The importance of a US can be Essential or Desirable. User stories
in the same cluster of classes (the same data base, service, etc.) have the same
importance. The functional size is measured using COSMIC.
        </p>
        <sec id="sec-3-2-1">
          <title>Algorithm 1: Prioritizing user stories</title>
          <p>Aim : Prioritizing user stories
Require: P(US) the priority of user story (US).</p>
          <p>Imp(US) the importance of user story (US).</p>
          <p>FS(US) the functional size of user story (US).</p>
          <p>Ensure : User stories organized by taking into account their priorities and importances
first of all and then their functional sizes.
1 begin
2 if Imp(USi) = Imp(USj) &amp; P(USi) != P(USj) then
3 Select the more prior user story ;
On the other hand, developers identify the status of a US that can be used to control
the development progress. Thus, the status of a US3, as shown in Fig. 4, can be:
– New is the status of a US in the product backlog.
– To do is the status of a US assigned to an on-going sprint.
– In Progress is the status of a US currently being implemented.
– To Verify is the status of a US ready for testing.
– Done is the status of a US tested with success in the customer environment.</p>
          <p>
            As it is described in [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ], we kept only the ”Done” and ”In Progress” status.
          </p>
          <p>New</p>
          <p>To Do</p>
          <p>In Progress</p>
          <p>To Verify</p>
          <p>Done
This section proposes a set of formulas that can be used to measure the software size
based on the US description. It must be noted that the FS of the product backlog can be
3
https://www.dreamstime.com/stock-illustration-scrum-task-kanban-board-sticky-noteswhiteboard-post-agile-software-development-hanging-tasks-team-image91765825
– FS(Si) is the functional size of sprint i (1 i n).
– FS(USi j) is the functional size of the user story j in Si.
– m is the number of user stories in sprint Si.</p>
          <p>The functional size of a user story is equal to the sum of the functional sizes of its
actions (see Equation 3).</p>
          <p>p
FS(U Si j) = å FS(Acti jk)
k=1
(1)
(2)
(3)
different from the FS of the increment product. In fact, changes always happen. Hence,
new functionality may appear, while others may be modified or deleted. The FS of the
product backlog is given by measuring the sizes of all sprints initially identified. While,
the FS of the increment product depends on the sizes of all the implemented sprints.</p>
          <p>The functional size of the product backlog or the increment product is equal to the
sum of the functional sizes of all the sprints it includes (see Equation 1).
n
FS(P) = å FS(Si)</p>
          <p>i=1
– FS(P) is the functional size of the product backlog or the increment product.
– FS(Si) is the functional size of sprint i.
– n is the number of sprints initially identified in the case of product backlog size
measurement or the number of implemented sprints in the case of increment
product size measurement.</p>
          <p>The functional size of a sprint is equal to the sum of the functional sizes of all the
user stories it includes (see Equation 2).</p>
          <p>m
FS(Si) = å FS(U Si j)
j=1
8</p>
          <p>Where:
Where:
Where:
– FS(USi j) is the functional size of the user story j in Si.
– FS(Acti jk) is the functional size of action Acti jk in USi j (1
– p is the number of actions in user story j.
i
n and 1
j
m).
3.4</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Steps for the Change Control Process</title>
        <p>To avoid any trouble in the project progress, following a control change process is
important. Fig. 5 illustrates our change control process. It starts when a change request
is submitted. A change request is documented in order to give a detailed description of
the change. A well change documentation must include the following items:
– Statement of the need: identify clearly the changed item that must be analyzed.
– Reasons for the change: describe the causes for changing user requirements.
– Conditions of Success: the requester define what he expects from the change.</p>
        <p>
          The documented change is submitted to the project team. The change revision with
the team is required especially for complex change. In our previous work [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], we
proposed an approach for evaluating FC request. We also proposed a set of algorithms
to decide about a change request (accept, defer, or deny). These decisions are made
based on the FS(FC) and the development progress. If a change is deferred or denied,
the development team must communicate the decision to the change requester. The
communication is needed in order to discuss the customer expectation, and the change
values and cost. The development team must explain to the PO how long the change is
going to take, and its impact on the project progress. After making the decision, it is
required to update the documents to track all changes that are to be implemented. The
change request is then implemented. It is send later for revision and testing.
1. Change request
4. Communicate
2. Sizing FC and FC
        </p>
        <p>impact analysis
[Defer or Deny]
3. Prioritizing US
and Making
decisions
Decision
[Accept]
5. Update documents (product
backlog, increment product, etc.)
7. Review and</p>
        <p>Testing</p>
        <p>6. Implementation
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Case Study and Tool</title>
      <sec id="sec-4-1">
        <title>Case Study</title>
        <p>The “E-commerce” is a web site developed by a team of engineering students. The web
site allows a customer to buy computer equipment on-line. It includes initially ten user
stories. After discussing their priority and measuring their sizes, these user stories are
initially classified into three sprint: S1(US5, US6, and US7), S2(US4, US8, US9, and
US10), and S3(US1, US2, and US3). The initial measurement results are given in Table
2. By applying our formulas in section 3.3, the total size of “E-commerce” is equal to:
FS(“E-commerce”) = FS(S1) + FS(S2) + FS(S3), where</p>
        <p>FS(S1) = FS(US5) + FS(US6) + FS(US7) = 4 CFP + 6 CFP + 6 CFP = 16 CFP
10</p>
        <p>FS(S2) = FS(US4) + FS(US8) + FS(US9) + FS(US10)</p>
        <p>= 3 CFP + 3 CFP + 3 CFP + 6 CFP = 15 CFP
FS(S3) = FS(US1) + FS(US2) + FS(US3)</p>
        <p>= 3 CFP + 3 CFP + 3 CFP = 9 CFP
Hence, the FS(“E-commerce”) is equal to 16 CFP + 15 CFP + 9 CFP = 40 CFP.</p>
      </sec>
      <sec id="sec-4-2">
        <title>User</title>
      </sec>
      <sec id="sec-4-3">
        <title>Stories</title>
        <p>US 1
US 2
US 3
US 4
US 5
US 8
US 9
US 10</p>
        <p>Applying Algorithm 1, US5, US6, and US7 have been selected in sprint S1. Table
4 provides the detailed scenarios of these three user stories. As planned, the
development team started by S1. The selected three user stories have been implemented in two
weeks. They moved then to sprint S3. US1, US2, and US3 have been selected to be
implemented in this sprint. As mentioned in Table 2, the priority of these user stories
is equal to P2. Whereas, the importance of US1 is Essential and that of US2 and US3 is
Desirable. Hence, according to Algorithm 1, the development team starts by US1.</p>
        <p>
          By the end of implementing US1, the PO proposes to add US11, US12, and US13
(see Table 3). The priority for all the added user stories is P2 and their importance
is Essential. The status of user stories initially in S3 are: US1 status = done and US2
status = US3 status = In Progress. The question here is whether to accept the FC and
implement it in S3 or defer the FC to the next sprint S2. In this case, the FC affects an
ongoing sprint and proposes the addition of three user stories. The total FS of undone
user stories is equal to 6 CFP. While, the FS(FC) is equal to 10 CFP. We classify the user
stories (initially in S3 and new ones) using Algorithm 1. For this purpose, we compare
the importance of the new user stories (US11, US12 and US13) with the user stories in
S3 with status = in progress (US2 and US3). Hence, the user stories will be organized
as follow: US12, US13, US11, US2, and US3. The user stories coming from the FC
appear in the beginning of the list. Thus, by applying the Algorithm for FC decision
making in an on-going sprint in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], we make the following recommendations.
– Accept US11, US12, and US13.
– Defer US2 and US3 to the next sprint S2.
In practice, after all the changes proposed during its implementation, this product
has been delivered after six sprints each one lasts for two weeks.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>User</title>
        <p>Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator
Administrator</p>
      </sec>
      <sec id="sec-4-5">
        <title>Action</title>
        <p>Enter
Verify
Add
Receive
Select
Read
Receive
Enter
Save
Receive
Select
Search
Receive
Select
Delete
Receive</p>
      </sec>
      <sec id="sec-4-6">
        <title>Data ferred</title>
        <p>Article Data
Article Data
Article Data
E /C message
Article ID
Article ID
Article Data
Article Data
Article Data
E /C message
Article ID
Article ID
Article Data
Article ID
Article ID
E/C message
trans- Status
To Do
To Do
To Do</p>
      </sec>
      <sec id="sec-4-7">
        <title>Data CFP</title>
      </sec>
      <sec id="sec-4-8">
        <title>Movement</title>
        <p>Entry 1
Read 1
Write 1
eXit 1
FS(US5) = 4 CFP
Entry 1
Read 1
eXit 1
Entry 1
Write 1
eXit 1
FS(US5) = 6 CFP
Entry 1
Read 1
eXit 1
Entry 1
Write 1
eXit 1
FS(US5) = 6 CFP
12
4.2</p>
      </sec>
      <sec id="sec-4-9">
        <title>Tool</title>
        <p>User requirements are the basis of software project. In agile, they are described by user
stories. The US description is a valuable document for the development team. Hence,
if user stories are poorly described, the software development/maintenance will be
critically vulnerable. In fact, well detailed user stories are not always available in practice
since they require much more time. However, the more time spent at the beginning of
the process, the little time will be required later. Consequently, a detailed description of
a US is needed. So that any change can be carefully monitored and reported.</p>
        <p>On the other hand, COSMIC is a flexible method that readily fits into the scrum
process. We proved in this study that COSMIC can be applied throughout the process even
within an ongoing sprint. Functional changes can be requested at any time and
evaluated any where for better decisions-making. Thus, COSMIC provides greater flexibility
to scrum process without disrupt its structure. In addition, the proposed process can be
extended for the hidden requirement and high level detailed requirement by using
approximate measurement approaches. In the case of a technical change (i.e., a change is
the NFR) that requires the implementation of additional FUR, the change is translated
into functional change. Hence, it can be measured and evaluated using COSMIC.</p>
        <p>The tool has been tested using one case study “E-Commerce”. In order to ensure the
efficiency of our change control process, testing the tool and algorithms in an industrial
environment is required. Feedback from practitioners is necessary to improve the tool.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>In practice, changes in user requirements are inevitable and present a main issue. Any
deviation from user requirements may lead to project failure or induce an extra effort
and much time through the software life cycle to satisfy a change request.</p>
      <p>This paper proposed an assessment tool that support a FC control throughout the
scrum process. Our tool is based on a detailed description of user stories and their
sizing with COSMIC. In fact, the evaluation of a change request and the decision made
responding to the change are based mainly on its functional size and its impact on the
development progress. This avoid any misunderstanding due to the subjective
evaluation of the change (done mostly by developers). Hence, the proposed tool adds
objectivity to the scrum process. It can be used by decision-makers to meet customer’s needs,
identify problems in future projects, and estimating future software project effort.</p>
      <p>For further work, we consider that approximate/rapid change evaluation is required
especially for an urgent change request. In addition, we consider that it is required to
use the proposed tool in real industrial environment.</p>
    </sec>
    <sec id="sec-6">
      <title>Appendix</title>
      <p>Entry corpus: Assign, change, choose, click, create, edit, give, input, modify, provide,
re-enter, select, submit, type, update.</p>
      <p>Exit corpus: display, edit, list, output, post, present, print, return, send, Show update,
view.</p>
      <p>Read corpus: find, get, obtain, post, read, recognize retrieve, Validate, Verify.
Write corpus: add, archive, change, create, define, delete, edit, insert, record, register,
remove, save, store, Update.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. ISO/IEC 14143-1:
          <string-name>
            <given-names>Information</given-names>
            <surname>Technology - Software</surname>
          </string-name>
          Measurement - Functional
          <source>Size Measurement. Part 1: Definition of Concepts</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <article-title>Scrum software development process (</article-title>
          <year>2018</year>
          ), https://www.maxxor.com/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Abran</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desharnais</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>K.B.R.D.S.C.W.S.B.D.F.P.L.A.S.L.V.F.B.C.G.C.M.L.S.H.</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>W.:</surname>
          </string-name>
          <article-title>Guideline on Non-Functional &amp; Project Requirements: How to consider non-functional and project requirements in software project performance measurement, benchmarking and estimating (</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ambler</surname>
            ,
            <given-names>S.W.:</given-names>
          </string-name>
          <article-title>User Stories: An Agile Introduction (</article-title>
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berardi</surname>
            <given-names>E.</given-names>
          </string-name>
          , Buglione L.,
          <string-name>
            <surname>S.L.S.C.T.S.</surname>
          </string-name>
          :
          <article-title>Guideline for the use of cosmic fsm to manage agile projects</article-title>
          ,
          <source>v1.0</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>User Stories Applied: For Agile Software Development</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Commeyne</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Djouab</surname>
          </string-name>
          , R.:
          <article-title>Effort Estimation with Story Points and COSMIC Function Points: An Industry Case Study (</article-title>
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <source>COSMIC: The COSMIC Functional Size Measurement Method, Version 4.0</source>
          .2,
          <string-name>
            <given-names>Measurement</given-names>
            <surname>Manual</surname>
          </string-name>
          (
          <year>October 2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Desharnais</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kocaturk</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Using the cosmic method to evaluate the quality of the documentation of agile user stories</article-title>
          .
          <source>In: 2011 Joint Conference of the 21st International Workshop on Software Measurement and the 6th International Conference on Software Process and Product Measurement</source>
          . pp.
          <fpage>269</fpage>
          -
          <lpage>272</lpage>
          (
          <year>Nov 2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dikert</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paasivaara</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassenius</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Challenges and success factors for large-scale agile transformations</article-title>
          .
          <source>Journal of Systems and Software 119(C)</source>
          ,
          <volume>87</volume>
          -
          <fpage>108</fpage>
          (
          <year>Sep 2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fairley</surname>
          </string-name>
          , R.E.:
          <article-title>Managing and Leading Software Projects</article-title>
          . Wiley-IEEE Computer Society Pr (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Furtado</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Trace++: A traceability approach to support transitioning to agile software engineering</article-title>
          .
          <source>In: The 24th International Requirements Engineering Conference (RE)</source>
          . pp.
          <fpage>66</fpage>
          -
          <lpage>75</lpage>
          (
          <year>Sept 2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gilb</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Why agile product development systematically fails, and what to do about it! (</article-title>
          <year>2018</year>
          ), https://www.gilb.com/blog/why-agile
          <article-title>-product-development-fails-and-what-to-do-about-it</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lloyd</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moawad</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kadry</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A supporting tool for requirements change management in distributed agile development</article-title>
          .
          <source>Future Computing and Informatics Journal</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Schwaber</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Agile Project Management with Scrum (Developer Best Practices)</article-title>
          .
          <source>Microsoft Press; 1 edition</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sellami</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haoues</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borchani</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouassida</surname>
          </string-name>
          , N.:
          <article-title>Orchestrating functional change decisions in scrum process using cosmic fsm method</article-title>
          .
          <source>In: the 13th International Conference on Software Technologies (in press)</source>
          .
          <source>ICSOFT '18</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Sta˚lhane, T.,
          <string-name>
            <surname>Hanssen</surname>
            ,
            <given-names>G.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Myklebust</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haugset</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Agile change impact analysis of safety critical software</article-title>
          . In: Bondavalli,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ceccarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ortmeier</surname>
          </string-name>
          ,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (eds.) Computer Safety, Reliability, and Security. pp.
          <fpage>444</fpage>
          -
          <lpage>454</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Taibi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenarduzzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahmad</surname>
            ,
            <given-names>M.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liukkunen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Comparing communication effort within the scrum, scrum with kanban, xp, and banana development processes</article-title>
          .
          <source>In: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering</source>
          . EASE'
          <volume>17</volume>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>