Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

 

Kanboard - Open Source Kanban Board

Frédéric Guillot, http://fredericguillot.com/

Kanban came out of lean manufacturing techniques made by Toyota that used it to manage their workloads. The same principle can be applied to software development by matching the amount of work in progress to the team's capacity. This method gives a visual workflow, clear focus and incremental changes over the time. Kanboard is a free and open source software that put in practice the Kanban method. You can use it to manage any activity of your company: Lean business management, software development, web-marketing operations, recruiting process, sales pipeline, etc.

Web Site: http://kanboard.net/
Version tested: 1.0.11
System requirements: Web server with PHP
License & Pricing: Free and open source (AGPL)
Support: Bug tracker https://github.com/fguillot/kanboard/issues

Presentation

Kanboard is a web application that implements the Kanban methodology. The concept behind Kanban is pretty simple:

  • Visualize your workflow
  • Limit your work in progress

The goal is to work efficiently. You have a clear overview of your project with the board, where each column represents a step in your workflow. The task limit avoids working on too many tasks in the same time and allows keeping you focused to get the job done. The Kanban methodology has fewer constraints than other Agile project management approaches like Scrum. It is more flexible and focuses only on the essentials.

Installation

Kanboard can be installed almost anywhere: any shared-hosting provider, on a dedicated server, a virtual machine, a Raspberry Pi or your local machine.

To install Kanboard, you need to have a web server configured with PHP. The procedure is pretty straightforward:

  • Download the archive
  • Uncompress the files on your server
  • Make the directory data writeable
  • That's it

By default your data is stored in the embedded Sqlite database but you can choose to use Mysql or Postgresql.

Kanboard Open Source Kanban Board

With the board view, you can:

  • Drag and drop tasks between columns easily. Switch between your boards in one click.
  • Customize the columns according to your workflow.
  • Limit your work in progress to be more efficient.
  • Create and edit tasks quickly.
  • Filter the tasks by category, assignee or due date.

Working with tasks

Kanboard Open Source Kanban Board

Tasks have several properties:

  • Title
  • Description (compatible with the Markdown syntax)
  • Assignee
  • Category
  • Column
  • Color
  • Complexity: used in Agile project management, the complexity or story point is a number that tells the team how hard the story is. Most of the time people use the Fibonacci series
  • Original Estimate: estimation in hours to complete the tasks
  • Due Date

Moreover tasks can have subtasks, comments and attachments. You can also duplicate a task in the same project or move the task into another project. Closed tasks are hidden on the board, so only active tasks are visible. You can also track your time by setting a start date and fill the time-spent field. These data are exportable in CSV format.

Working with projects

Kanboard can handle multiple projects. There are two kinds of project:

  • Project with multiple users
  • Private project for a single user

Private projects don't have user management. They are designed to be used by a single person. Any user can have his own personal project. Projects with multiple users are better suited for small teams. Only administrators can create them.

User permissions

Access to projects can be restricted to some users. A standard user can be promoted "project manager". This role offers the possibility to change the configuration of the project and to access the analytic data.

Board sharing

Optionally, a board can be shared with external people, a private link allows to access the board in read-only mode from everywhere. This feature is interesting if you want to display your board on a large screen in your office, the board will be refreshed automatically. When sharing is enabled, you also have access to the RSS feed with all project activities.

Integration

Kanboard can be connected to external software. At this time, Github and Gitlab are supported by default. Mostly used by software developers, this feature can synchronize tickets and performs automatic actions based on commit messages.

Board configuration

All boards can be customized. You can change the number of columns, the title of the columns and the task limit per column. When the number of tasks goes over the limit, the background of the column becomes red. That means there are too many tasks in progress at the same time. Multitasking reduces the efficiency of the team.

Category management

Each project can have different categories, so you can group your tasks by categories. If you always create the same categories for all your projects, you can change the application settings to define your categories by default.

Swimlanes

Swimlanes are horizontal rules that separate your boards into multiple zones. It could be useful to separate software releases, to divide your tasks in different products, teams or whatever you want. All projects have a default swimlane. If there is more than one swimlane, the board will show all swimlanes. Of course, you can drag and drop tasks between swimlanes. Inactive swimlanes are not shown on the board.

Automated actions

Automatic actions are a very powerful way to minimize the user interaction. Each automatic action is defined like that:

  • An event to listen
  • An action linked to this event
  • Optionally there is some parameters to define

Each project can have a different set of automatic actions. Here are some examples:

  • When I move a task to the column "Done", automatically close this task
  • When I move a task to the column "Work in progress", assign this task to the current user
  • Assign automatically a color to a user or a category
  • Assign a task to a specific user when the task is moved to a defined column
  • Close a task when commit is received from Github

Project duplication

Projects can be duplicated in one click, so you can configure a template project with categories, users, columns and automatic actions. You can then copy this template for all your new projects.

Analytics

Kanboard is able to generate some reports:

  • User repartition: Number of tasks assigned per project member
  • Task distribution: Number of tasks per column
  • Cumulative flow diagram: This a graph display the quantity of work for a given time interval
  • Export

All tasks and subtasks can be exported as CSV files. So it is very easy to generate reports and work with any spreadsheet software.

User management

Kanboard implements a simple role management system. There are only two types of users: administrators and standard users. Administrators have access to everything and regular users cannot change the application settings. However, any simple user can be promoted project manager to be able to change the configuration of some projects. The Kanboard authentication system can work with external providers. Users can be authenticated through LDAP, ActiveDirectory, Github, Google or a reverse proxy.

Conclusion

Kanboard provides a simple way to manage projects. It is lighter and faster than traditional project management software. Kanboard focus on simplicity and efficiency. The learning curve is minimal: there is no special training needed or complex process to learn. Non-technical people can easily use Kanboard.


More Kanban and Agile Project Management Knowledge

ScrumExpert.com

Agile Videos and Tutorials


Click here to view the complete list of tools reviews

This article was originally published in the Spring 2015 issue of Methods & Tools

SpiraTeam Agile ALM


Software Testing Magazine

The Scrum Expert