Mein Team ist sehr an Jira Scrum-Boards gewöhnt, hat aber vor kurzem beschlossen, Kanban auszuprobieren. Da unsere Tickets alle in Jira eingerichtet sind, lag es nahe, auch das Kanban-Board in Jira einzurichten.
Schon bald stellten wir jedoch fest, dass das Jira-Board Einschränkungen aufweist, die den Kanban-Pull-Ansatz untergraben. Jira unterstützt keine Unterspalten 🤯.
Es gibt ein Problem, das bis ins Jahr 2010 zurückreicht:
Man kann im Jira-Kanban-Board keine WIP-Limits festlegen, die mehrere Spalten gleichzeitig einschränken.
In diesem Blogbeitrag möchte ich die Entwicklung unseres Kanban-Boards in Jira beschreiben und darauf eingehen, wie wir diese fehlende Funktion umgangen haben.
Wir richteten ein Kanban-Board mit einem Status pro Spalte ein, so dass sie ähnlich aussah wie diese:
Abbildung 1
Jede Spalte bekam dann ein eigenes WIP-Limit . Wir stellten bald fest, dass dies nicht unserem tatsächlichen Arbeitsprozess entsprach. Wenn ich zum Beispiel eine Programmieraufgabe fertiggestellt hatte, war sie automatisch "bereit für die Überprüfung", aber aufgrund der vorhandenen WIP-Limits konnte ich sie künstlich in der Entwicklungsspur zurückhalten, bis die nächste Spalte frei war.
Dies führte dann zu der Anpassung, dass alle "bereit für..."-Spalten ohne jegliche Begrenzung eingerichtet wurden. Wir haben also von vornherein Warteschlangen eingeführt. Einer der Hauptgründe für die Anwendung des Kanban-Konzepts ist jedoch die Vermeidung von Warteschlangen im System. Dies war also ein sehr schlechter Entwurfsansatz.
Um die erwähnten Warteschlangen zu vermeiden, fügten wir mehrere Zustände in eine Spalte ein, etwa so:
Abbildung 2
Aber wie kann man die beiden Zustände unterscheiden, wenn man sich das Board ansieht? Wir haben das auf zwei Arten gemacht. Wir färbten das Ticket nach Status ein und fügten zusätzlich den Status selbst in das Kartenlayout ein. Das Kanban-Board sah dann wie folgt aus:
Abbildung 3
Für die meisten Teams funktioniert dies problemlos, und wie ihr in den Kommentaren zum Jira-Problem lesen könnt, wird diese Lösung von vielen Jira-Nutzern verwendet.
Unser Team war dennoch nicht zufrieden damit und das Thema kam in unseren Retros immer wieder auf.
Deshalb haben wir versucht, die fehlenden Unterspalten durch angepasstes CSS zu überdecken. Wir haben ein Browser-Plugin verwendet, um das CSS der Jira-Seite zu überschreiben. Tickets, die bereit sind, auf die nächste Spur gezogen zu werden, werden weiter nach rechts und die anderen Tickets weiter nach links verschoben. Dies ist das Ergebnis:
Abbildung 4
Jetzt ist es super einfach zu sehen, welche Tickets in die nächste Spur gezogen werden können, während das WIP-Limit für mehrere Spalten weiterhin gilt.
Es gibt noch zwei Nachteile. Leider ist es in Jira nicht möglich, ein Ticket innerhalb einer Spalte zu verschieben. Wenn man also ein Ticket von "in Entwicklung" auf "bereit für die Entwicklung" umstellen möchte, kann man das nicht tun, indem man das Ticket auf dem Board verschiebt. Stattdessen muss das Ticket geöffnet und der Status dort geändert werden. Der andere Nachteil ist, dass das benutzerdefinierte CSS auf Jira angewiesen ist, um das Board auf eine bestimmte Weise zu implementieren. Ich habe gerade die Möglichkeit gesehen, eine erweiterte Board-Version mit einem etwas anderen Layout zu verwenden. Leider funktioniert unser CSS nicht mehr, wenn wir diese Funktion aktivieren. Wenn Jira also sein Layout anpasst, müssen wir möglicherweise auch unser CSS anpassen.
Weitere Teammitglieder begannen, das CSS zu verwenden, und zum Glück wurde es weiter optimiert, so dass es etwas kleiner wurde und auch in mehreren Browsern funktioniert. Damit es überhaupt funktioniert, muss der Status des Tickets auf dem Kartenlayout angezeigt werden. Wenn ihr es auch ausprobieren wollt, könnt ihr das unter dem Artikel gepostete CSS verwenden. Ihr müsst den Status natürlich anpassen, damit er zu eurem Board-Setup passt.
Im Zweifelsfall wendet euch einfach an einen Entwickler in eurem Team oder schreibt hier einen Kommentar.
Ich hoffe, dass dies anderen Teams hilft, eine Kanban-Board in Jira auf die "richtige" Art und Weise zu nutzen ;-) Lasst mich wissen, wenn ihr weitere Ideen zur Verbesserung oder Vereinfachung des Setups habt!
/*
This files contains custom css which you can use
to overwrite the JIRA css. It enables us to work with
subcolums when using a Kanban board.
In order for it to work you need to display the Status
of your ticket (board preferences - card layout)
For Firefox you need to enable the has functionality in your about:config file
Open the about:config file and set layout.css.has-selector.enabled to true.
*/
/* general stuff */
section.ghx-summary {
font-weight: bold;
}
/* dev */
div.ghx-issue:has( span[data-tooltip="Status: In Progress"]) {
margin-right: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: In Arbeit"]) {
margin-right: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Ready for Review"]) {
margin-left: 40% !important
}
/* review */
div.ghx-issue:has( span[data-tooltip="Status: In Review"]) {
margin-right: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Testbereit"]) {
margin-left: 40% !important
}
/* test */
div.ghx-issue:has( span[data-tooltip="Status: In Test"]) {
margin-right: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: im Test"]) {
margin-right: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Getestet"]) {
margin-left: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Tested"]) {
margin-left: 40% !important
}
/* done */
div.ghx-issue:has( span[data-tooltip="Status: Closed"]) {
margin-left: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Deploy"]) {
margin-left: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Resolved"]) {
margin-left: 40% !important
}
div.ghx-issue:has( span[data-tooltip="Status: Integrated"]) {
margin-right: 40% !important
}
Möchtest du Teil des Teams werden?
Coole Idee leider habe ich noch keine Lösung für die Jira Cloud Variante finden können. Habt ihr dafür schon eine Lösung?
Hallo,
bisher konnte ich die neue Ansicht in Jira deaktivieren und daher trägt unsere Lösung noch. Sollten wir das aber mal ändern und eine Lösung finden, aktualisiere ich gerne noch mal den Artikel.
Schöne Grüße,
Steffi
We have received your feedback.