My third rule for making things is all about making it easy to work with other people, whether you will actually be doing so or not. This rule is less about using tools and more about putting good processes in place, but I won’t be getting into the details of those specific processes because they will differ by team. The important takeaway is that you should be thinking about those processes.

Step 3 – Enable Collaboration

  1. Be able to integrate multiple changes seamlessly – This is critical to building quality software and to maintaining momentum. Without a good way to integrate changes, people will not merge their changes in a timely manner, changes will get lost, and you’ll find that the things you’ve already fixed are broken again. Not having that good way to integrate changes causes extra work and energy to be expended on tasks a computer should be doing, so your team will be spending time on that frustrating task rather than on the fun task of building cool new things. You’ll get less work done in the same amount of time and your team will be angrier.

    We use Git to make our change integrations simple.

  2. Make communication clear and open for everyone involved – The biggest hindrance to getting people to join in on a project is having to tell them all the background information about it. This can be limited by openly sharing all the information about every project so everyone on the team has a baseline understanding of what is going on. As a side effect, this improves morale.

    Slack is the tool we use for this.

  3. Use as few and as simple of tools as possible – Everyone on your team should be able to join in on a project without having to install any new tools. The best way to ensure this is to limit the tools you use and keep them simple.

  4. Make it as easy as possible to add a new person to a project as possible (even if you have no intention of doing so) – This has two benefits. First, if you are running close to a deadline and need someone to help out quickly they can hop in without slowing you down. Second, making it easy for others to join in also generally leads to a solution that makes it easier for you to start over if you need, like if you want to move an entire project to a new computer or new server.

  5. Reduce bottlenecks (don’t have one person be the only person for anything) – Having a bottleneck can kill the momentum you have tried so hard to build on a project and gives that bottleneck person one more thing to worry about when they are already falling behind. Don’t do that to them.