Using Social Network and Gamification to Improve Stakeholders Involvement in Requirement Engineering

Yaman Nasser
Nerd For Tech
Published in
16 min readJul 12, 2021

--

1. Abstract

Stakeholders’ involvement is considered a key success factor in the requirement engineering process. It has been reported by many researchers that stakeholders’ involvement has a positive effect on their satisfaction and system acceptance. The traditional techniques, such as interviews, workshops, and focus groups are not easily applicable to gather requirements by geographically distributed requirements engineering teams, which require direct interaction with and amongst stakeholders. In this study, we propose a new framework titled ”Sharek”. Sharek is a framework used at the early stage of the software development life-cycle. It incorporates social network features into requirement engineering activities to enable a geographically distributed Requirements Engineering team to get involved during each activity. In addition, it incorporates gamification techniques into each activity to increase stakeholders engagement during the whole process.

2. Introduction

The main activities of requirement engineering include requirement elicitation, prioritization, and negotiation. On the one hand, requirement elicitation involves capturing and understanding the stakeholders’ requirements. On the other hand, the main concern of Requirement Prioritization is to achieve consensuses among stakeholders on a set of candidate requirements. Moreover, Requirement Negotiation is concerned with providing new options and resolving conflicts amongst requirements.

Many software projects have failed to deliver within the allotted time and budget limitations due to inaccurate requirements. This is often caused by a lack of stakeholder involvement during the requirement engineering process. In contrast, high stakeholder involvement leads to a higher acceptance rate of the system and higher stakeholder satisfaction. Stakeholder involvement is a challenge, especially when a requirement engineering team involves stakeholders who are geographically distant. This geographical distance forces a team to gather requirements in a fragmented environment in which techniques such as focus groups, workshops, and interviews are not applicable, due to lack of direct interaction between the stakeholders. There are a group of collaborative support tools such as videoconferencing, email, chat and shared work-spaces that have been used to enhance the distributed user collaboration and communication. However, these tools do not solve the stakeholders’ geographically distribution challenges such as Different Distances, cultures, time zones, and technology variations.

This study aims to allow geographically distributed stakeholders to involvement in requirements engineering activities (i.e. elicitation, prioritization, and negotiation). In addition, improve their involvement and keep them motivated during the whole software engineering activity task. A possible means to achieve our objective is by using a social network and gamification. A social network is an Internet-based community; it allows globally distributed users to communicate and collaborate at any time from any place. Furthermore, it contains many features such as posting, comment on the post, chatting, voting, user profile, and groups which encouraging stakeholders participation, during requirements elicitation, prioritization and negotiation. The gamification principle is using game elements and game design techniques in a non-game context. Many researchers started to use gamification in numerous domain such as education, health, finance, productivity and entertainment media etc., to improve the user behaviour, social relationship, accomplishment and their skill.

In this study, we proposed a new framework titled (Sharek). Sharek used the social network technique to allow globally distant stakeholders to communicate and collaborate at any time, from anywhere. It incorporates the social network features (such as posting, reply to a post, voting and rating, user profile, chat session, and focus groups) into requirement engineering tasks to facilitate stakeholders communication and collaboration. The Gamification strategy has been designed based on the 6D Gamification Design Framework, which is one of the most used gamification design frameworks. Sharek utilizes the user story to allow stakeholders to define their requirements in a semi-structured, simple and uniformly. A Sharek tool has been developed which is an Internet-based social network using web 2.0 technologies for automated and implements Sharek framework. It contains a set of characteristics to improve stakeholder involvement including (1) Its design as a popular social network to improve the user experience and decreasing the learning curve. (2) It supports mobile platforms to allow large numbers of potential stakeholders to be involved. (3) It supports multi-languages to enable users to use it regardless of their native languages.

3. Sharek: A Framework for Involving geographically distant Stakeholders during the Requirement Engineering

In this section, a new framework titled” Sharek” is proposed. Sharek is a framework used at the early stage of the software development life-cycle. It incorporates social network features and gamification techniques into requirement engineering activities. To enable geographically distributed stakeholders to involved and engaged during the requirement elicitation, negotiation, and prioritization. This section describes the Sharek framework core and process. In addition, how the Sharek process is gamified using the 6D Gamification Design Framework.

