kandash


Lightweight kanban web-based board and set of analytics tools

Kanban Dashboard (Kandash)

Version 0.3 alfa is available

New in this version:

  • Reporting capabilities (cumulative flowchart, statisctics, etc.)
  • Improved interactivity with COMET support (thx to Atmosphere)
  • Boosted performance (thx to Akka)
  • Looks a bit less ugly :)
  • A lot of bugfixes

Version 0.3 will be available soon

v 0.3 will be integrated with Akka Framework (code in progress is currently available under "akka" branch). Akka Framework provides functional enterprise-scale actors, simple COMET support (based on Atmosphere framework) and fault-tolerance capabilities.

Pre-alfa version 0.1 is now available

Short screen-cast guide is available at WIKI

http://vasilrem.com/images/kandash.jpg' align='center' width='800'>

Why Kanban?

  • Kanban is much more comfortable and natural for maintenance teams/projects
  • Timeboxed iterations optional. Can have separate cadences for planning, release, and process improvement. Can be eventdriven instead of timeboxed.
  • Kanban limits WIP per workflow state, Scrum limits WIP per iteration (Kanban doesn't resist change within an iteration)
  • Commitment optional
  • Uses Lead time as default metric for planning and process improvement (Scrum uses velocity as default metric for planning and process improvement)
  • No particular item size is prescribed
  • Scrum board is reset between each iteration. In Kanban, the board is normally a persistent thing – you don’t need to reset it and start over
  • No particular type of diagram is prescribed
  • WIP limited directly (per workflow state)
  • Estimation optional
  • Can add new items whenever capacity is available
  • A kanban board may be shared by multiple teams or individuals
  • Prioritization is optional
  • Scrum prescribes crossfunctional teams. In Kanban, cross-functional teams are optional, and a board doesn’t need to be owned by one specific team. A board is related to one workflow, not necessarily one team.
  • Scrum backlog items must fit in a sprint. On the same Kanban board you might have one item that takes 1 month to complete and another item that takes 1 day.
    The list is based on the "Kanban and Scrum - making the most of both" by Henrik Kniberg and Mattias Skarin

Why Free and Open Source?

  • Because the project is mainly used as an outlet for creativity
  • I'm the first in the row of those, who're interested in the project to be done, because I'm using Kanban for maintenance projects, and still couldn't find anything better, than a set of Excel spreadsheets
  • It's easier to find like-minded persons in the open-source community

Why Ext JS?

Ext JS is a cross-browser JavaScript library for building rich internet applications. It includes:

  • High performance, customizable UI widgets
  • Well designed and extensible Component model
  • An intuitive, easy to use API

With Ext JS you can build Flash-like rich user interface in the browser window, but you're free from Flash-specific pains (and, also, in makes the application Chrome-compatible)

Why Scala?

Scala is what Java will look like in 2-3 next years. If you're ready to wait, go ahead and survive the tones of boilerplate code and lacking capabilities. Me not.

Why Mongo?

  • Mongo is a simple and lightweight document-oriented NoSQL storage
  • Mongo internal syntax is based on JavaScript, so you don't have to learn a new database DSL

Version 0.1 (pre-alfa) features

Feature Progress Board Progress New project can be added to the board DONE Widths of project columns are updated when projects are added/removed/collapsed DONE Heights of tiers are updated when tiers removed/added/collapsed DONE New tier can be added to the board DONE New task can be added to the board DONE Board can be initialized with board model DONE Board can be exported/imported When project is collapsed, shortcut to the project is added to the project bar DONE AJAX calls are made to update the model on backend (CRUD tasks, projects, tiers) DONE Board model can be persisted on the backend DONE REFACTORING: Model classes are reflected on UI(controller) DONE Existing board can be used DONE Tier Progress Tier can be removed from the board (all the projects) DONE Tier can be collapsed DONE WiP should be limited DONE Tiers can be reordered from UI DONE When new tier is added, other tiers are reordered DONE When tier is removed, all assigned tasks are removed as well DONE Tier can be updated DONE Project Progress Project can be removed from the board DONE Project can be collapsed DONE Project can be updated DONE When project is removed from the board, all tasks assigned to the project are removed as well DONE Task Task can be removed from the board DONE Task can be updated DONE Task can be drag'n'dropped within one cell (tier/project) DONE Task can be drag'n'dropped between tiers of one project DONE Different types of estimation units Task header is colored WRT the priority DONE Task can be collapsed DONE Access control Progress User model is used instead of user identifiers Basic access control for C/U/D operations; restricted access to the boards REST-services Progress Basic CRUD REST-endpoints for boards, projects, tiers and tasks DONE Model Progress Model classes are written DONE Model is stored to Mongo DB DONE API to work with boards (tasks, projects, tiers, boards CRUD) DONE Facts are added for task lifetime events DONE Reporting Progress Listings of tasks in progress, finished, in the backlog Cumulative flow chart Board selection Progress List of board names are displayed DONE Board can be opened from the list DONE

Project Information