On Kanban
07/07/2021: Kanban is now well known in IT management of large corporations. Where did it come from? Who popularized it? And what is the best software to make IT work for you?It has lately been a big hit in IT - both development and operations.
What is a Kanban?
First of all, do not call it kanban board - it comes from 看 "Watch over" 板 "board" - and you do not want to be the person who types their Personal Identification Number number in an Automatic Teller Machine machine.
In its native field of manufacturing, Kanban boards serve as a visual aid in materials release and workforce management. In a large blackboard-like layout, cards are arranged for the floor manager and those concerned with medium-term management get a clear information on production factor volumes held in each stage of manufacturing process.
Often color-coded by delivery date, contract, or intermediate products sub-step, the cards go into pockets arranged in columns. These represent stations, which may range in size - from a workbench to an assembly line to external facilities.
Additional ways to divide the board exist. One example is horizontal division into green, yellow, and red sections between load thresholds. There may be lines splitting to-do, in-progress, and done batches for purposes of floor logistics. Some companies bring in more than just that - sticky buttons, date indicators, even electronic components such as barcode scanners and RFID tags for data aggregation.
The specific use may also vary from station to station - assembly may be waiting for multiple specific cards in a row to begin work on a batch, stations using smaller parts may store them directly inside Kanban bin rack. Materials will organize their board in a weekly layout, foremen will use them for monthly rota, shift managers for even distribution throughout the day, sales may even need to work on quarterly basis to assign lead times.
With all this, the plant manager and their superiors could get all the information they need from a single view - either from the balcony, using an optional binocular, or from the less tangible but handy on-line dashboard.
Kanban in IT
How is this applicable in IT, though? With the field's importance growing, there was a need to rid it of its reputation throughout the corporate world. People had long seen it as the factor slowing them down.
"My company PC is slow, why can I not just use my own?"
"it is connecting to what?!"
"A week? Am supposed to just sit here and pick my nose?"
"Yeah, IT fucked up again, take out pen and paper."
There are many approaches, dusting off the good old manufacturing principles being one of them. In an almost religious way, a fairly recent IT management novel – The Phoenix Project – recounts them and highlights those that do apply to IT Operations with a sequel doing the same for software development.
Written in a tone of Eliyahu Moshe Goldratt's excellent piece on operations management -- The Goal -- it introduces a character of an "unconcerned" advisor. In this case, he is not as distant to the matter but appears on the main set, forcing the protagonist to observe their own company's manufacturing division.
And through these elementary observation, authors make it stand out. They explain how IT operations can structure tasks by type into infrastructure, user hardware, and software, by urgency, frequency, responsible teams, and finally steps. And that while being overly optimistic about Kanban.
The Phoenix Project Critique
Firstly, we've seen solutions to the matter in business IT ages ago in form of ticketing systems as well as project management suites. While the book is aware of both, they point at how difficult these are to follow. Company employees get access to them and slap them with overload of issues, tickets, feature requests, and cries for help. There always needs to be somebody to filter these, shielding their team from redundant or unnecessary workload. Ask for approval where it is needed, store the ticket in appropriate area, and finally assign the correct person to deal with them. And that is where it gets could get difficult.
Kanban is a pretty way to see who is busy with what and how much they can promise given the constraints. Showing this to the manager will shut them up for a while, maybe even make them understand how overloaded this business critical department is at any point.
The operations/project/product manager will also happily work with them - they can make tasks, break them down, split between teams, set deadlines and so on. Provided they have a 4K screen, there may even be enough space for them to see the whole thing.
For the developer, nowadays tied to their screen, it is not as great. With multiple columns showing up on the screen and limited width for some meaningful description of often difficult task, good 70% of the screen area becomes useless.
I may be happy to know that there are tasks coming once a prerequisite is complete but why waste an entire column with it where an expandable list with a counter would do? Upcoming tasks need work-hour estimates and have deadlines I need to track - both will do better in a simple orderable table. Backlog is not really a category for me, it's still a to-do. And completed tasks are great to check on to understand my impact but never helpful if they make my window horizontally scrollable.
The Ideal Kanban Software
Atlassian does have an okay environment in Jira but overloads it with a bit too many features I should be allowed to hide. Trello, Jira's sibling targeted at start-ups, takes the flashy stuff from her but only allows one task to be viewed at a time and does not really allow for the contingency we would love. Through the very open API, we can at least bring the relevant bits out but is it worth the time? And money?
Wekan does the same with an open-source license and a little better interface but still doesn't cut it for more complex operations with many details.
For a very similar yet more barebones solution, check out KanBoard. Being an open-source PHP project, it is very hackable on top of the great deal of ready-made plugins. It even allows toggling away from kanban view to a list-mode!
For a more user-friendly open-source, take a look at taiga.io. It also offers views on the tasks and allows filtering using all attributes. There is also a collapsed Kanban mode for top-level overview, native zoom, dynamic sectioning, sense of contingency and time-management features. And a half-assed git integration.
Step aside from kanban-first apps, Asana may come handy for teams more concerned with business operations. One can toggle Gantt view, visualize dependencies and write-up on tasks. Progress reports are more clear. Ironically, working in it gets time-consuming and it won't satisfy the technical needs of an IT department. It integrates well, sure, but is it worth the money?
For less support-oriented purposes, Notion is a great pick, bringing together task management with knowledge base, scheduling, and even allows for some custom table-form based micro apps.
Finally, there is the recently fallen big brother to them all - Phabricator by Phacility. It was an end-to-end solution for product-oriented companies in ITs with a great potential outside IT. Unfortunately, it is now, for whatever the reason is, gone.