Simple kanban is great! It’s simple! Okay, new users, new feature requests. Wow now I’ve got a really robust product but still it only solves problems for maybe 30% of people. Let’s add more! Eventually we have converged to Jira and instead of doing a few things really well we now do everything poorly. At this point you’ve probably got enough cargo culted corporate bureaucrats using your product to survive for quite awhile as you ride the wave of revenue into the slow tide of mediocrity. Then the death and rebirth as the new starry eyed project management tool begins as YetAnotherTrelloClone
Too often some manager asks for (and is given) admin access and starts “improving” things.
Sure, anybody can create custom fields and screens and slap together a janky “workflow”, but well-oiled Jira Ops prevent an explosion of custom fields, they curate the create, browse and edit screens of each issue type to only show the fields that are important at that stage, use custom screens on workflow transitions along with validators and conditions to help ensure an issue is always in a reasonable state, etc. Then users don’t complain about the tooling.
But Jira governance takes time, effort, discussions with stakeholders, etc. And without it Jira gets a bad rap.
True but oversimplified. Without a Jira administrative state, along with of course democratically elected Jira executive and legislature and a duly appointed Jira Supreme Court, Jira governance committees over time tend to slide into self-dealing, tyranny and eventually mass executions of anti-Jira resistance factions.
Sustaining Jira regime legitimacy over time is far more involved than simply a governance committee with its stakeholder discussions and five year plans for new custom fields.
Is a system that does everything within its scope well not conceivable? If it is, does systems ending up like Jira come as a result of scope creep and gradual evolution (not designing the whole thing up front with its admittedly huge scope), not enough development effort or just wanting to ship things soon instead of spending 5 years making the damn thing be good? And then, how do we get there - a Jira killer, that’d be as good as Linux (or maybe BSD) is to OSes? It’s weird that project management has either small focused tools or big ones that are also bad in a variety of ways.
The combinatorial of interactions between many features will inevitably create unresolvable edge-cases that need to be patched over, either hidden away or by tacking on more complexity so the user can control how these edge-cases should be solved for their own workflow.
There is no way to do such design upfront, you can only upfront what you can think and reason about. That's how all projects start, and their demise is exactly from realising "oh, we don't cover this flow, maybe we should have a feature for that". Taking all these learnings and applying to a new system that has more design upfront starts to verge on Second System problem.
Linux is also full of cruft, it's good enough but I don't think you should live with the impression that is a benchmark of software quality. It's still impressive but as any complex system it has many issues from legacy.
That’s a feature, not a bug.
One of the big benefits of a physical kanban board is that the limited space means people only write down the stuff they really care to keep track of. For me it has never resulted in people forgetting anything important. It means they don't write down the unimportant stuff.
It's possible that some people would write down a lot of trivia or fantasy features, especially to start. The best response to that is to let them write the cards and then sort them according to actual priorities. But I've never seen anybody persist in that behavior very long. If they do, I think it's a sign of organization problems that tools can at best mask, never fix.
I think this can also be true of virtual kanban boards (e.g., GitHub's kanban view) if you keep people focused on the kanban view. Then they learn to focus on what's being worked on and the near-term to-do list. You can have a backlog column and let people fill it up as much as they want, but as long as you groom the top 20 cards or so to be your actual current priorities, people eventually adapt.
Unfortunately, so many people have been doing cargo-cult agile for so long that now the word "kanban" means 'task board with columns' to most people.
It should not be possible to put 200 items into a column on a Kanban board unless the team is actually shown to have the capacity to work on them without causing a bottleneck.
These days I'm on an all-remote team, and we use GitHub's kanban interface with WIP limits. That also works fine, and them main difference form how I worked back then is that we no longer do estimates.
I'm not sure what went wrong for you, but my strong suggestion is not to think of it as a task board. Think of it as a board that lists units of value. E.g., features delivered, research completed, messes cleaned up. We do sometimes make task breakdowns for cards, but that happens as we start work on the card, and it's just a checklist somewhere (for us currently, in the GitHub issue via Markdown checklists).
An important mindset shift for a lot of teams to use kanban boards well is to get away from siloing and toward collaboration. For my teams, cards were generally not individual achievements, but things we collaborated on.
I think it's also important for software teams to have a BLOCKED column between TODO and WORKING. The only cards that should count against your WIP limit are the ones that people are truly working on that day. If there's something you can't work on for some external reason, move it to BLOCKED. Then before a card is taken from TODO, try getting any BLOCKED item going first. It's also worth talking in your retrospectives about common reasons things end up blocked, and I like to set a pretty low limit for blocked cards to force discussion.
Happy to discuss further, but kanban approaches definitely work well for software.
Such a bold statement when you must know that countless people have a very different experience. Kanban the team methodology is about process efficiency and avoiding bottlenecks.
WIP limits are triggers to redirect resources to the bottleneck is that causes the pileup. Example: If there is pileup of PRs needing review, that is the trigger for devs on the team to stop making new PRs and switch to doing reviews.
Kanban is certainly not the best methodology for all team tasks but where it fits it works very well.
Sadly, for a lot of teams "we are doing kanban" means nothing more than "we are using a task board with columns" or worse "we have no constraints or flow controls and do everything ad hoc."
I’m still in the lookout for a great kanban software though.