3.1 Sharek Framework Core

Figure 1: Sharek Framework Core

Sharek Framework core mainly based on three techniques as shown in Fig.1 below.

  1. Social Networks: A social network is an Internet-based community; built on web 2.0 technologies and allows globally distributed users to communicate and collaborate at any time from any place. Furthermore, it contains many features such as posting, comment on the post, chatting, voting, user profile, and groups which encouraging stakeholders participation, during requirements elicitation, prioritization and negotiation. Therefore Sharek adapted the social network to support the geographically distributed stakeholders involvement during requirement engineering activities (i.e. elicitation, prioritization and negotiation).
  2. User Stories: A user story is a good technique to explore and understand the user requirements gather the user requirements; it one of the most common techniques for exploring and understanding the user requirements. In addition, its simplicity, easy to learn and understandable. Therefore Sharek adapted the user story to support gathering the user requirements in a semi-structured way, during the requirement elicitation activity.
  3. Gamification: The gamification principle is using game elements and game design techniques in a non-game context. It used by marketers and website product managers for maximizing customer engagement. An example of that is Stack Overflow which is a question-and-answer website for the developer; users receive points and badges when they are performing a specific action or task. Many researchers started to use gamification in numerous domain such as education, health, finance, productivity and entertainment media etc., to improve the user behaviour, social relationship, accomplishment and their skill. Therefore Sharek adapted the Gamification to gamify various requirement engineering activities to improve stakeholders’ engagement and keep them motivated during the whole process.

3.2 Requirement Engineering Activities Supported by Sharek

Requirements Engineering Activities consists of many tasks Fig.2 below shows the tasks that are supported by the Sharek framework.

Figure 2: Requirement Engineering Activities supported by Sharek

3.2.1 Requirement Elicitation

Stakeholders Identification and defining User Requirements are two major tasks in the Requirements Elicitation phase.

  1. Stakeholders Identification: Identifying the right stakeholders at the early stages of the Requirements Engineering process, is crucial to identify complete system requirements. Sharek supports iterative stakeholders involvement during the requirements engineering process, and then it supports their participation in various tasks related to requirement elicitation, prioritization and negotiation. Sharek supports two groups of stakeholders: system developers and system users.
  • System developers are those technical people including requirements engineering, developers and testers.
  • System users are those people who have an interest in using the system or affected by the system, such as users, customers, business owners and other entities.

2. Defining User Requirements: Sharek has adapted the user stories to gather user requirements (See the Second Activity of Sharek process in subsection3.3). Since user stories are used to elicit the requirements from the user perspective at a high level of abstraction. Each user story describes a goal a user wants the achieve, therefore a participant should describe its role in the system, the goal would like to achieve and reason for that goal, and the scenario to achieve the goal.

3.2.2. Requirement Prioritization

Sharek supports Requirement Prioritization by allowing stakeholders to classify the requirements based on their importance, then ranking them. Using the categorization and ranking together can improve the efficiency of requirements prioritization.

  1. Requirements Categorization: Requirements Categorization is the task of classifying the user stories based on their importance to the stakeholders. So each participant classifies the user stories into (High, Medium and Low).
  • High: Requirements are highly important, and ignoring them might lead to a system failure.
  • Medium: Requirements are of medium importance, but the Stakeholders can tolerant their modification, either by postponing their implementation for later releases or modify them
  • Low: Requirements are of low importance means that stakeholders prefer to have them on the system, but ignoring them will not affect their acceptance to the system.

2. Requirements Ranking: Ranking is the task that aims to assign a numerical weight for each requirement in the same category. The Weights are assigned using a 5-point Likert scale in which 5 is highly important and 1 is less important in High and medium categories. Where 5 is high unimportant and 1 is less unimportant in the low category. Consequently, it would be possible to order the requirement based on their importance.

For sorting the prioritized user story list, Sharek Framework uses the following formula.

It measures the user stories score by calculating the summation of multiplication of stakeholder voting by stakeholder rating for each user story. Where C and R denote user categorization value (i.e. it classified into three categories including Low:-2, Medium:1 and High:2) and user ranking value (i.e from 1 to 5 ) respectively of each user story. n refers to the number of stakeholders were involved.

3.2.3. Requirement Negotiation

The main aim of negotiating the requirements is to identify conflicts between the requirements and then negotiate their resolutions. Sharek supports Requirement Negotiation by applying two tasks:

  1. Negotiate User Story: Based on the Issue-Based Information System (IBIS), stakeholders would be able to create new issues related to the user stories, such as an alternative scenario, enhancement/modification suggestion, objections and Criticism see Fig.3.
Figure 3: User story negotiation based on IBIS

2.Finding a resolution: this task aim to trade-off between various options that have been collected from the” Negotiate User Story” step and a decision will be made to close the discussion. This task includes ranking for the options and voting on alternatives.

3.3. Sharek Framework Process

The Sharek process as illustrated in Fig.4 below, contains a set of activities that adapts the social network’s features (see Fig.2) that facilitate stakeholders involvement during requirement engineering tasks. The Sharek process begins by identifying the stakeholders and ends with a list of user stories that are prioritized and approved by the stakeholders.

Figure 4: Sharek Process

1. First Activity: Identifying Stakeholders As explain in subsection.3.2.1, Stakeholder identification is an iterative and collaborative process in Sharek. In the beginning, an initial set of stakeholders is identified by the requirement engineer, who send invitations to participate in requirement gathering tasks. During the course of a task, the stakeholder list is maintained and updated. Accordingly, the current stakeholders can invite more candidate stakeholders, whose involvement is important, to participate in the following requirement gathering task; this will ensure that none of the important stakeholders is excluded. For stakeholders to participate within the Sharek workspace, stakeholders must create their profiles, which is a task similar to a sign-up on any social network. In addition to the general information, such as e.g. Stakeholder name, Gender, Age, email .etc., the profile collects information related to the project, such as the role of the stakeholders and their responsibilities or duties. Invitation messages are sent to the stakeholders, to their emails.

2. Second Activity: Generate User Stories This activity aims to gather user stories in a semi-structured format. Therefore to articulate better user requirements. Sharek adapted a question-and-answer method to gather the user stories as illustrated in Table.1 below: After stakeholders post their user stories to a story wall, they become visible to all stakeholders in the same group.

Table 1: Adapted a question-and-answer method to gather the user stories

3. Third Activity: Prioritize The User Stories this activity aims to prioritize user stories, during which stakeholders prioritize the user stories that were published on the story wall. The Prioritization process has been explained in section.3.2.2.

4. Forth Activity: Negotiate the User Story including two tasks:

(a) Collecting new options: user stories are extended by attaching new options to them. Options can be new scenarios, rationales, rules or suggestions.

There are two techniques Sharek has applied to collect options from stakeholders:

i. Reply to a post, which is a mechanism that is used by the social network systems to enable stockholders to comment on a specific post. Stakeholders select a user story to negotiate and then post an option. Sharek prompts Stakeholders to tag the option by select the appropriate hash-tag from the hash-tags list such as new scenarios, rationales, rules or suggestions. etc.

ii. Chatting: is a mechanism to allow stakeholders to communicate in asynchronous mode. The chatting threads are added to the user stories.

(b) Voting: is a mechanism that allows the Stakeholder to categorize the options as discussed in section 3.2.2 above.

3.4. Gamify Sharek Process

This section discusses the Gamification strategy that has been used to gamify the Sharek process. The Gamification strategy has been designed based on the 6D Gamification Design Framework. The 6D framework is a design process with six steps, see Fig.5. We used the 6d framework because it is one of the newest and widely used Game Design Techniques.

Figure 5: 6D Gamification Design Framework

3.4.1. Define The Business Objectives (Goals)

This step about the main goals needs the gamified system to achieve. The main goals of the Gamify Sharek Framework are to improvement of the stakeholders’ engagement, motivation, productivity and performance during the requirement elicitation, prioritization and negotiation.

3.4.2. Define Target behaviours

This step focused on identifying what users need to do to achieve the main goals. The stakeholder in Sharek is the system stakeholders who participate in the requirement engineering process. The target behaviours of them as the following:

  • During Requirement Elicitation: The target behaviour of this activity to improve stakeholder identification and user story generation as follows:

