Collaboration Redefined June 8, 2007Posted by Ian Clatworthy in Bazaar, Collaboration.
What’s the secret to developing and releasing great software that people love to use? That’s a question I’ve been fascinated by now for almost 25 years. I don’t pretend to have the answer but I do have some clear opinions after all that time on many of the necessary ingredients: clear leadership, motivated people, effective processes, great technology and tools.
If those things interest you as much as they do me, then there is no more exciting place in the world to be working right now than the open source community and in particular my employer for 3 months, Canonical. Canonical are best known as being the commercial sponsor of Ubuntu, the Linux distribution that could. But Canonical is exciting for reasons far bigger than Ubuntu …
“Not possible!” I hear millions of people yell. Let me explain. I’m absolutely convinced that software engineering is ultimately a communications challenge. The path from idea to released code is often a long one involving many players: sponsors, business analysts, architects, team leaders, software engineers, technical writers, quality engineers, support engineers, etc. The history of computer science is arguably one long procession of technologies designed to make that communication chain/cloud a more reliable one: higher level programming languages, OO, Use Cases, UML, design patterns, Agile development methodologies, you name it. Whether it be clearer communication from programmer to machine, person to person, module to module or system to system, we dream up technology after technology to help.
All of the technologies do help but the communications problem is as much a social one as it is a technical one. So the challenge of great software is ultimately this: how do we collaborate more effectively, both instantaneously and over time?
Over and above Ubuntu, Canonical is exciting because it is asking itself this question every day and redefining collaboration as the world knows it in the process. The key pieces include:
- Bazaar, an open source next generation version control system that is suitable right now for 90% of the software projects on the planet
- Launchpad, a free service designed to help teams work together better.
Of the key ingredients needed to make great software, tools are by far the least important. But having the best tool for the job can enable better processes and make life better for everyone. In coming weeks, I plan to explore the ingredients of great software further and explain why I think Bazaar has the potential to change software development as the world knows it …