“When he wrote a book back in 2005 he had to team-work with publishers, proofreaders and so on. Soon he recognized that a lot of work troubles came from a lack of supporting software tools, which are on the other hand still a proven standard in the software industry. Programmers have a lot of team work and use many tools like version control for source code, issue tracking, wiki based knowledge base and smart conversation tools like icq, jabber, ichat. But nobody outside the coders community could use such complex tool sets. So he decided to develop such proven tools, but made easy usable to information workers of all kind.”
So I was quite impressed about the simplicity of the idea and their great potential. But meanwhile, after circling some time around the collaboration topic, I feel that the idea is a little bit more challenging. It’s not the point to make difficult to use software easy. From my perspective, it’s more a mission to change the behavior of team workers. Programmers had to team up probably from the first time since there are more than 2 of them. So they learned to use a complex collaboration tool set, including version control, issue tracking, knowledge bases and live communication.
And software developers have established effective procedures for team work.
- Do software developer email each other their pieces of source code?
No way, quality would drop close to zero.
- Do software developer distribute their tasks with email or sticky notes?
No way, the risk of forgetting or overlook something would be to high.
- Do software developer usually have a lot of telephone calls ?
Not necessarily, they simply waste no time by trying to get through to someone by phone.
So how do they work instead?
- There is a central source code server with a version control system (like subversion). The “golden copies” are stored there. Any programmer can update his local copy at any time, and he commits his changes to the server as soon as he has made his changes and perhaps his quality control.
For quality checks he can review at any time a list of made changes and who did them.
- Anny tasks like bug fixing or the creation of new code pieces are assigned by a issue tracking system. Nothing get lost and everything can be monitored.
- Coders have been the first guys I’ve ever saw using chat (at that time it was icq). They see, if the co-worker is online, they usually are very disciplined in telling their network if they are available or busy. So the counterpart always know if he can start a chat or not.
The bottom line of my thoughts is it, That the main idea is it to implement the proven procedure of developers co-working style into the non-coder world. Writing a book, planning a marketing campaign, creating content for a website, manage projects, gather and distribute knowledge content, the list of possible examples is an endless long tail. And more and more teams are working distributed at different locations and need better procedures and tools for their team work.
So here are my golden rules for efficient team work:
- No more email attachments! Use a central version control instead.
- Use a flexible task management to assign and control any issues.
- Use modern but slim chat software like jabber for staying in touch with your team.
That’s my ten cent to collaborative work. If you wanna try a tool set for non-coders, give Mindquarry a try. (short & shameless self-promotion part)