Code Monkey home page Code Monkey logo

kanbo's Introduction

KANBO

Every fool is writing their own Kanban, Lean, Scrum, etc. task board. Here’s mine.

Status

To early to be sure of anything. I have little more than a technology demonstrator for sortable, draggable cards. A lot of work is required to flash it out in to a real app.

Aims

  • Include only what is strictly needed to make the board.
  • Extract maximum flexibility from what is included.
  • Don’t let stories that are not stories swamp the board.
  • Easy to slice by assignee, by project, etc.
  • Synchronize with your existing task list via a plugin maybe.

Concepts

Very, very roughly, my aim is to have a vague enough set of mechanisms that they can be applied to several flavours of agile development.

  • User stories and programmer tasks: Changes to the user-visible behaviour of the system. Stories are written from the customer’s point of view and are subdivided in to tasks by the programmers when the time comes to implement them.
  • Wants: What the goal donor has said they want done, but not yet in a state that it can be committed to and therefore added to the backlog.
  • Achievements: Stories that have completed their life-cycle.

The point of separating out wants and achievements is to get them off the board and reduce clutter.

  • Card: Represents a story or task on the boad.

  • Bin (State?): A place on the board that shows where in its life-cycle a card is. Might include project backlog, sprint backlog, in progress, testing, accepted, done, or whatever.

  • Tag: Ways of classifying stories. Projects, sprints, etc., might all be tags.

  • Bag: A collection of tags of one type. There might be a bag of project tags.

  • Bag rules: Says whether a story can have one or many tags from that bag.

The board would be laid out with bins as columns and tags of some bag defining the rows.

Installation

This is a Django web app.

Create a python virtual environment . With virtualenvwrapper, something like this should do the trick:

mkvirtualenv --python=$(which pypy) --distribute --no-site kanbo

The --python option is optional—this server has so far been tested with Python 2.7 and a nightly build of PyPy. The latter is fine so long as it works, but can trip over some PyPy bugs, so sticking to CPython will be expedient for now.

One of the packages it uses has to be installed from Git for now:

 pip install git+git://github.com/pdc/fakeredis.git

The rest can be installed in the usual way:

pip install -r requirements.txt

Now you can test it

./manage.py test board

I use South for migrations, so you set up a database as follows

./manage.py syncdb
./manage.py migrate board

kanbo's People

Contributors

dependabot[bot] avatar pdc avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kanbo's Issues

IE8 styling of tabs does not quite work

Appearance of grid/details tabs fails because the blue background does not extend down to the bottom of the tabs. Presumably the ::after CSS trick does not work in IE8.

array.indexOf does not work in IE8

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; MS-RTC LM 8)
Timestamp: Thu, 17 May 2012 11:03:02 UTC

Message: Object doesn't support this property or method
Line: 73
Char: 13
Code: 0
URI: http://static.kanbo.me.uk/js/board.js

Message: Object doesn't support this property or method
Line: 73
Char: 13
Code: 0
URI: http://static.kanbo.me.uk/js/board.js

Message: Object doesn't support this property or method
Line: 73
Char: 13
Code: 0
URI: http://static.kanbo.me.uk/js/board.js

-----8<-----cut here-----8<-----

The propery or method in question is Array.indexOf. See

http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/

Grid page leaks memory

When left running overnight on Chrome, the grid page’s memory footprint swells enormously: closing the window releases several hundred megabytes according to Activity Monitor.

Possible culprits are presumably closures in JavaScript, or possibly that timeout handlers need to be more careful about releasing acquired resources.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.