Mike MacDonagh's Blog

Somewhere in the overlap between software development, process improvement and psychology

Some thoughts on self-hosting

There are many benefits to self-hosting which tend to lead to self-hosted projects achieving high quality. Some examples of this are many compilers, IDEs such as Delphi, Visual Studio etc. The sheer breadth of testing on self-hosted systems means bugs and dodgy user experiences are ironed out early. More recent examples of high-quality self-hosted development efforts come from Eclipse and Rational Team Concert. Scott Rich recently blogged on the Jazz team blog about RTC having the “smoothest end game ever” and one of the key points that led to this smooth end game was the self-hosting of RTC.

The question is how can we get the benefits of self-hosting in normal projects, since most organisations aren’t in the business of building IDEs…

Personally, I get involved in a lot of projects that aim to improve an organisations software development capability, often these projects involve deploying tools into an organistion to deal with things such as planning, issue tracking, configuration management etc. So in my projects I always make sure I’m self-hosted, that is we use the planning tools to plan the delpoyment of the planning tools 😛 We track issues in the issue tracking tool that we want others to use and store our artifacts in the repositories we are deploying in the organisation. This approach gives the benefits of broad and deep testing of infrastructure, configuration, integration and usage models. Not to mention the opportunity of being in the strong position of practicing what we preach!

Currently I’m involved in rolling out Rational Portfolio Manager to about 500 people. Changing the way that many people plan and manage projects isn’t terribly easy, but it’s made easier by ensuring that the configuration of a tool and it’s usage models have really been put through the ringer and thoroughly tested. As a result my project is self-hosted in RPM. That way my team is the first to find things that haven’t been set up correctly, is the the first to feel pain points and can fix them before the general user base has to feel the pain.

Not to mention we’re practicising what we preach.

If you’re doing any sort of project and you can work out how to usefully use the output of the project in the project then do so.


2 responses to “Some thoughts on self-hosting

  1. Bill Higgins July 11, 2008 at 2:40 am

    > The question is how can we get the benefits of self-hosting
    > in normal projects, since most organisations aren’t in the
    > business of building IDEs…

    Not exactly the same thing but one Extreme Programming practice that seemed related to self-hosting is that of “on-site customer”, though like most aspects of Extreme Programming, this practice is controversial.


  2. mikemacd July 11, 2008 at 9:57 am

    Good point Bill, as an on-site customer can give close to the same depth of insight and usage as self-hosting. I’ve encountered difficulty with on-site customers in the past because “the business” hasn’t wanted to give up the time of one of their people, and if they will not one of their best people! Of course an on-site customer can tend to put the needs to the individual over the needs of the business. Perhaps a better model would be to rotate individuals into the on-site customer role.

    If only we could get customers to start investing in the quality of the things they’re buying 😛

    Extreme Programming…. Mmmmm food table.

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: