4 ms·
These are the concepts I associate with Kanban: - Sprints/Cycles: A period of time, usually 2 weeks, where the scope of work is fixed. - In Progress List A
by amk_ 10y ago
These are the concepts I associate with Kanban:
- Sprints/Cycles:
A period of time, usually 2 weeks, where the scope of work is fixed.
- In Progress List
A column of things actively being worked on.
- Backlog w/Work-in-Progress Limit:
The backlog is a prioritized list of everything you are going to tackle in the current cycle.
Some people would argue that if you don't have a work-in-progress limit, you aren't really doing Kanban (maybe you'd call it a Scrum board or something else instead). Estimate-aware tools like Pivotal Tracker and JIRA enforce this by having you set a "point velocity" for your team and requiring story point estimates for every feature. The cycle backlog automatically overflows into the next cycle when you exceed the velocity.
- Icebox:
An unprioritized list of features from which you draw to create the backlog at the start of a cycle. Pivotal calls it the Icebox; in GitHub/GitLab it's the main issues list; in JIRA it's wherever you set up your board to "pull" issues. In less-structured tools like Trello you have to decide where to keep this list; you might make a separate board to keep track of things needing validation, needing designs, etc. and pull them into the backlog periodically.
The general idea of Agile is to keep this list short.
- Done/Ready
A place to keep delivered tasks.
--------
From personal experience there a few things that help keep a Kanban system under control:
- Specific, deliverable tasks. Tasks should be deliverable as a chunk. Group subtasks into things that are delivered together (reviewed, tested, deployed). A card should never be resurrected from the Done pile once it's there. Use epics, tags, or labels to keep track of related cards if needed.
- Tasks should have clear acceptance criteria so they can be reviewed swiftly and developers can move onto the next item on the backlog. Fuzzy criteria lead to back-and-forth and context-switching which hurt productivity.
-- Automated testing, code coverage checkers, and linting speed up review.
-- Feature flags make it easy to break up large projects into independently-mergeable chunks, which improves task transparency.
- Track bugs in a separate project/column than your Icebox, but make sure they are added to the in-progress column when addressed. Make it easy for non-devs at your company to add bugs to the list and aggressively dedupe.
- Have some way of indicating task state beyond using columns for everything. Every tool provides tags; some have options more tailored at dev teams. Here are some things that you might want to track:
-- Review wanted
-- Accepted/Rejected
-- Blocked (ideally, with a link to the blocker)
-- Needs design
-- Bug vs Feature
-- Story points/weight
-- Priority (for bugs)
- Prefer tools that let you easily assign tasks right from the board view, especially to yourself. GitHub-based tools are really bad at this for some reason and require lots of clicks to assign people. Asana and Pivotal are good at this.
I suggest at least playing around with Pivotal Tracker to get a sense of what a very opinionated Agile/Kanban process looks like. You could keep using it or take some of the lessons back to Trello, Asana, JIRA, etc.
- EduardMe 10y agoThanks! > Backlog w/Work-in-Progress Limit: I think the limitation of items insides lists and having cycles with limits is a good point. Often I feel overwhelmed by the amount of ideas we have. I feel most things will never be implemented and just add to the noise. It surely "looks" good (having many cards), if you present it with many different colors and images. But it really doesn't help to sort things out and do the most impactful first. > Icebox I like the idea of the Icebox. I guess thats similar to the "inbox" concept, where you throw in unvalidated requests, ideas, reports, etc. > Tagging Internally I once suggested we should tag by impact and effort score (reddish tones for impact and blueish for effort), but this escalated quite quickly into a rainbow of cards, just adding to the clutter. And it feels like our product manager decides entirely from his gut feeling. Maybe tagging is just noisy in Trello. What's your experience, can you "over-tag" cards? Does it need a limit? Or does it work better in say Pivotal Tracker?
- amk_ 10y agoThe tags you are describing are useful for planning but they become noise for developers in their day-to-day interactions with the board. Maybe you could use a custom field on your cards or a bracket [3] notation for effort? You could replace the impact tag by stack-ranking your cards in your Inbox/Icebox project. In general, I prefer to use tags to highlight actionable things like "this is a high priority bug" or "this is ready to deploy" or "this is blocked" more than categorization, which can be better accomplished with separate boards. If your system has the concept of "epics" to group issues, that's a plus as well. PS you might want to take a look at this article if you're having difficulty prioritizing things: https://medium.com/startup-grind/ruthless-prioritization-e4256e3520a9#.tummgadw8 https://medium.com/startup-grind/ruthless-prioritization-e42...
- EduardMe 10y agoYep, that's much better and thanks for the article!