• Ei tuloksia

4.2 System design

4.2.2 Iteration 2

Unlike the first iteration, the second iteration artifact was created specifically for the research project in order to extend the functionality beyond the already existing solutions. It now acknowledges teams as units, allows issues to be attached to teams, extends gamification features to teams and integrates a more free-form discussion function.

The implementation was done with the Ruby on Rails web programming framework as a web application with API functionality to integrate with other online software. In the second iteration, integration was performed only with Slack3 (web-based chat system), with plans to extend the system to work with other common developer tools, like Github. The artifact retains the functionality that the first iteration showed as having the most positive impact: collaboration around requesting and giving help, gamification features on rewarding positive

3https://slack.com/

54

4 System for increasing computer-supported collaboration in engineering teamwork

collaboration, and publicly available information. The second design iteration artifact extends the functionality according to the following core tenets.

• Team collaboration. The system should be aware of the main social units in many collaborative projects: teams. This means that the system can recognize that not only individuals but also teams can help other teams, or that the members of a specific team work towards the same goals.

• Extended communication. The design of the first iteration used asynchronous communication. In fast-paced team environments, ideas and opportunities for collaboration develop constantly. A chat system that enables instant communication and imports information automatically from the collaboration system meets the needs of fast-paced free-form communication better, ensuring that the collaboration system will not be sidetracked from the main use.

• Explicit goal communication: shared goal setting. This is related to extended goal support. The system should have the aim of easing collaboration by offering the team an explicit display of their current goals in order to make it easier for other teams to approach them for collaboration. One of the problems detected in Publication I was that the teams were not always aware that they were working on solving similar issues.

• Explicit goal communication: goal achievement. The system should communicate about positive goal achievement to people who have helped the team or individual to achieve that goal, and to allow the user to indicate whose input has been especially beneficial. This establishes a positive feedback loop, letting the helpers to know that they have had a longer-term positive impact on other people. It also ties in with the theory of gamification, especially the aspect of relatedness and competence.

These tenets were realized as a collaboration platform that concentrated around setting team goals and issues, viewing the status of other teams and using a chat-based tool, Slack, to communicate and share information regarding the goals and issues. The information and views concentrated around three main views, with a sidebar and notifications showing additional information when needed. The guidelines of responsive design were followed in the implementation of the views, with the system working equally well on desktops or mobile phones. The selected chat system also had a mobile client application for iOS and Android, enabling continuous collaborative communication for the community.

Several existing group groupware solutions used in goal management, such as Github or Redmine require a setup and can be unwieldy in student use. The design emphasis for the presented collaboration system was issue-centricity, promotion of communication and low hierarchy. Collaboration environments should have symmetry in the action and status of the users (Dillenbourg, 1999b). This is

Figure 4.1: Team list view

promoted in system design by allowing any user, not just team members, to view the issues and contribute to them. At the same time, individual responsibility is preserved by having one team member mainly responsible for each goal or issue.

The system then allows the creator of the goal to decide if the contribution is helpful.

Main view, sidebar and notifications.The system, when first opened, shows the main screen, which has a list of teams (1) and a summary of the teams’ statuses (2).

A sample view is presented in Figure 4.1. The list of teams links to the team status page, wiki site and repository. The summary column (3) denotes the number of gamification points as karma count, pursuit count indicates the number of current tasks the team is working on, and issues shows the number of current problems the team could use help with. A green notification bar at the top and a gray status sidebar on the right can also been seen in Figure 4.1. The notification bar (4) displays temporary information, such as successful login or incoming message.

The sidebar (5) displays shortcuts to common actions, like show team page or sign out. It also shows the user’s current karma points.

Team details. Here the team members (1) can set and edit goals (2) and issues (3). Other users of the system can see the lists and can offer help with various issues. The goals and issues can also be expanded by clicking, and the detailed view shows who exactly have offered to help. When finishing a task (4), the user can indicate if the received help was essential in solving the task. If it was, then the people who offered the help will receive a gamification reward in the form of public communication and increased points. A sample view is presented in Figure 4.2.

56

4 System for increasing computer-supported collaboration in engineering teamwork

Figure 4.2: Team goals and issues

Figure 4.3: Collaboration system integration for a chat environment Chat. The system is integrated with the Slack chat system, with the system using Slack APIs to transmit and receive information. The main purpose is to enable free-form communication between the users, but the system also forwards status upgrades to the main chat window (1), ensuring constant flow of information on team status, goal achievement and gamification-related activities. The users can also directly input simple commands (2), like for example the /like command that allows the users to acknowledge the beneficial activity of others in the context of the course. The system takes note of virtual “thumbs-up” and records them into the main system database. A sample view is presented in Figure 4.3. The chat view is composed of a list of recent chat messages (1), text and command input box (2), a list of users (3), and a list of available channels (4).