I am supervising several student projects. Often it is left to the student what tools they use to communicate and organize their project. But because of their lack in experience that often ends in the use of email, MS Word and paper.
So this term I introduced the students of my projects to communication and project management tool chains as they are currently state of the art in software engineering.
Even though students were free to use other tools I strongly recommend them to use the following (free) tools.
While email, Skype and Facebook can help in communication, they are not intended for distributed group communication. Slack is a very young startup but is being adopted very quickly among software companies. It allows setting up a communication channel for a closed group of people like a company or a student team.
In the end Slack is just a chat App. But it is a better chat app than what you know. Every user can easily spin off new chat channels for certain topics or people. Slack integrates with almost any other service you are using. You can directly include files, google docs, GitHub commits, Trello and many other services. Slack is a (free) web app for use in the browser, but also offers native apps for Windows, Mac, iOS and Android.
Project management: Trello
When working in a team, it is crucial to keep track of what tasks are open and to whom they are assigned.
Trello is a near perfect solution to manage small projects. It is free, runs on any browser and requires almost no instruction or learning phase. On Trello you can create cards, which have text and/or images, as well als labels and assignees. A possible card might be “Create Git Repo” which could be assigned to Cathy. These cards can be put in named lists like “Backlog”, “Sprint”, “In progress” or “Done”. So your Trello board can look and behave like your physical Sprint board. It is very easy for students to create cards for their tasks, assign them to each other and keep track of what needs to be done next.
Source control: Git
Git has become the standard source control tool across open source and commercial software development. For student projects the main advantage is the distributed nature. People can work separately in time and space and even offline and can easily merge their changes with the others’.
When students use one of the free hosting providers like GitHub or Bitbucket, they get a simple backup solution and can easily share their code. To you, as an instructor, it guarantees that you always have access to the code and it is safely stored.
In addition, Git commits make it very easy for instructors to see who of the students is contributing which parts to the project. (And also to see who is not contributing at all).
Writing reports: latex with Git
Even if your project does not include coding, using Git might be a good idea for the final project report. When students can be convinced to use Latex for their report they can use Git for version control and parallel writing.
Again that solution also provides easy backups and you can easily see who wrote which paragraph. So assessment can be more differentiated on individual performance.
A viable alternative to Git can be overleaf.com which can be described as Google Docs for Latex. It saves students from installing Latex locally and provides a powerful editor.
My students immediately picked up the concept and usefulness of slack. Everybody is using it with great pleasure and it fully replaced e-mail communication.
“Great communication tool. Makes the work much easier and creates a good clarity with channels and pinned items.”
Trello was also well received but I noticed that still a lot of work is not tracked there. Not all student groups feel the need for task management tools.
“We use Trello to convert our ideas to sprints. […] That makes distributing tasks among project participants easy.”
“Does not fit in everybody’s workflow and is not necessary for smaller projects. In parts can be replaced by good communication tools like Slack or Git (issues). But as everybody can see [the Trello status] it creates some kind of commitment.”
Git can be hard to understand and requires some learning. Students quickly understood the power of distributed version control but found it hard to use.
“Indispensable when developing cooperatively. “
Latex seems to have bad reputation. Bachelor students seem to be a bit frightened but Master students see it as a valuable tool.
OverLeaf was favored over traditional Latex with Git.
“My first choice for creating the documentation.”
This blog presents insights into my ongoing research on Learner Generated Content