Tools for a Collaborative Environment

It is interesting to have a repository where everything is accessible for the team members and where it is possible to have an overview of the evolution of the project. Another suggestion that we make is to use a communication tool like Slack or others, since it is very easy to have access to all conversations and to, for example, keet the conversations about each subsystem separated, therefore keeping everything clean and organised.

The main requirement for these tools is that they must be free to use.

Remote repository

In a complex project carried out by a small team it is important that all documentation is accessible for every team member, and that a versioning system is in place to be able to review old designs and proposals.

For that purpose, there are two different services that could be of use to the students: file hosting services and source code hosting services. The former provides remote access to any file in a very easy and accessible way, not requiring any new knowledge. On the other side, the latter has very powerful version control system that facilitates collaborative work, but its use requires knowledge in this kind of tools, since they are not very intuitive for beginners.

File hosting services

Regarding file hosting, there are several options available. Some of the most known services in this area are:

  • Google Drive: it includes an office suite that permits live collaboration, free, 15 Gb of online storage. More information at https://drive.google.com/
  • Microsoft Onedrive: very good integration with the Microsoft Windows and the Microsoft Office software suite (with an online version available), free, 5 Gb of online storage. More information at https://onedrive.live.com/
  • Dropbox: very good integration with other services, free, 2 Gb of online storage. More information at: https://www.dropbox.com/
  • Box: less known service, free, 10 Gb of online storage. More information at https://www.box.com/
  • Mega: free, 50 Gb of storage. More information at https://mega.nz/

Other interesting options are ownCloud, NextCloud or Seafile, which are open source services that can be self-hosted if wanted.

Source code hosting services

Three options can be recommended for a source code hosting service:

All of them provide similar capabilies:

  • Public and private repositories, although GitHub restricts to a maximum of three collaborators
  • Version control
  • Issue tracking
  • Creation of branche of the design and then merging

These services provide very interesing features, but they have a learning curve that not all student will be willing to or can assume.

Resources:

Communication tools

For communication inside the team, it is important to keep track of all of has been said and have the different topics compartmentalised using channels. Some interesing tools are compatible with these requirements:

Most of them include some online storage space and a limitation on the number of the saved messages.