Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig
1. JIRA beherrschbar administrieren oder
wie mache ich JIRA wirklich
enterprisefähig
Dr. Wolfgang Tank
Communardo Community Day 2011
Frankfurt, 27.09.2011
2. Vorwort
• Hör ich da Kritik raus?
• Ich dachte doch immer, Jira wäre
enterprisefähig
27.9.2011 Communardo Community Day 2011 2
3. I love Jira – I hate Jira
Konstruktive Kritik muss erlaubt sein.
27.9.2011 Communardo Community Day 2011 3
4. 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
5. Kontext
• Verwaltung größerer dynamisch sich
wandelnder Projektportfolios
• Heterogene Workflows
• hohe Feldvarianz
27.9.2011 Communardo Community Day 2011 5
6. 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
7. 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
8. 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
9. 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
10. Best Practises
• Masterprojekte und Projekte als Vorgänge
• Umgang mit Feldkonfigurationen und
Screendefinitionen
• Namenskonventionen
27.9.2011 Communardo Community Day 2011 10
12. 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
15. Projektadministration per Transition
Copy Project als Postfunction /
CustomWare Jira Utilities
Change Permission Scheme Postfunction /
catWorkX Utility
27.9.2011 Communardo Community Day 2011 15
16. 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
17. 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
19. 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
20. 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
25. Filtern in Tabellen
JIRA Admin Speakeasy Extension
27.9.2011 Communardo Community Day 2011 25
26. 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
27. 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
28. 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