Stakeholder Identification: We need to motivate stakeholders to accept the invitation to participate in the requirement engineering process, and encourage them to involve new important stakeholders.

User Story Generation: We need to improve the stakeholder productivity and quality during writing new user stories, to motivate them to complete their user stories. In addition, motivating them to enhance the quality of their user stories.

  • During Requirement Prioritization: The target behaviour of this activity is to improve stakeholders collaboration and productivity during the prioritization, by encouraging them to prioritize user requirements (i.e. Increase stakeholders productivity), which include voting and ranking all user stories that are listed on the user stories wall.
  • During Requirement Negotiation: The target behaviour of this activity is to improve stakeholder collaboration and productivity during the negotiation, by motivating stakeholders to participate in discussion and negotiation sessions. So that, can provide new options, and finished the user story in a short time (i.e. Increase stakeholders productivity, collaboration and innovations).

3.4.3. Define Players

This step focuses on the user (i.e the player) that will be participating in the gamified system; it one of the important game thinking that should be used, where the system can design in such a way that appropriate for these people. Different types of players were identified:

  1. The Development group, such as software engineers, and business analysts. Based on the Bartles player types as given in, these types of stakeholders are considered as Socializer and Explorers.
  2. The User group, such as system users and customers. Based on the Bartles player types as given in, these types of stakeholders are considered as the Achievers or Killers.

3.4.4. Devise activity loops

There are two types of activity loops in a gamified system to increase Stakeholder motivation.

  1. Engagement loop represents the consent process that gives the user tasks to do to be motivated to take action. Then, when the user accomplishes a task, feedback will be provided; this motivates the user to do more actions.
  2. Progression stairs represent the user’s journey in some gamified tasks which helps to keep the gamified task more interesting. In addition, it captures the user’s progression to keep users motivated and avoid boredom.

This subsection discusses how to use the Engagement loop and Progression stairs to gamify the Sharek process (see Fig.6), which illustrate the summary of the gamified process.

Figure 6: Gamify Sharek Process

1.Engagement Loops ( Motivators, Actions and Feedback): For each stakeholder, the Sharek engagement loops start when the stakeholder is invited into the Sharek group, to participate during the requirements elicitation, prioritization, and negotiation activity. To motivate stakeholders during the requirement engineering process, the stakeholder will be informed when a task is completed. Feedback is given to stakeholders after completing the tasks. Feedback is communicated in various ways, such as points, resources, badges and leader-boards. Table 2 summarizes the actions which stakeholders need to take to accomplish a requirement engineering task and give feedback.

Table 2: Engagement Loops ( Motivators, Actions, Feedback)

There are different types of feedback is used. A Detailed description of Sharek feedback as following:

(a) Points: Points are types of rewards that are used for encouraging users to perform activities and take action; it is can increase user interest and excitement. A Stakeholder can earn the points by the actions taken. The points value were determined in an exploratory manner. These points still not validated. However, these value emphasizes the importance of stakeholders involvement during the requirement elicitation, prioritization, and negotiation.

There are different types of points to be earned as follows:

