Bring Git Joy to Windows

Since moving off Windows as my development platform, git has probably been the greatest treat. A great, lightweight, self-contained and very well thought-out piece of software, it’s one of those rare tools that once you’ve used it for a while, you can’t image how you worked without it.

A lot of great ruby tools are using or moving to github, a platform which I’m only just starting to get my head around, but looks really exciting for the development of open-source software.

I suspect windows users probably feel a little excluded from git so in order to spread the love, I thought I’d have a go at installing it on a Windows machine while you just sit back and watch. Wanna play?

Continue reading “Bring Git Joy to Windows”

Scrabbling up the Learning Curve

A few months ago I was at the peak of my powers.

I was leading a team of ten C# developers building a huge project on Microsoft’s .NET platform. I had been working on the Windows platform for years, and there was rarely a question from the team I couldn’t answer quickly and confidently, drawing on a deep well of past experience.

Continue reading “Scrabbling up the Learning Curve”

Come to CITCON

Some people think there is no conference for those of us who care about CI and testing, but oh yes there is.

As an avid reader of this blog, I know that you, like me, realise that continuous integration and testing are to software development what the spirit level and the plumb-line are to the construction industry: powerful tools that will one day be regarded as essential for any professional practitioner.
plumb-line

If you fancy meeting other like minds, come and join me at CITCON, the Continuous Integration and Testing Conference. What could be finer?

Story Driven Development – Just Another *DD?

Bryan Helmkamp, who maintains the handy little library webrat, did a talk recently at GoRuCo 2008 which explains his experiences using RSpec plain-text stories to build ruby-on-rails applications in a manner he calls ‘Story Driven Development’:

Before code is written, the team produces executable scenarios for a user story.

Continue reading “Story Driven Development – Just Another *DD?”

9 Techniques to Save you from the Bug-Swamp

How many unresolved bugs are there in your system right now?

Yes, yes, smarty-pants: the ones you already know about.

Ten? Fifty? Two hundred? More?!

I find it frighteningly common to see teams let a huge backlog of bugs build up. They set up a trusted system like Jira or Bugzilla and then use it as a dumping bucket for a whole variety of irritations, glitches, missing features, and genuine defects.

Pretty soon the list becomes un-managably large. Nobody dares go in there, because it’s full of bad news. This drains the team’s energy and morale.

Getting on top of, and staying on top of your bug list is hugely important, and I outline my thoughts and experiences on achieving that below.

Continue reading “9 Techniques to Save you from the Bug-Swamp”

Behaviour-Driving Routes in Rails with RSpec

One thing that isn’t documented very well for RSpec is how to test your routes.

I came across an old post on the rspec mailing list which described a great way to do this:

describe TasksController "routing" do

    it "should route POST request for /tasks to the 'create' action" do
        params_from(:post, "/tasks").should == {:controller =>; "tasks", :action =>; "create"}
    end

end

Very nice.

Are Use Cases Any Use?

On my last project, some joker took the (much maligned) paper file marked ‘Use Cases’ and gave it the more accurate title ‘Useless Cases’.

We hated that file. It contained so much misinformation, so many gaps.

Take heed though: Alistair Cockburn still thinks use cases are relevant.

We certainly learned on that project that while heavy-weight up-front use cases are a waste of effort, going into a sprint planning meeting with nothing more than a token for a conversation is also similarly irresponsible.

As Alistair says, the key is to get just the right amount of analysis done and no more, just in time. Finding that sweet spot takes practice, and lots of feedback within the team.

MySQL Ruby Gem Frustration with OS X

A few minutes ago I posted about the time I’d wasted since inadvertently upgrading my ruby version.

My last hurdle was to install the mysql ruby gem, which is never easy on OS X, as I learned the first time around a few days ago.

However this time, I was stumped. The gem seemed to build OK, but would simply not appear in gem list. Finally, I found this miraculous post.

Continue reading “MySQL Ruby Gem Frustration with OS X”