Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

28
Dr. Wolfgang Tank Communardo Community Day 2011 Frankfurt, 27.09.2011 JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

description

 

Transcript of Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Page 1: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Dr. Wolfgang Tank

Communardo Community Day 2011

Frankfurt, 27.09.2011

JIRA beherrschbar administrieren oder

wie mache ich JIRA wirklich

enterprisefähig

Page 2: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Vorwort

• Hör ich da Kritik raus?

• Ich dachte doch immer, Jira wäre

enterprisefähig

Communardo Community Day 2011 27.9.2011 2

Page 3: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

I love Jira – I hate Jira

Konstruktive Kritik muss erlaubt sein.

Communardo Community Day 2011 27.9.2011 3

Page 4: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Agenda

• Einordnung / Klärung des Kontext

• Schwachstellen von Jira (vor dem Hintergrund

des Kontextes)

• Best-Practises / Workarounds

• Fazit

Communardo Community Day 2011 27.9.2011 4

Page 5: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Kontext

• Verwaltung größerer dynamisch sich

wandelnder Projektportfolios

• Heterogene Workflows

• hohe Feldvarianz

Communardo Community Day 2011 27.9.2011 5

Page 6: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 6

Page 7: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 7

Page 8: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 8

Page 9: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Kontextbezogene Schwachstellen

• Projektglobale Berechtigungs- /

Benachrichtigungsschemata

– Nicht vorgangstypspezifisch

• Dashboard-Verteilung

– Pull-Prinzip über Favoriten ist selten gewünscht

• Project Deployment

Communardo Community Day 2011 27.9.2011 9

Page 10: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Best Practises

• Masterprojekte und Projekte als Vorgänge

• Umgang mit Feldkonfigurationen und

Screendefinitionen

• Namenskonventionen

Communardo Community Day 2011 27.9.2011 10

Page 11: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Masterprojekte / Projekte als Vorgänge

Projektkategorie

Master Produktentwicklungs-

projekte

PE1

PE2

Master Kundenprojekte

KP1

KP2

Master Servicevertrag

SV1

SV2

Master SupportChannel

SC1

SC2

Communardo Community Day 2011 27.9.2011 11

Kriterium zur Abgrenzung Master:

- Unterschiedliche Vorgangstypen

- Unterschiedliche Rollen

Page 12: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 12

Page 13: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Projekte als Vorgänge

Communardo Community Day 2011 27.9.2011 13

Page 14: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Projektverzeichnis als Filter

Communardo Community Day 2011 27.9.2011 14

Page 15: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Projektadministration per Transition

Communardo Community Day 2011 27.9.2011 15

Copy Project als Postfunction /

CustomWare Jira Utilities

Change Permission Scheme Postfunction /

catWorkX Utility

Page 16: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 16

Page 17: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Umgang mit Feldkontexten

• Schränke Felder bei der Definition auf

Vorgangstypen ein, nicht aber auf Projekte, die

aus Masterprojekten abgeleitet werden

Communardo Community Day 2011 27.9.2011 17

Page 18: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Zusammenhang Feldkonfiguration / Bildschirme

Communardo Community Day 2011 27.9.2011 18

Page 19: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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“

Communardo Community Day 2011 27.9.2011 19

Page 20: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 20

Page 21: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Namenskonventionen (Schema)

Communardo Community Day 2011 27.9.2011 21

• Schemabezeichner = Projektname

Page 22: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Namenskonventionen (Feldkonfiguration)

Communardo Community Day 2011 27.9.2011 22

• erst nach Vorgangstyp, dann ggf. nach Projekt

Page 23: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Namenskonventionen (Workflow)

Communardo Community Day 2011 27.9.2011 23

• Workflowname = Vorgangsname

Page 24: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Namenskonventionen (Screens)

Communardo Community Day 2011 27.9.2011 24

Page 25: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Filtern in Tabellen

Communardo Community Day 2011 27.9.2011 25

JIRA Admin Speakeasy Extension

Page 26: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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)

Communardo Community Day 2011 27.9.2011 26

Page 27: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

Verteilung von Filtern / Dashboards

– Wie wäre es mit Zwangsdistribution?

– catWorkX stellt hierfür Open Source Distributions

Plugins zur Verfügung

Communardo Community Day 2011 27.9.2011 27

Page 28: Wolfgang Tank - JIRA beherrschbar administrieren oder wie mache ich JIRA wirklich enterprisefähig

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

Communardo Community Day 2011 27.9.2011 28