Most of the developers are supposed to work in groups and we all know this could be great (knowing part of a project delays in others and that you are being useful for the rest of the team) or a complete disaster (wanting to kill everyone around you, crushing your PC badly, and setting a fire in the workplace) but thankfully, there are some tricks you can use to organize yourselves and avoiding assassinations and chaos. This article is based on my own experience these last months and year, at class and at work.
First, you might want an efficient methodology that fits in your project. There are tons of them, in class sometimes we used SCRUM (I also used this at work once) but I personally don't like it. For class projects comes in handy, as it makes keeping track of work per hour easy peasy. But I personally like better Kanban. Apart from the fact of being Japanese, I like it because it's easy, clear and github projects can be used with it. Kanban can be imagined as a whiteboard with different columns, and developers can use post-it with issues from one column to another, so each issue is assigned to a single developer and confusions are avoided.
Github allows us to use it with functional issues. By the way I strongly recommend using github for collaboration, and this leads me to the next point: GIT
Using git allow us to work efficiently from the terminal (I will be speaking in terms of linux, I don't know how does it work on windows) and some healthy tips should be reminded:
- Use branches, at least one branch for development and master for production. This saves lives.
- Use SSH for secure git practise. All the steps are on github.
Be very carefull, always check you are working in the correct branch:
And if not, change it to your branch. Also if you are not sure you can directly use:
git checkout yourbranch
Even without the status. Of course, no matter your hurry, COMMIT and PUSH. A nice tip here, if you are using the same git commands many times, you can save time creating your own commands, as other dev.to user already explained.
Apart from GIT an Kanban, another option is using JITSI for online meetings. JITSI allow teams to use encrypted videoconferences online without login.
Sometimes, even when you guys are very well organized, the members of the team argue or don't speak a lot making tense situations. I suggest to hang out or play coperative games at least once with other team members in order to create a bond out of the work environment, and less tense. When code is not involved, sometimes is easier to chat! SOme awesome ideas are Borderlands, L4D or Counter Strike. Killing others makes beautiful bonds. :)
Apart from this, I recomend having Nerf guns close to your desk. Just... in case. Good luck!