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:
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
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]
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 |
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.
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.
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/. |