Collaboration Tools used in the Project CHARITY

2023-12-17

Today as the teams spread across continents there is a need for diverse collaboration tools, that enables individuals to work together, communicate, discuss ideas and collaborate. Such tools facilitate better integration throughout development by distribution and updation synchronously and asynchronously to overcome the geographic challenges.

In the project CHARITY use some of the tools, such as Slack, Miro, webex and ONLYOFFICE, to maintain team interactions, connect all team members regardless of their physical location, and provide a mechanism to define tasks and monitor and track the integration progress of work. Moreover, documentation is a critical part of the process. Hence, we proposed using tools such as ONLYOFFICE to create, edit, and share project and integration factsheets in a persistent, coordinated, and accessible, structured approach. In addition, the team also uses other tools for distributing and updating code (e.g., GitLab) that enables management, verification, accessibility, and security in a Continuous Integration/Continuous Development (CI/CD) process.

Let us look briefly what purpose these tools solve:

  1. Communication and collaboration – Slack

Slack [2] is a business communication tool with IRC-style features, including persistent chat rooms, private groups, and direct messages. CHARITY already has a Slack Channel, shown in Figure 4, for collaboration in day-to-day activities. Thus, it becomes a natural choice for collaboration during the integration phase. Slack allows us to reach CHARITY members faster and allows a more interactive communication process. Contrary to e-mail, in Slack, teams can easily organize themselves in channels by topics that get everyone´s attention quicker, leveraging the powerful Slack notification system. More, their numerous integration and flexible APIs might prove helpful to integrate different additional tools as part of integration activities (e.g., integration with CI/CD pipelines and regression alerts).

In summary, Slack offers the following main features:

  • Teams - Allows communities, groups, and teams to join a "workspace" by following a specific URL or receiving an invitation from the team admin or owner;
  • Messaging - There are public channels (which allow team members to connect without using email or group SMS), private channels (which allow smaller sub-groups to communicate privately), and direct messaging (allow users to send private messages to specific users rather than a group of people);
  • Integrations - Slack supports many third-party services, as well as integrations created by the community.
  • API - Users can construct apps and automate tasks (e.g., send automatic notifications based on human input, send alerts on specified conditions, and automatically create internal support tickets).

 

Figure 1 - CHARITY Slack Channel

  1. Asynchronous Collaboration and Brainstorming - Miro

Miro [3] is an online digital whiteboard that unites teams anytime and anywhere. This solution enables real-time and asynchronous collaboration regardless of team member location. Miro allows various ways to plan projects and create information centres, as shown in Figure 2. This tool facilitates the quick creation of numerous diagrams, from mind maps and flowcharts to UML diagrams. Also, it enables connectivity with other apps, such as Slack, allowing for a more seamless workflow.

In brief, Miro offers the following main features [3]:

  • Creation of meetings and workshops;
  • Creation and development of ideas, regardless of the location of the team members;
  • Work with participants from different areas;
  • Workflows with agile methodology through retrospectives, planning, and collaborative frameworks;
  • Allows planning, coordination, and discussion;
  • Creating maps and diagrams.

 

Figure 2 - Example of a diagram in Miro [3]

  1. Documentation and Management - ONLYOFFICE

ONLYOFFICE [4] is an office-like collaboration suite that can be used as a SaaS solution or as a private installation on partners premises. This solution provides a feature-rich workspace for online document editing and supports widely used document formats. Moreover, ONLYOFFICE provides a platform for document management, corporate communication, e-mail, and project management. Users access the system for project management through a private online portal.

Figure 3 - ONLYOFFICE document management page [4]

Table 1 provides a brief overview of ONLYOFFICE features. Users and groups can save and organize business documents and control their access. Users may organize their mailboxes, create corporate mailboxes, link multiple email accounts, manage and tag messages, and generate signatures using the mail functionality. ONLYOFFICE can also offer a simple CRM for managing productivity improvement, reporting, and monitoring the team development. To improve team performance, the capabilities of the project allow the establishment of projects, prioritization activities, and set deadlines. Calendar features allow you to construct a personal or team schedule, add multiple event kinds, and set reminders to ensure you don’t forget anything. ONLYOFFICE provides numerous customization options, including integration with third-party plugins. Finally, ONLYOFFICE can easily support a large number of concurrent users. Similar to Slack, CHARITY already uses an ONLYOFFICE workspace. Thus, this is also a natural choice for extending the integration and experimentation-specific factsheet.

 

Table 1 - ONLYOFFICE features [4]

Documents

Mails

CRM

Projects

Calendar

Highest compatibility with MS Office formats

Supported common email protocols: POP3, SMTP, IMAP

Web-to-Lead form for rapid entry of potential customers

Gantt chart

Calendar Sharing

