There are many ways Github can be used to improve communications in an organization. In addition to providing version control for code, it can be used to manage text documents, press release drafts, and marketing copy and design. The "Issues" feature is also a great way to replace email for discussions.
Background
A lot of the problems in larger organizations are due to communications issues. This is not news. A lot of time people send Word documents with edits to text, which of course is only as good as people can keep track of the "latest" version of the document as it flies around. Sometimes "todo" are sent around via email to a group of 6-8 people, only some of whom are going to be doing the actual work, the rest need to delegate the work to others on their teams.
A lot of the problems with communication flow can be solved by using Github. Both for editing the actual website content using Git, but also using Github Issues to facilitate discussions.
A common use case in a larger organization is launching a new website to promote a product. In this case, there may be two people writing code for the website, a marketing team, and the software development team which develops the actual product being talked about on the new site. Often, getting everyone coordinated is a challenge, and usually involves many emails and phone calls to disseminate information to the right people.
Github can be used to solve a lot of these challenges.
Track changes easily
Github is of course based on Git, a version control system. Rather than using the "track changes" feature of Word, Github provides a central location to keep the current state of a document, and clearly shows changes and who made them.
Github Issues shows a complete log of what's been happening with an issue. It's easy to pick up in the middle of a discussion when the entire history is available on a single web page.
Provide an authoritative source for a topic of discussion
Github provides an authoritative source for a topic of discussion by using Github Issues. Anybody who needs to be brought in to a discussion can click on a link to an issue and quickly catch up on all the context.
Someone who finds a typo on the site can see if someone else has already reported it, reducing duplication of effort.
Use email for notification rather than for content delivery
While email gets a lot of crap from people (Jeff Atwood, Tantek Çelik), it remains a staple of communication, business or otherwise, and shows no signs of going away any time soon.
The key is to treat email not as a way to deliver content, but to notify people of places where there is new content. Plenty of cloud services are already treating email this way, so it's easy for emails with actual content to get lost in the noise. For example,
- Facebook sends email notifications when you are mentioned in a post, but you have to visit Facebook to see the whole post
- Twitter sends email when someone mentions you, but you have to go to the site to reply
- Zendesk sends email when there is a new customer service request to follow up on
If we follow this pattern, we should not send emails discussing changes to a piece of text, we should only be notifying others when there is a new comment that can be viewed on Github.
Mention other users in an issue to get their attention
Writing someone's Github username in an issue or comment will bring it to their attention. It will show up in their feed and will possibly be sent to them as an email, following the email pattern described above. This is an effective way to get someone involved in a discussion if they are not already following a thread.
Get a complete audit trail
Using Github Issues and Git provides a complete audit trail of all changes and discussions. It's easy to see the past state of things or who was involved in certain decisions.
Github also provides an easy way to search through issues. Email search is notoriously difficult with the exception of Gmail. But if you've got Outlook, good luck finding what you're looking for. Additionally, Github allows other people to find previous content, not only the people originally involved in a discussion.
Summary
No more Word documents flying around with edits to the website.
No more emails with giant todo lists to a group of 6 people which has to be forwarded to the appropriate people to actually do the work.
Use Github to edit text, not just code.
Create an "issue" on Github if there is something that needs discussion, and email a link to the appropriate people.
Additional Reading
- Email is Efail - Tantek Çelik
- Is Email = Efail? - Jeff Atwood
- Github Issues
- How to use GitHub effectively for your project