Not Invented Here syndrome (NIH) is the guilty pleasure that tempts engineering teams into creating bespoke approaches to problems that have already been solved. Even having your eyes opened to the temptation doesn’t immunize you from it. So, how do you know whether a bespoke solution warrants the effort or if it’s just plain hubris?
At Alley, we use Kanban to manage software development. (For more on exactly what Kanban is and how we use it at Alley, check out this post.) However, we quickly realized that Kanban at Alley was going to be fairly complicated to implement so we built a plugin for Redmine, our project management system. This plugin, named Task Board, looks a lot like Trello on the surface (with a drag & drop interface and all!), but the real power comes in how it is conceptually used.
Task Board can be configured by client/project in Redmine to have as many or as few columns as are required, and each column can have a Work in Progress (WIP) limit placed on it. Our basic column setup is: New Work > Pending Work > In Progress Work > Feedback > Completed Work. The limit on each column depends on the arrangement with the client for maintenance projects or our three items per developer rule for development projects. Here is a quick rundown on the columns we typically use on all projects:
- “New Work” is the entire backlog for the project – all the items which have yet to be prioritized.
- “Pending Work” is the prioritized work as determined by the client (for maintenance projects) or the developer and the client together (for development projects).
- “In Progress Work” are the items which are actively being worked on in development.
- “Feedback” is a place for items which need further information from clients or those items which are ready for QA/Acceptance.
- “Completed Work” has been finished and approved by the client for the project.
Some fair warning: just having a utility like Task Board isn’t enough to say you are using Kanban. It takes real dedication from the entire team to Kanban’s underlying concepts. Complete buy-in is needed from all developers and the project managers in order for this to truly succeed. Only then will a plugin like Task Board allow you to elevate your work level to a place where you are consistently delivering high quality work.
Interested in using Task Board? A future blog post will detail how it was built and how you can use it for yourself, or if you run Redmine and understand how plugins work, you can grab it from Github now.