Multi-format media player

Unlimited number of mailboxes and mail groups

Making calls with Twilio

Private projects and access rights management

Synchronization with third-party applications

Private rooms for end-to-end encrypted document collaboration

Free default domain

Close integration with Mail, Projects and Calendar

Integration with Documents, Calendar and CRM

Close integration with all ONLYOFFICE modules

 

  1. Source Code Management - Gitlab

GitLab [1] is a git-based software repository manager with built-in Wiki support for documentation (e.g., report of potential problems and solutions or simple code documentation). It also enables task management and has support for CI/CD. Often compared to Github, GitLab allows developers to save code on their servers rather than on third-party servers, which poses a significant advantage and decisive choice to retain complete control over code and factsheets.

 

Figure 4 - Login page from Gitlab

Moreover, GitLab provides many features such as source code management, verification, accessibility testing, security, continuous delivery, configuration, monitoring and protection. Table 2 and Table 3 highlight some of these distinguishing characteristics and features.

Table 2 - GitLab Features [1]

Manage

Plan

Create

Verify

Package

Subgroups

Team Planning

Source Code Management

Continuous Integration (CI)

Package Registry

Audit Events

Portfolio Management

Code Review

Code Testing and Coverage

Container Registry

Audit Reports

Service Desk

Wiki

Performance Testing

Helm Chart Registry

Compliance Management

Requirements Management

Static Site Editor

Usability Testing

Dependency Proxy

DevOps Reports

Quality Management

Web IDE

Accessibility Testing

Git LFS

Value Stream Management

Design Management

Like Preview

Merge Trains

 

 

 

Snippets

Review Apps

 

 

Table 3 - GitLab Features (II) [1]

Secure

Release

Configure

Monitor

Protect

SAST

Continuous Delivery

Auto DevOps

Metrics

Container Scanning

Secret Detection

Pages

Kubernetes Management

Incident Management

Security Orchestration

Code Quality

Advanced Deployments

Deployment Management

On-call Schedule Management

Container Host Security

DAST

Feature Flags

Secrets Management

Tracing

Container Network Security

API Security

Release Evidence

ChatOps

Error Tracking

 

Fuzz Testing

Release Orchestration

Infrastructure as Code

Product Analytics

 

Dependency Scanning

Environment Management

 

 

 

License Compliance

 

 

 

 

Vulnerability Management

 

 

 

 

 

Furthermore, GitLab provides audit, report, compliance management, and value stream management capabilities. It allows teams to manage and improve their software delivery lifecycle with metrics and value stream knowledge to streamline and increase their delivery velocity. GitLab planning allows teams to organize, plan, align, and track project work to ensure that teams work on the needed tasks at the right time and that any issue is visible and traceable. GitLab repositories offer a scalable, single source for working on projects and code, as well as code review and shared documentation. GitLab also supports verification, offering Continuous Integration, code, performance, usability, and accessibility testing. This support provides developers and testers with quick feedback on the quality of their code. This tool makes it easier for teams to package applications, track dependencies, and manage containers, all of which help to speed and streamline the implementation process. Continuous Delivery, embedded right into GitLab pipelines, facilitates the automation, releasing and deployment processes. The interaction with Kubernetes further optimizes such a process.

Finally, it is also worth noting that GitLab allows incorporating Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), Container Scanning, and Dependency Scanning from the development phase. Hence, GitLab presents itself as a helpful tool to improve the security of applications.

 

  1. Summary

We chose GitLab as the source code management tool. Its range of features and extensibility from pure source code management up to code verification, accessibility testing, security, continuous delivery, and monitoring, as well as the possibility to have an on-premises installation, which gives us complete control of the code and factsheet, make it as the candidate tool for using in the integration and experimentation phase. Moreover, the CI/CD integration allows for continuously building, testing, and deploying iterative code changes as part of the incremental integration and experimentation strategy.

Miro was chosen as the primary tool for real-time brainstorming of ideas using a whiteboard-like experience.

Finally, considering Slack and ONLYOFFICE features already used in other project tasks and day-to-day activities, we chose both tools for communication documentation management.

Whereas such a selection of tools does not ensemble the expected primary tools used in the integration and experimentation phases, they are referred to as essential tools and pillars to support efficient and effective collaboration among partners. The following section describes a comprehensive set of more technical-oriented tools related to the CHARITY framework.

 

References

[1]

GitLab, “GitLab,” [Online]. Available: https://about.gitlab.com/.

[2]

Slack, “Slack,” [Online]. Available: https://slack.com/intl/pt-pt/.

[3]

Miro, “Miro,” [Online]. Available: https://miro.com/.

[4]

ONLYOFFICE, “ONLYOFFICE,” [Online]. Available: https://www.onlyoffice.com/pt/.