i. Ideator: It has used to reflect the stakeholder performance (i.e unambiguous and not poor structuring, during the user story generation; given when stakeholders add new user stories.

ii. Evaluator: It has used to reflect the stakeholder collaboration during the prioritization activity; given when the stakeholder prioritizes new user stories.

iii. Commenter: It has used to reflect the stakeholder collaboration during the negotiation activity; given when stakeholders collaborate during the comment on the post.

iv. Communicator: It has used to reflect the stakeholder collaboration during the negotiation and discussion; given when stockholders collaborate using the chat system

(b) Badges: Badges are a type of reward that is considered a visual representation of stakeholders’ achievements. Various types of badges are used in Sharek as described in table 3 which describes each one of them. These badges have determined to achieve Sharek target behaviour in subsection.3.4.2, by increase stakeholders motivation, and make them do their tasks most fully. Badges including Ideator, Social, Collaborator determine to achieve the elicitation target behaviour. Badges including Evaluator, Collaborator determine to achieve the prioritization target behaviour. Badges including Commenter, Communicator, and Collaborator determine to achieve the negotiation target. The other Badges determined for supplements manner including Rising Star, Persistent, and Veteran.

(c) Leaderboard: It visual feedback that shows the users’ rank within a group; it can increase user competition, interest, and excitement. Sharek implements leader-boards to rank stakeholders’ involvement in the requirements engineering process. The stockholders’ ranked based on the total number of coins that have been collected during the requirement engineering process.

2. Second Activity Loop: Progression Stairs The progression stairs is a visual feedback to indicate the level of a stockholders experience. In addition, it represents the Stakeholder journey in the gamified system. Sharek defines four levels of Stakeholder experience including Newbie (100 points), Regular (between 100 and 250 points), Expert (Between 250 and 500 points) and Master (More than 500 points) see Fig.7. The levels points are collected from participation in the requirement engineering activities and calculated according to the total number of points achievement (i.e. Ideator, Evaluator, Commenter, and Communicator points). The level points values determined in an exploratory manner. they are still not evaluated. However, their value emphasizes the degree of stakeholders’ involvement during the Sharek group. The low level simulates the stakeholder with less involvement in the Sharek group, and the high level simulates the stakeholder with higher involvement in the Sharek group.

Table 3: Badges Table
Figure 7: A prototype of Sharek Stakeholder Level

3.4.5. Don’t Forget the Fun

This step focuses on how to gamify the system more fun. Fun is one of the most important factors in gamification, where the user should find it as a game; this can make the user continue to motivate into the gamified system even without rewards. The main idea of gamification strategies to introduce fun in the requirement engineering process as following:

  1. Make User Story Question in Interactive Manner: To make user story generation more interactive. Each step addresses one question, and stockholders’ action provides answers to the question. Steps to generate a user story:

(a) Step 1: This step aims to elicit a stakeholder role in the system. As such, the question was formulated as follows: Hi there, I will be your guide during the whole process. At first, I need you to select your role. After doing this step, I will give you two coins. So, do not lose them.

(b) Step 2: these steps aim to identify goals the stockholders want to achieve with the system. Accordingly, the question was formulated as follows: Hello, in this step you should specify one goal you need to accomplish with the system. After doing this step, I will give you three coins. So, do not lose them.

(c) Step 3: This step aims to collect the rationale of the goals. With this in mind, the question was formulated as follows Hi again, now after telling me your goal. Please identify the reasons that justify the importance of the goal. After doing this step, I will give you three additional coins. So, be careful and do not lose them.

(d) Step 4: This step aims to gather the usage scenarios that satisfy the goal. stockholders can provide a text or graphic description, such as flowcharts to describe usage scenarios. The question is as follows: Hi, this is the final step, I will give you 5 coins. So, be careful when you write your answer. Please, Please, tell me a scenario that illustrates how you would achieve the goal.

Figure 8: A Prototype of Sharek User Story Creation

2. Make prioritization in Interactive Manner: To make the prioritization activity more intuitive and interactive. Categorization which including (Unimportant, important and High important) represented as (Dislike, Like and Love). In addition, the voting task represented as star rating range from 1 to 5.see Fig.9.

Figure 9: A Prototype of Sharek Prioritization

3.4.6. Deploy the appropriate tool

This step focus on tools, techniques need to deploying the gamified system. In addition how the system would look like. A prototype of the Sharek tool has been implemented ( see Fig.10). Sharek prototype is similar to other Social networks. This can help to decrease the learning curve, and improve the user experience.

4. Conclusions

Sharek combines three techniques: social network, gamification, and the user story. The social network is to support the distributed collaboration between the stakeholders who were involved in requirement engineering activities. Gamification is to improve stakeholders involvement and keep them motivated during the whole RE process. The user story allows stakeholders to write their requirements in a semi-structured, simple and unified way.

References

Nasir, Yaman. (2018). Using social network and gamification to improve stakeholders involvement in requirement elicitation, prioritization and negotiation. (Master’s theses and Dissertations Master). Birzeit University, Palestine (West Bank)

--

--

Yaman Nasser
Nerd For Tech

Software Engineer | Top Writer in Software Architecture & SE topic| passionate about cutting edge technology| LinkedIn: https://www.linkedin.com/in/yamannasser