Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig
JIRA beherrschbar administrieren oder
wie mache ich JIRA wirklich
enterprisefähig
Dr. Wolfgang Tank
Communardo Community Day 2011
Frankfurt, 27.09.2011
Vorwort
• Hör ich da Kritik raus?
• Ich dachte doch immer, Jira wäre
enterprisefähig
27.9.2011 Communardo Community Day 2011 2
I love Jira – I hate Jira
Konstruktive Kritik muss erlaubt sein.
27.9.2011 Communardo Community Day 2011 3
Agenda
• Einordnung / Klärung des Kontext
• Schwachstellen von Jira (vor dem Hintergrund
des Kontextes)
• Best-Practises / Workarounds
• Fazit
27.9.2011 Communardo Community Day 2011 4
Kontext
• Verwaltung größerer dynamisch sich
wandelnder Projektportfolios
• Heterogene Workflows
• hohe Feldvarianz
27.9.2011 Communardo Community Day 2011 5
Kontextbezogenes Geschäftsumfeld
• Auftragsbezogene Individualentwicklung
• Hohes Projektaufkommen verteilt auf mehrere
unabhängig agierende Teams
• Jira als Plattform für allgemeines Aufgaben /
Workflowmanagement
• Jira wird von Atlassian mit hohem
Eigennutzungsantrieb entwickelt
– Auftragsunabhängige Produktentwicklung ist homogener und
weniger dynamisch
27.9.2011 Communardo Community Day 2011 6
Kontextbezogene Schwachstellen
• Projekte sind keine Mandanten
– Projektübergreifende Verwendung von Schemadefinitionen
• Administrationsrechte unzureichend
deligierbar
– Projektadmins können Personen, Komponenten, Versionen
verwalten aber
– z.B. keine Felder anpassen (insbesondere Optionen)
• Adminrechte diffundieren
• Administrative Anpassungen bleiben Stückwerk
produzieren ungewollte Seiteneffekte, führen
zu Wildwuchs in den Bezeichnungen
27.9.2011 Communardo Community Day 2011 7
Kontextbezogene Schwachstellen
• Handling langer Definitionslisten (Felder,
Screens)
– Keine Filterfunktion
• Handling von Feldkonfigurationen
– Default-Einstellung (sichtbar) für Felder in
Feldkonfigurationen
– Scrolling
• Zuordnung von Workflow-Schemes
– Keine Sammelzuordnung möglich
27.9.2011 Communardo Community Day 2011 8
Kontextbezogene Schwachstellen
• Projektglobale Berechtigungs- /
Benachrichtigungsschemata
– Nicht vorgangstypspezifisch
• Dashboard-Verteilung
– Pull-Prinzip über Favoriten ist selten gewünscht
• Project Deployment
27.9.2011 Communardo Community Day 2011 9
Best Practises
• Masterprojekte und Projekte als Vorgänge
• Umgang mit Feldkonfigurationen und
Screendefinitionen
• Namenskonventionen
27.9.2011 Communardo Community Day 2011 10
Umgang mit Vorlagen
• Copy project
– Built-In Script / Groovyrunner-Plugin
• Projekt / Projekt-Verlinkung
– Metadatum am Projekt / Jira Metadata Plugin
• Roll-Out / Synchronisation von
Schemaänderungen am Master auf seine
abgeleiteten Projekte
27.9.2011 Communardo Community Day 2011 12
Projektadministration per Transition
Copy Project als Postfunction /
CustomWare Jira Utilities
Change Permission Scheme Postfunction /
catWorkX Utility
27.9.2011 Communardo Community Day 2011 15
Feldkontext / Feldkonfiguration / Screen
• Felder werden global definiert und können
grundsätzlich auf bestimmte Vorgangstypen
oder Projekte eingeschränkt werden
• Achtung: Feldkonfiguration sind zunächst
projekt- und vorgangstypunabhängig
– Kein unmittelbares Feedback über den Kontext eines Feldes
27.9.2011 Communardo Community Day 2011 16
Umgang mit Feldkontexten
• Schränke Felder bei der Definition auf
Vorgangstypen ein, nicht aber auf Projekte, die
aus Masterprojekten abgeleitet werden
27.9.2011 Communardo Community Day 2011 17
Best Practise Feldkonfigurationen / Screens
• Belasse Bildschirmdefinitionen universell und
spezialisiere diese durch die Feldkonfiguration
– Für create, edit und view-Operationen reicht im Best Case
ein Standard-Bildschirm mit allen Feldern
• Leite Feldkonfigurationen aus einer
Defaultkonfiguration ab, die initial alle
möglichen Felder deaktiviert (hide)
– Achtung: Neu definierte Felder sind initial in allen
vorhandenen Feldkonfigurationen aktiviert,
• Feature Request
– Standardverhalten umdrehen oder parametrierbar machen
– Sammeloperation „Hide Field in all Screens“
27.9.2011 Communardo Community Day 2011 19
Best Practise Namenskonvention
• Berücksichtige die Sortierung in
Definitionslisten
• Feldkonfigurations-, Vorgangstyp-Bildschirm-,
Workflow-, Sicherheits-, Benachrichtigungs und
Berechtigungsschema nach Projekt benennen
• Screen Scheme, Feldkonfiguration, Workflow
nach Vorgangstyp benennen
• Felder ggf. sinnvolle Präfixe verwenden
• Screens nach Vorgang und Aktion / Übergang
27.9.2011 Communardo Community Day 2011 20
Filtern in Tabellen
JIRA Admin Speakeasy Extension
27.9.2011 Communardo Community Day 2011 25
Berechtigungs- und Benachrichtigungsschema
• Umgang mit vorgangstyp-übergreifendem
Berechtigungs- und Benachrichtigungsschema
– Problem:
• ggf. für den Kontext genau eines Vorgangstyps zu grob
• Verfeinerung führt ggf. zu einer Explosion von Rollen
– Lösung:
• Führen der berechtigten Personen explizit am Vorgang über (Multi)
User Custom Fields
• Nutzung dieser Felder in den Berechtigungsschemata
• Mengenoperation auf Multi User Custom Field (User hinzufügen,
entfernen aus Liste)
27.9.2011 Communardo Community Day 2011 26
Verteilung von Filtern / Dashboards
– Wie wäre es mit Zwangsdistribution?
– catWorkX stellt hierfür Open Source Distributions
Plugins zur Verfügung
27.9.2011 Communardo Community Day 2011 27
Best Practises - Zusammenfassung
• Masterprojekte anlegen und kopieren (Plugin
erforderlich)
• Frühzeitig Namenskonventionen einführen
– Sortierung beachten
– Kurz und prägnant
– In Abhängigkeit von der Zuordnung auf Projekt oder Vorgangstyp
• Projektübergreifende Abhängigkeiten vermeiden auch
wenn das ggf. zur Redundanz führt
• In der Standard-Feldkonfiguration Felder verstecken
– Feldkonfigurationen neu anlegen und nicht kopieren
• Projekt als Vorgangstyp führen, Administrative
Vorgänge ggf. als Postfunctions implementieren
• Dashboards und Filter zwangsdistribuieren
27.9.2011 Communardo Community Day 2011 28