<!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 />
    <article-meta>
      <title-group>
        <article-title>A Goal Model for Crowdsourced Software Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fiza Siyal</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xavier Franch</string-name>
          <email>franch@essi.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitat Politècnica de Catalunya - BarcelonTech</institution>
          ,
          <addr-line>Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universitat Politècnica de Catalunya - ESSI</institution>
          ,
          <addr-line>Campus Nord, Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Crowdsourced Software Engineering (CSE) is the act of undertaking any external software engineering tasks by an undefined, potentially large group of online workers in an open call format. Using an open call, CSE recruits global online labor to work on various types of software engineering tasks, such as requirements extraction, design, coding and testing. The field is rising rapidly and touches various aspects of software engineering. CSE has grown significance in both academy and industry. Despite of the enormous usage and significance of CSE, there are many open challenges reported by various researchers. In order to overcome the challenges and realizing the full potential of CSE, it is highly important to understand the concrete advantages and goals of CSE. In this paper, we present a goal model for CSE, to understand the real environment of CSE, and to explore the aspects that can somehow overcome the aforementioned challenges. The model is designed using RiSD, a method for building Strategic Dependency (SD) models in the i* notation, applied in this work using iStar2.0. This work can be considered useful for CSE stakeholders (Requesters, Workers, Platform owners and CSE organizations).</p>
      </abstract>
      <kwd-group>
        <kwd>Crowdsourced software engineering</kwd>
        <kwd>Goal modeling</kwd>
        <kwd>i*</kwd>
        <kwd>iStar</kwd>
        <kwd>SD model</kwd>
        <kwd>Crowdsourced software development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The term ‘Crowdsourcing’ was first widely accepted in 2006 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Howe defined as the
act of a company or institution taking a function once performed by employees and
outsourcing it to an undefined (and generally large) network of people in the form of
an open call [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In 2008, Brabham [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] discussed that crowdsourcing has become
popular in all type of companies, e.g. crowdsourced t-shirt design, photography and other
media design, etc., and remarkably, to solve scientific problems.
      </p>
      <p>
        More than ten years after, Mao et al. published a comprehensive literature review on
crowdsourcing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Since Howe’s definition was the most widely accepted
crowdsourcing definition in the papers surveyed in this review, Mao et al. chose to define
      </p>
      <p>
        Copyright 2018 for this paper by its authors. Copying permitted for private and academic purposes.
Crowdsourced Software Engineering (CSE) simply as an instantiation of Howe’s
definition: “CSE is the act of undertaking any external software engineering tasks by an
undefined, potentially large group of online workers in an open call format” [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Using
an open call, CSE recruits global online labor to work on various types of software
engineering tasks, such as requirements extraction, design, coding and testing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. CSE
tasks demand reliable developers and enough participation to guarantee a qualified
asset that can be delivered to the client.
      </p>
      <p>CSE is implemented by many successful crowdsourcing platforms, such as
TopCoder (www.topcoder.com), uTest (www.utest.com), Mob4Hire
(www.mob4hire.com) and Bugcrowd (www.bugcrowd.com). Therefore, developers
may have difficulties in selecting which one is the most suitable for their needs. We
suggest in this paper that CSE stakeholders could use a model-based approach to select
the platform with all mentioned features that best fits to their needs. We propose the
use of goal models expressed in iStar2.0 in order to understand the most important
actors, goals, dependencies and resources, among others, involved in CSE. The purposes
of goal models in this context are: 1) to visualize and understand the real environment
of CSE using iStar2.0 constructs (mainly actors and dependencies); 2) to explore (based
on challenges and proposed solutions from literature) how to realize the full potential
of CSE in order to make it an ideal paradigm for software engineering projects: 3)
knowing the requirements of the best CSE platforms; 4) improving the work processes
of CSE environment.</p>
      <p>The rest of the paper is organized as follows: Section 2 describes the background of
