jump to navigation

Bazaar Explorer by Pictures July 3, 2009

Posted by Ian Clatworthy in Bazaar, Collaboration, Open Source, Usability.

While building a GUI application is pretty easy these days, designing a good one remains a difficult problem. It took many years before I found GUI emails clients more productive than pine and just as long before programming in an IDE was more productive than the best editors around. As a dedicated fan/developer of Bazaar, I’ve spent most of the last few years being a command-line junkie. In recent weeks though, I’ve started up a project that aims to change that: Bazaar Explorer. (more…)

Announcing the Community-Agile project July 9, 2008

Posted by Ian Clatworthy in Collaboration, Open Source, Software Engineering.

I’m pleased to announce a new project that aims to extend Agile software development with successful practices used in the Open Source community. The goal is to create and support a process framework that teams and communities, both open source and commercial, can download and customize to meet their needs.

To start the ball rolling, I’m pleased to announce the Manifesto for Community-Agile Software Guidance. Anyone can sign this – simply go to the page and add a comment indicating that you agree! More importantly, a paper explaining the values, principles and practices is available in numerous formats including html and pdf. (I was planning to present this paper at OSCON 2008 but unfortunately can’t travel at this time.)

To get involved, visit https://launchpad.net/~community-agile and join the team!

Why Distributed Version Control Matters October 11, 2007

Posted by Ian Clatworthy in Bazaar, Collaboration, Management, Open Source, Software Engineering.

I’m presenting a paper later this year at OSDC 2007 on why distributed version control matters and how to implement it effectively. A draft can be found online here: Distributed Version Control – Why and How. If anyone has any feedback, please let me know soon so I can improve the final version.

Update: The final version is now uploaded and linked above (and it’s really PDF, not PostScript, this time).

Version Control: Design for Integration July 30, 2007

Posted by Ian Clatworthy in Bazaar, Collaboration, Open Source, Software Architecture.

Can you name a single successful software product where more resources (time and money) were spend on developing it than integrating it with other products and systems? I don’t believe such software products exist. Is that likely to change? If not, what can we do about it as software developers? And what does that mean for those of us interested in streamlining how developers work in general and delivering better version control tools in particular?

#5 on my list of criteria for evaluating version control tools is Integration. Software exists to get things done and it rarely, if ever, exists in isolation. The more successful software is, the more pressure there is to integrate it with other tools and systems. I believe lack of mature integration with other systems will be the #1 reason for many teams delaying their move from a central VCS tool (like CVS and SVN) to a distributed VCS tool (like Bazaar, Git or Mercurial) in the next 12 months. The good news is that the new breed of VCS tools all do a lot right in terms of enabling integration but we need to do much more. Firstly, we could and ought to be doing more at the core of the new products. Secondly, we need to get behind the really important integration add-ons and help them reach maturity faster.

At the core product level, Design for Integration comes down to four key things … (more…)

Version Control: The Future is Adaptive June 21, 2007

Posted by Ian Clatworthy in Bazaar, Collaboration, Open Source.

The Version Control space is undergoing a renaissance right now thanks to the increasing popularity of Distributed Version Control Systems (DVCS) such as Arch, Bazaar, DARCS, Git, Mercurial, Monotone and SVK. Many really smart people believe these systems have the potential to dramatically change how software is built and I agree with them! But which ones actually will and why? I think the answer to that lies in a closer examination of the criteria teams use to adopt collaboration tools.

Beyond market acceptance, there are 6 main criteria I consider when evaluating collaboration tools:

  1. Reliability
  2. Adaptability
  3. Usability
  4. Extensibility
  5. Integration
  6. Administration (including Total Cost of Ownership)

The order given above is the one I use for version control tools – different collaboration tool categories deserve different orders. Every team is different so the criteria they consider may not be identical, but the ones above are those I’d expect every team to include in their evaluations.

While few people would be surprised to see Reliability at the top, few systems do a really good job of delivering the features that implies, so I plan to return to Reliability in another post. Today though, I want to explain why I think Adaptability is #2, even if that makes me “dumb and stupid” in the eyes of one of my heroes. 😦

If you haven’t seen it already, I recommend watching the Google video of Linus Torvalds talk about Git. He makes a lot of excellent points about the advantages of Distributed VCS. Unfortunately in my mind, he also suggests that anyone using Central VCS tools, particularly CVS and Subversion, is dumb and stupid. I strongly disagree! The future of version control is neither Central nor Distributed – it’s Adaptive. It’s all comes down to the numbers …