Integrating RequestTracker and flow.io

Image by petitshoo (http://www.flickr.com/photos/petitshoo/)For a year or 2 we have been using flow.io at the company I work at to track projects. About a year ago, we decided to use RequestTracker (RT) to track incoming helpdesk requests, and started incorporating tasks within projects. RT almost replaced flow.io, but it lacks in the visualization of the Kanban process. Rather than building a completely new Kanban board on top of RT, I decided to use flow.io as the visualization tool, and get some measurements thrown in as a bonus.

flow.io has a nice REST API interface, allowing you to get a lot of information about your boards, and create or update new tasks. Deleting tasks is done by updating a task to a status of Deleted, giving you the opportunity to undelete the task. I’ve worked with REST interfaces before, so I wasn’t expecting a whole lot of problems there.

The challenge was RT. RT is written in Perl, and uses something called Scrips to run little scripts when something changes on an RT ticket. Scrips are pieces of Perl code. And I’ve never done anything in Perl before… except for a few Mister House scripts.

Below are the steps I took to make this work. It is a work in progress, and I’ve put it on github as an Open Source project, so feel free to improve it, fork it, or whatever.

[Read more...]

Working on a little project

Picture by peneli

Hey guys, just wanted to let you know I’m still alive and hard at work…

I was planning on putting out some posts on how I integrated Request Tracker with Flow.io, but it takes a little longer than expected (my Perl knowledge is growing by the day though). It seems to work now, so keep your eyes on the blog, and I’ll post something next week or so.

Meanwhile, enjoy summer!

2011 Software Craftsmanship Calendar

NimblePros has a 2011 calendar available focused on Software Craftsmanship. The calendar focuses on principals in software development, in the style of the motivational posters.

The 2011 calendar features: Single Responsibility Principle, Dependency Inversion Principle, Common Closure Principle, Common Reuse Principle, Boy Scout Rule, YAGNI, Eliminate Waste, Shipping is a Feature, Don’t Repeat Yourself, Interface Segregation Principle, Liskov Substitution Principle, Open Closed Principle.

Each calendar is $15.95, and quantities are limited!

Sharpening the Tools

Through InfoQ I came across this awesome presentation by Dan North about how to progress from beginner to expert, and how that cycle continues (even after reaching expert level).

Just a couple of tools I’d never heard about:

  • Hudson – A continuous integration tool, for Java projects, that allows easy integration of changes into a project, and easy retrieval of a fresh build.
  • GROW Framework – A coaching/self-help tool. GROW stands for Goal, current Reality, Options, and Will. In a nutshell, it lets you evaluate what you want to do, how you want to do it, and apply yourself to doing it.
  • Six Thinking Hats – A thinking tool for group discussions and individual thinking.
  • Clojure – A strange mix between Java and Lisp..?
  • Open Spaces – A meeting/discussion technique to discuss various topics, in a sort-of ad-hoc conference way. Open Spaces last from half a day to about 2 days.
  • Ivy – The Agile Dependency Manager (and that’s all I have for now).

So it looks like I’ve got a nice list of things to learn about, on top of trying to learn more about HTML5, JavaScript, C#, Sharepoint, Visual Web Developer, and MS-SQL…

Kanban in software development

The last year or so I’ve been increasingly involved in Continuous Improvement events, “leaning” the organization and removing non-value added steps from processes.

Most of these processes were manufacturing-oriented. However, some of the same principles can be applied to office processes. While we were discussing that, I kept wondering how to use some of these Lean principles in software development. It turns out I wasn’t the only one, and there are several ways to apply Lean in development.

I moved in about a year from project-driven to-do lists, through Agile/Scrum development, towards something similar to Kanban in the factory process. The principle of Kanban development is fairly simple: limit the amount of Work In Progress (WIP), allowing for more flexible assignment of development tasks, more visibility, and a clearer flow of tasks through the different stages (analysis, development, acceptance, deployment).

In the process of learning about these techniques I came across a variety of websites and blog posts that may be of interest:

I think in the next several weeks we’ll look into Kanban software development closer, and see if we can apply it in our small development department.