Trello. Our team members are in many locations, so having a web-based tool to outline our Sprints has been very important. We create cards for User Stories or issues and work from the boards for Sprint planning and working on Sprints.
Github. We previously ran our own SVN server, but slowly migrated all of our code to Github. It is a great tool. Our workflow for using Github is
- Each component has a separate Repository.
- Each Repository has a Master branch.
- Each Repository has a production branch that contains the code currently in production. This allows us to continue working and merging to Master, but also be able to fix problems in production easily from the production branch,
- Developers branch off Master and code the Trello card they are working on. Once the code is completed and unit tested, the developer creates a Pull Request in Github. The Pull Request is to merge the code into Master.
- A Pull Request triggers a code review by another team member. Code reviews generally result in a review of the code as well as a manual test of the code.
- Pull Requests are also unit tested using automated testing via Travis-CI
- Once a Pull Request is approved, it is merged and the branch is deleted from Github.
Skype. Skype has the simplicity of making a phone call and is mostly reliable. We also use Google Hangouts when we need to share code or other screen sharing. It works really well, but if not as easy to start up as a Skype call.