April 10, 2011

Rails great; Jira bad

So I've been spending the past week and a half or so working on a new app: a web-based sprint board. Weapon of choice: Ruby on Rails (of course).

It's all interactive AJAXy goodness, with some CSS 3 styling (drop shadows anyone ?). And Rails makes it really easy. I've been using the newest edition (version 3), and I really enjoyed working with it. It tries its hardest not to get in the way, which I love. There is a bit of a learning curve, though, as it requires knowledge of the basic patterns and idioms on which it is based. But the online documentation is, for the most part, excellent. I can also recommend the newest 'Agile Web Development with Rails' book, especially if you're a beginner.

I was planning to give my sprint board a bit of a killer feature (in my eyes): Jira integration. I figured this would be real easy, making use of the JIRA4R Ruby client. This is basically a Ruby front for the SOAP interface which JIRA exposes. And there's the downer: as easy as Rails tries to make life for a developer, that's how hard the JIRA SOAP interface makes your life again.

Only the most basic of information is easily available. But if you want to know, for instance, the remaining time estimate on an issue, you can forget it. I don't see a way to do this with the SOAP service they set up. Same thing for updating a status; how do you even do that ? And why can I get the custom field values but not their names (administrative privileges required) ?

When you google for solutions, here's what people come up with: submit forms programmatically and parse the resulting HTML... Really, when you force developers into these kinds of patterns you have failed.

So: Rails great; JIRA ('s SOAP interface) bad.


Crimson13 said...

OMG will the SCRUM madness take over the world? I'm currently in my third two-weekly sprint myself ;-)

KrisDS said...

Amateur! ;-) Our sprints are four week marathons. :-p

Do you use any tracking tools btw ? I have some Greenhooper experience now (yes, JIRA again), but I'm not a big fan. Which is why I wanted to try this projct in the first place.

Crimson13 said...

We use an in-house developed Tracker tool. In-house as in: written by yours truly :-) This tool was started for tracking bugs. Since then tasks, activity logs, holidays, tickets (customer issues) and some other things have been added. Recently I changed the task system to allow some SCRUM specific functionalities. In addition we use an actual SCRUM board with paper cards :-)

Joram Barrez said...

Looks great Kris! Now buy a beamer and let it project on the wall for everybody to see :-)

Any chance you're going to opensource it?

KrisDS said...

@Crimson: that sounds like quite a nice piece of work. :-)

@Joram: sure, I'm willing to throw it onto sourceforge for people to play with. Can you come up with a good project name (the obvious ones are taken) ?