CSE, Section 3 presents the proposed goal model of CSE, and finally Section 4
concludes the work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        In 2017, Mao et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] presented a comprehensive survey of the use of CSE. They
reviewed the definitions of crowdsourcing and derived their own definition (already
quoted in the previous section) together with a taxonomy. Mao et al. further analyzed
the software engineering domains, tasks and applications for crowdsourcing and the
platforms and stakeholders involved in realizing CSE solutions. As they report, CSE
generally involves three types of actors: Employers (aka Requesters), who have
software development work that needs to be done; Workers, who participate in developing
software; Platforms, which provide an online marketplace within which requesters and
workers can meet. Fig. 1 shows these actors and their relationships as depicted in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Mao et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] stated that crowdsourcing utilizes an open call format to attract online
developers to accomplish various types of software development tasks such as
architecture, component design, component development, testing and bug fixing. They
stated the problems from two different perspectives: developer’s perspective, and
platform’s perspective. To tackle the reported problems, the authors proposed a developer
recommendation framework. They performed an empirical study for the evaluation of
the proposed framework. The experimental results show that their recommender system
outperforms the baseline method and can achieve promising accuracy and diversity.
      </p>
      <p>
        Other papers, e.g. Latoza and van der Hoek [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Peng et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and Stol et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
among others, discussed on challenges, motivations, forces, limitations and current
practices. Due to space reasons we cannot survey them here, but they have influenced
our proposal.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Goal Model for CSE</title>
      <p>
        This section presents a goal model for CSE. The model is designed by following the
RiSD methodology proposed by Franch et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We use the iStar 2.0 notation [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
and for modeling, the pIstar tool [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. We will transform the goals into tasks, resources
or quality at different steps during the phase, which is actually what the RiSD
methodology is.
      </p>
      <p>The methodology consists of three phases: domain analysis, social system
construction, and socio-technical system construction. Due to space reasons, we focus on the
second one (considering that the background section above is a kind of substitute of the
domain analysis).</p>
      <p>
        This second phase builds the social system model in the form (SD) model. The model
is constituted iteratively. This model does not include the software system and therefore
it focuses on the stakeholder needs [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. For this reason, and taking the statement from
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], we identify a platform vendor as a CSE organization, an actor who owns a platform,
and is a manager/admin/vendor of the platform. We apply next the activities defined in
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for Phase II.
      </p>
      <sec id="sec-3-1">
        <title>Activity II.1: Identify departing actors.</title>
        <p>Fig. 2 shows the actors involved in CSE are: Requester, Worker, and CSE
organization. Requester and Worker are the entities who achieve their goals with the
contribution of the CSE organization, whereas the CSE organization is responsible for providing
online marketplace to Requester for receiving the outsourced requests of software
engineering (SE) tasks and Workers to develop the solutions of outsourced tasks on
payment.</p>
        <p>
          Stol and Fitzgerald [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] described that an important consideration for a
crowdsourcing customer (Requester) is to decide on an appropriate remuneration that will attract
sufficient participants (Worker) to a crowdsourcing contest. Based on this we come to
know that appropriate remuneration is the major concern of a worker, so we identified
the main goal of worker as "Money earned".
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Activity II.2: Establish goal dependencies among actors</title>
        <p>
          Fig. 3 illustrates the goal dependencies among the actors. Goals of the actors depend
on other actors. Latoza and van der Hoek [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] mentioned that the competition model
used by the topcoder crowdsourcing platform is similar to traditional outsourcing, in
which a client requests work and pays for its completion, so one more dependency
added "Payment received" from CSE organization to Requester.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Activity II.3: Classify and rename the dependum of the added dependencies</title>
        <p>Fig. 4 shows the transformations of dependencies. Transformations are made as: the
goal "SE task outsourced" can be achieved by executing a task "Outsource SE task";
the goal "payment received" transformed to a task "Receive payment"; the goal
"Participated in development" classified and renamed to a task " Develop SE task"; and the
goal "SE solution provided" changed to a resource "SE task solution".</p>
      </sec>
      <sec id="sec-3-4">
        <title>Activity II.4: Check for new actors and/or dependencies</title>
        <p>
          To elaborate more the CSE social scenario, new dependencies have been added. Fig.
5 shows the new dependencies named: “Task reqs. Identified”, “Solution accepted”,
and “Appreciation received”. These dependencies are identified in connection with
previous dependencies. Starting from Requester, after submitting the outsource request to
CSE organization, the next step would be to identify the task requirements by CSE
organization. Similarly CSE organization may accept a solution provided by a Worker
as a result of developing a task. Further a Worker depends on a Requester for
acceptance of his provided solution, and it is shown by introducing dependency
"Appreciation received". Also a task "Receive payment", identified in Fig. 4 has been
transformed into a resource "Payment of solution".
We have proposed a goal model for CSE in order to explore its real environment. Since
past few years CSE has been the point of attraction for the researchers in the field of
software engineering. From literature it has been noted that crowdsourcing is a concept
been used as a problem solving approach in variety of domains. We selected the CSE
domain to explore its environment by considering CSE process, actors, goals, and
dependencies among actors involved. The model has been designed by following the
RiSD methodology. We used the iStar 2.0 notations and for modeling, the pIstar tool.
In this work, we focused on constructing the social system (known as strategic
dependency model) for CSE. At present, the models show the work processes and associations
among stakeholders of CSE based on goal dependencies. The final model resulting
from the full application of the RiSD methodology will be based on proposed solutions
of challenges reported in literature. A simple questionnaire-based survey could be used
to evaluate all the models that part of this paper and also built as future work. Target
participants would be all CSE stakeholders, including CSE organizations, platform
vendors, and workers/developers. Once the final models are available, usual techniques
can be applied to analyse the results, for instance definition and evaluation of metrics
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], satisfaction analysis [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and risk analysis [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Also, using them for
reengineering current software development processes [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] would be a possible line of
action.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. The Rise of Crowdsourcing, Wired, https://www.wired.com/
          <year>2006</year>
          /06/crowds/, 1 June 2006.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Crowdsourcing</surname>
          </string-name>
          : A Definition, http://crowdsourcing.typepad.com/cs/2006/06/crowdsourcing_a.html,
          <issue>2</issue>
          <year>June 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Brabham</surname>
            ,
            <given-names>D. C.</given-names>
          </string-name>
          :
          <article-title>Crowdsourcing as a Model for Problem Solving</article-title>
          . Convergence: The
          <source>International Journal of Research into New Media Technologies. Sage Publications London</source>
          , Los Angeles, New Delhi and Singapore.
          <volume>14</volume>
          ,
          <issue>1</issue>
          ,
          <fpage>75</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Mao</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Capra</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>A survey of the use of crowdsourcing in software engineering</article-title>
          .
          <source>The Journal of Systems and Software</source>
          .
          <volume>126</volume>
          ,
          <fpage>57</fpage>
          -
          <lpage>84</lpage>
          , (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mao</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Developer Recommendation for Crowdsourced Software Development Tasks</article-title>
          .
          <source>In: IEEE Symposium on Service-Oriented System Engineering</source>
          , (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Latoza</surname>
          </string-name>
          , T. D.,
          <string-name>
            <surname>Hoek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Crowdsourcing in Software Engineering: Models, Motivations, and Challenges</article-title>
          .
          <source>In: IEEE Software</source>
          , vol.
          <volume>33</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>74</fpage>
          -
          <lpage>80</lpage>
          , (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Peng</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ebert</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Collaborative Software Development Platforms for Crowdsourcing</article-title>
          .
          <source>In: IEEE Software</source>
          , vol.
          <volume>31</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>36</lpage>
          , (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Stol</surname>
          </string-name>
          , K.-J., LaToza, T. D.,
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Crowdsourcing for Software Engineering</article-title>
          . In: IEEE software, vol.
          <volume>34</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>36</lpage>
          . (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mayol</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ayala</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cares</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Navarrete</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haya</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Botella</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Systematic Construction of i* Strategic Dependency Models for Sociotechnical Systems</article-title>
          .
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          .
          <volume>17</volume>
          ,
          <issue>1</issue>
          ,
          <fpage>79</fpage>
          -
          <lpage>106</lpage>
          , (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Fabiano</surname>
            <given-names>Dalpiaz</given-names>
          </string-name>
          , Xavier Franch,
          <source>Jennifer Horkoff. iStar 2</source>
          .
          <article-title>0 Language Guide</article-title>
          . arXiv:
          <volume>1605</volume>
          .
          <fpage>07767</fpage>
          , (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>11. piStar tool, http://www.cin.ufpe.br/~jhcp/pistar/</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Stol</surname>
          </string-name>
          , K.-J.,
          <string-name>
            <surname>Fitzgerald</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Researching Crowdsourcing Software Development: Perspectives and Concerns</article-title>
          .
          <source>In: Proceedings of the 1st International Workshop on CrowdSourcing in Software Engineering CSI-SE</source>
          .
          <fpage>7</fpage>
          -
          <lpage>10</lpage>
          . ACM, New York, (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>A Method for the Definition of Metrics over i* Models</article-title>
          .
          <source>In: 21st International Conference Advanced Information Systems Engineering (CAiSE)</source>
          , pp.
          <fpage>201</fpage>
          -
          <lpage>215</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Comparison and Evaluation of Goal-Oriented Satisfaction Analysis Techniques</article-title>
          .
          <source>Requirements Engineering Journal (REJ)</source>
          , Springer, pp.
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          , (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          et al.:
          <article-title>Managing Risk in Open Source Software Adoption</article-title>
          .
          <source>In: Proceedings of the 8th International Joint Conference on Software Technologies (ICSOFT)</source>
          , pp.
          <fpage>258</fpage>
          -
          <lpage>264</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maiden</surname>
          </string-name>
          , N.:
          <article-title>A goal based round-trip method for system development</article-title>
          .
          <source>In: Proceedings of 11th Int. Working Conference on Requirements Engineering: Foundations for Software Quality (REFSQ)</source>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>86</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>