Veranstaltung "Confluence & JIRA Community Day 2013" in Frankfurt/M. am 21. November 2013.
Eine Präsentation zum Thema "JIRA goes i18n" von Jan Schulz, Head of Project bei der catWorkX GmbH.
3. Ziel des Vortrages
JIRA ist eine leistungsfähige Applikation zur Steuerung und Internationalisierung von Geschäftsprozessen
• Grundvoraussetzungen verdeutlichen
• Konzeptionelles Vorgehen vermitteln
• Strukturelle Gestaltungsoptionen darstellen
• Aspekte der Applikationsadministration
beleuchten
• Rahmenbedingungen der Infrastruktur
aufzeigen
• Vorteile und Nachteile zusammenfassen
05.11.2013
3
Wachstum mit JIRA
4. Verschiedene Ausgangslagen
die immer wieder bei verschiedenen Projekten zu Tage getreten sind.
Viele JIRAs im „Betrieb“
• Bedingt durch die niedrige, preisliche
Einstiegshürde sind viele JIRAs im Unternehmen in
der Nutzung, wenige davon offiziell
• Häufig obliegt die Nutzung einzelner
Abteilungen und JIRA wird nicht als
gesamthafte Applikation gesteuert
Nur die IT nutzt JIRA
• Wenige IT-Abteilungen nutzen ein gemeinsames
JIRA zu Steuerung der Aufgaben und für Ad-HocReporting mittels Dashboards
• Fachbereiche, vor allem im Service, nehmen
davon Kenntnis und sehen Vorteile für die
Nutzung von JIRA im B2B oder
B2C Bereichen
Typische
Kundensituationen
Konsolidierung steht an
Transparenz schaffen
• Im Rahmen von Effizienzsteigerungen
• Durch schnelles Wachstum geraten
und Kosteneinsparungen soll die IT-
etablierte Abläufe ins Stocken
Applikationslandschaft konsolidiert werden
• Verschiedene, aufeinander folgende
Kundendienstleistungen verursachen hohen
• Dabei sollen die Arbeitsprozesse der
Unternehmung durch wenige, nah am Standard
Abstimmungsdarf bei Übergabe an den nächsten
gehaltene Applikationen unterstützt werden
Bearbeiter
• Kopfmonopole haben sich gebildet
05.11.2013
4
Wachstum mit JIRA
5. Ausbau von JIRA
wenn die Entscheidung zur Internationalisierung gefallen ist, dann sind vier Phasen zu durchlaufen.
Zielerreichung
Portal Framework!
!
User!
Management!
3
Issue Type
Control!
Tables!
Deployment!
Tool!
Dynamic!
Searches!
Status!
Handler!
Service!
Request!
4
Screen
Scheme
Application!
Interface!
Master Data!
handler!
Screen
Translation!
Managemetn!
Incident!
Workflow!
Change!
Request!
...!
7
Notification
Scheme
Notification
Permission
Scheme
Issue Screen
Type Scheme
Permission
Issue Security
Scheme
Security Level
Zukunft
1
6
Work Flow
Scheme
System
Custom Fields
Field
Configuration
Project
• 53 produktiv
• 25 noch zu
löschen
5
Field
Configuration
Scheme
Allgemeine Fragen
• Geschäftsprozesse
• Datenkonsistenz
• Systembetreuung
...!
8
...!
Neue Anforderungen
2
Workflow
CR2!
CR!
Plan!
Do!
Act!
Check!
CR1!
CRT!
FR!
UMT!
FR2!
Berechtigungen
• Workflows
• Issue Typen
• Benachrichtigunen
• Etc.
• Rollen und Rechte
• Permissions
• Issue Security
JIRA Projekte
Customisings
• Benutzerdefinierte
Felder
• Post Functions,
Validatoren,
Conditions
Gestern
Zukunft
Allgemeine
Konfiguration
• Systeminformationen
• Benutzerverzeichnissdienste
• Anwendungsverknüpfungen
System Assessment
05.11.2013
FR1!
Schemata
5
Cleansing
Konzeption
Wachstum mit JIRA
Implementation
Zeitverlauf
6. System Assessment
wesentliche Merkmale der aktuellen Applikation und deren Einbettung in die IT-Landschaft aufnehmen.
Tätigkeiten
Allgemeine Fragen
• Geschäftsprozesse
• Datenkonsistenz
• Systembetreuung
Aufnahme der IST-Situation
Identifizierung von Risiken
Cleansing-Bedarf identifizieren
•
•
•
Schemata
Berechtigungen
Liefergegenstände
•
•
•
System Assessment Report
Failure Mode Effect Analysis
Ablaufplan für Cleansing
JIRA Projekte
Customizings
• Benutzerdefinierte
Felder
• Post Functions,
Validatoren,
Conditions
05.11.2013
• Workflows
• Issue Typen
• Benachrichtigungen
• Etc.
• Rollen und Rechte
• Permissions
• Issue Security
6
Wachstum mit JIRA
Allgemeine
Konfiguration
• Systeminformationen
• Benutzerverzeichnissdienste
• Anwendungsverknüpfungen
7. Cleansing
in den Quellsystemen sind eindeutige Bezeichnungen für die Strukturierung vor der Datenbereinigung notwendig
3
4
Screen
Scheme
Screen
Issue Type
7
Notification
Scheme
Notification
Permission
Scheme
Permission
Issue Security
Scheme
Issue Screen
Type Scheme
Security Level
1
6
2
Workflow
Workflow
Scheme
Project
• 53 produktiv
• 25 noch zu
löschen
5
System
Custom Fields
Field
Configuration
8
Field
Configuration
Scheme
1
• Nicht benötigte Projekte löschen
5
• Nicht benötigte Field Configuration Schemata löschen
• Verbleibende Field Configuration Schemata eindeutig umbenennen*
2
• Nicht benötigte Workflow Schemata löschen
• Verbleibende Workflow Schemata eindeutig umbenennen*
6
• Nicht benötigte Permission Schemata löschen
• Verbleibende Permission Schemata eindeutig umbenennen*
3
• Nicht benötigte Screen Schemata löschen
• Verbleibende Screen Schemata eindeutig umbenennen*
7
• Nicht benötigte Notification Schemata löschen
• Verbleibende Notification Schemata eindeutig umbenennen*
4
• Nicht benötigte Issue Type Screen Schemata löschen
• Verbleibende Issue Type Screen Schemata eindeutig umbenennen*
8
• Nicht benötigte Issue Security Schemata löschen
• Verbleibende Issue Security Schemata eindeutig umbenennen*
*) es darf kein default schema verwendet werden
05.11.2013
7
Wachstum mit JIRA
8. Cleansing
im nächsten Schritt sind Custom Fields (CFs), Issue Types, Screens, etc. zu bereinigen.
2
Field Type
3
Field Name
Icon
Description
Type
Search
Template
Name
1
Workflow
Scheme
Custom Field
Field
Configuration
Scheme
5
4
Context
Issue Type
Project
Issue Screen
Type Scheme
1
• Nicht benötigte Custom Fields (CFs) löschen
• Verbleibende Custom Fields eindeutig benennen
2
• Es dürfen keine gleichlautenden CFs mit unterschiedlichen Field Typen
mehr existieren
3
4
05.11.2013
Description
5
• Ggfs. nicht benötigte Issue Typen sind zu löschen
• Verbleibende Issue Typen sind eindeutig zu benennen
• Custom Field Syntax ist mit dem Kunden zu definieren
• Review der Custom Field Optionsfelder durchführen
8
Wachstum mit JIRA
9. Konzeption - Vorausschauende Entwicklung
die Steuerung von Vorgängen mit JIRA begeistert und zieht schnell zahlreiche neue Anforderungen mit sich.
Typischer JIRA-Prozess-Ansatz
o
o
o
...
Schrittweise kommen neue Prozesse hinzu
Jeder zusätzliche Prozess hat seine spezifischen Features
Es entstehen Varianten vom ursprünglichen Prozess
o
o
o
Die Pflege des Systems wird aufwändiger
Dateninkonsistenzen wachsen schleichend
Ein Konsolidierung wird notwendig
Zukunft
JIRA-Portal-Ansatz
o
o
o
Features werden in Komponenten bereitgestellt
Business Logik durch Steuerungstabellen
Master Prozesse sind als Schablonen angelegt
o
o
o
...
...
Neue Anforderungen
...
Die Pflege des Systems wird vereinfacht
Dateninkonsistenzen werden reduziert
Anpassungsfähigkeit an Prozessänderungen gewährleistet
INCUK
Plan!
9
Check!
SRVUK
USM
SRV
TRS
INCDE
SRVDE
Gestern
05.11.2013
Do!
Act!
INC
Wachstum mit JIRA
Zeitverlauf
Zukunft
10. Implementation
im Prozess-Ansatz werden die Standard Komponenten nicht verändert. Die Portal-Logik erweitert diese.
Prozess Entwicklung
Portal Entwicklung
SRVDE
SRVFR
SRVUK
...
INCDE
INCFR
INCUK
...
Allgemeine
Benutzer-
verwaltung
Standard
System
Sprachpakete
Benachrich-
tigungen
...
User
Management
Translation
Management
Application
Interface
Control
Tables
Master Data
Handler
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Incident
Workflow
Change
Request
...
1
Gestaltung und Entwicklung der Prozesse
1
Erweiterung der Standard-System-Komponenten
2
Nutzung der Standard-System-Komponenten
2
Gestaltung und Entwicklung von Prozessvorlagen
05.11.2013
10
Wachstum mit JIRA
11. Implementation
Erweiterung der Funktionen für ein Enterprise-fähiges User Management.
Standard-Funktion:
•
•
Benutzer wird manuell angelegt
Gruppen und Rollen werden manuell gepflegt
oder
•
•
Portal Framework
Benutzerverzeichnisdienst ist angebunden
Rollen werden manuell gepflegt
User
Management
•
•
•
•
05.11.2013
11
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Benutzer registriert und meldet sich für bestimmte
Prozesse an
Benutzer wählt seine Sprachpräferenz aus
Administrator nutzt eine erweiterte
Benutzeroberfläche, um die Berechtigungen zu
aktivieren bzw. zu verwalten
Ein Script sorgt nach Aktivierung bzw. Deaktivierung
für die Zuordnung in die Gruppen und Rollen
Application
Interface
Master Data
Handler
Portal-Funktion:
Translation
Management
Incident
Workflow
Change
Request
...
12. Implementation
Vorstellung der Registrierung mit mehrsprachlicher Unterstützung.
• Der Registrierungsprozess gliedert sich in zwei Teile.
Zunächst muss der Benutzer im oberen Teil des
Bildschirms eine Sprache wählen und das Land in der
seine Firma ansässig ist.
• Nach dem Absenden gelangt auf ein umfangreicheres
Formular, das sich in mehrere Tabs aufteilt.
1
2
• Hat er seine Daten durch die Betätigung des
entsprechenden Buttons abgesendet, gelangt seine
Registrierungs-Anfrage zum Benutzerverwalter, der
diese prüft und ggf. mit entsprechenden Rollen und
Berechtigungen freigibt.
05.11.2013
12
Wachstum mit JIRA
13. Implementation
Vorstellung der Benutzer Administration für mehrere Portale.
• Das ist die Ansicht, die der Benutzerverwalter hat,
nachdem sich ein Benutzer Registriert hat. Der
Benutzername erscheint, signalisiert allerdings durch
1
eine durchgezogene Linie, dass er noch freigeschaltet
werden muss.
• Weiteres Kennzeichen: Unter den Gruppen erscheint
PENDING
2
• Nun kann der Benutzerverwalter den Benutzer
verschiedenen Prozesse und Rechte-Gruppen zuordnen.
• Nach dieser Freischaltung erhält der Benutzer eine EMail in der entsprechenden Sprache, die er zuvor im
Registrierungsprozess angegeben hat.
• In der Ansicht des Benutzerverwalters erscheint der
User nun nicht mehr als inaktiv.
3
TestUser@test.de
TestUser@test.de
TestUser
TestUser@test.de
TestUser
TestUser@test.de
05.11.2013
13
Wachstum mit JIRA
14. Implementation
Erweiterung der Funktionen für eine Enterprise-fähige Mehrsprachlichkeit.
Standard-Funktion:
•
•
Atlassian Sprachpakete übersetzen Standard-SystemKomponenten
Benutzerdefinierte Felder können manuell durch einen
Dialog übersetzt werden
Portal Framework
User
Management
•
•
05.11.2013
14
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Atlassian Sprachpakete übersetzen Standard-SystemKomponenten
Optionsfelder, Lösungen, Workflow-Übergänge, E-MailBenachrichtigungen werden in einer Datei übersetzt
und können eingeladen werden
Application
Interface
Master Data
Handler
Portal-Funktion:
Translation
Management
Incident
Workflow
Change
Request
...
15. Implementation
Vorstellung der Umsetzung von Mehrsprachlichkeit für JIRA.
• Für das Problem der Mehrsprachlichkeit hat catWorkX
ein Feature entwickelt, das die Verwaltung der
Übersetzungen ermöglicht.
• Die Übersetzungen werden in einer Excel-Datei gepflegt,
die dann hochgeladen werden kann.
• Diese Excel-Datei hat neben der Platzhalter-Variable für
jede Sprache eine Spalte vorgesehen. Zudem sind die
Übersetzungen für Typen, Prioritäten, Lösungen und
Zustände jeweils in unterschiedlichen Tabellenblättern
untergebracht.
1
Jira liefert die Roh-Datei, die an den
Kunden übermittelt wird
2
Kunde
Dieser übersetzt direkt oder indirekt und
befüllt somit die Datei
3
1
Die Datei geht zurück an catWorkX und wird
in Jira und das Quellverzeichnis eingespielt
4
Das Quellverzeichnis erzeugt den
Liefergegenstand, der dann an das Portal
übergeben wird
05.11.2013
15
2
3
4
Wachstum mit JIRA
16. Implementation
Erweiterung der Funktionen für eine Enterprise-fähige Integration von Applikationen.
Standard-Funktion:
•
•
Vollständige und sehr komfortable Integration der
Atlassian Tool Suite
Leistungsfähige Applikations-Schnittstelle
Portal Framework
User
Management
•
•
•
•
05.11.2013
16
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Der Workflow im JIRA sorgt für einen qualifizierten,
konsistenten Datensatz
Dieser wird dann z.B. an OTRS oder SAP übergeben
Rückmeldungen aus den Applikationen werden
verarbeitet und schalten Workflows automatisch
weiter
Services steuern zeitlich den Austausch mit anderen
Applikationen
Application
Interface
Master Data
Handler
Portal-Funktion:
Translation
Management
Incident
Workflow
Change
Request
...
17. Implementation
Vorstellung von Workflow Automatisierungen mittels EDIfact.
Auszug aus einem exemplarischen Workflow
1
Wenn die Transition 'Approve And Order' ausgeführt
wird, wird ein EDI Event geworfen. Dieses wird vom
EDI-Listener verarbeitet, der eine EDI-Datei im
Dateisystem ablegt.
2
Die Rückmeldung vom SAP wird ebenfalls im
Dateisystem abgelegt. Ein Service ließt in regelmäßigen
Abständen (alle 5 Minuten) die neuen Dateien ein,
schreibt einen oder mehrere Werte aus dem SAP in
die dafür vorgesehenen Customfields und führt
automatisch einen Workflow-Übergang aus (hier:
'Complete').
Welcher Übergang ausgeführt wird steht in einer
Steuerungstabelle.
05.11.2013
17
1
2
Wachstum mit JIRA
18. Implementation
Erweiterung der Funktionen für eine Enterprise-fähige Anpassung von JIRA an organisatorische Veränderungen.
Standard-Funktion:
•
•
Veränderungen müssen in den Prozessen nachgebildet
werden
Weitere Anpassungen sind ggfs. vorzunehmen
3
4
Screen
Scheme
Screen
Issue Type
7
Notification
Scheme
Notification
Permission
Scheme
Issue Screen
Type Scheme
Permission
Issue Security
Scheme
Security Level
Portal Framework
1
6
2
Workflow
Work Flow
Scheme
Project
• 53 produktiv
• 25 noch zu
löschen
5
System
Custom Fields
Field
Configuration
Field
Configuration
Scheme
8
User
Management
•
•
•
05.11.2013
18
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Steuerungstabellen können aktualisiert und in das
System eingeladen werden
Post Functions,Validationen und Konstanten
verarbeiten diese dann in den Prozessen
Steuerungstabellen aktualisieren um:
• E-Mail-Verteilung anpassen
• Veränderungen von Kostenstellen umzusetzen
• Produktauswahl einzugrenzen
Application
Interface
Master Data
Handler
Portal-Funktion:
Translation
Management
Incident
Workflow
Change
Request
...
19. Implementation
Vorstellen von Steuerungstabellen, zur Anpassung an organisatorische Veränderungen.
• Hier wird die Portal ID und die Hauptkategorie des Produktes
auf das zuständige Local Warehouse zugeordnet.
• Mit Hilfe der aus der ersten Tabelle hervorgehenden Local
Warehouse Costumer Number wird eine entsprechende
Factory und Location zugeordnet.
• Diese Daten werden für das EDI und somit für die spätere
Lokalisierung von Ware benötigt
05.11.2013
19
Wachstum mit JIRA
20. Implementation
Erweiterung der Funktionen für eine Enterprise-fähige von Stammdaten aus anderen Applikationen.
Standard-Funktion:
•
Leistungsfähige Applikations-Schnittstelle
Portal Framework
User
Management
•
•
•
•
05.11.2013
20
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Stammdaten aus anderen Applikationen werden z.B.
auf einem Austausch-Verzeichnis hinterlegt
CRON Jobs laden diese dann regelmäßig zu definierten
Zeiten in das JIRA ein
Post Functions,Validationen und Konstanten
verarbeiten diese Daten dann in der Prozessen
Beispiele für Stammdaten:
• Kundendaten einer Organisation
• Service- und Produktdaten
Application
Interface
Master Data
Handler
Portal-Funktion:
Translation
Management
Incident
Workflow
Change
Request
...
21. Implementation
Vorstellen der Nutzungsweise von Stammdaten und die Einbindung in das Portal.
• Gibt der Benutzer z.B. aufgrund einer Waren-Retoure
eine Warennummer ein, greift er auf Stammdaten
zurück.
• Durch eine Steuerungstabelle im Hintergrund und auf
der Basis von SQLoutward Feldern werden ihm schon
bei Eingabe durch Autovervollständigung die zur
Auswahl stehenden Modelle vorgeschlagen
• Die Steuerungstabelle enthält alle Modelle und zusätzlich
die Sales Organisation. Je nachdem in welcher Sales
Organisation der Benutzer ist, werden entsprechende
Modelle bei der Eingabe angezeigt.
05.11.2013
21
Wachstum mit JIRA
22. Implementation
Erweiterung der Funktionen für eine Enterprise-fähige Pflege und automatische Ausrollprozeduren.
Standard-Funktion:
•
Manuelles Konfigurieren durch den Administrator
nötig
3
4
Screen
Scheme
Screen
Issue Type
7
Notification
Scheme
Notification
Permission
Scheme
Issue Screen
Type Scheme
Permission
Issue Security
Scheme
Security Level
1
6
2
Workflow
Work Flow
Scheme
Project
• 53 produktiv
• 25 noch zu
löschen
5
System
Custom Fields
Field
Configuration
Field
Configuration
Scheme
Portal Framework
8
User
Management
•
•
•
05.11.2013
22
Wachstum mit JIRA
Control
Tables
Deployment
Tool
Dynamic
Searches
Status
Handler
Service
Request
Geschäftsprozesse werden einheitlich definiert und als
Vorlage hinterlegt
Liest automatisch Konfigurationen aus definierten
Prozess Vorlagen aus
Schreibt automatisch Konfigurationen in neue
Prozesse:
• Ausrollen in verschiedene Länder
Application
Interface
Master Data
handler
Portal-Funktion:
Translation
Managemetn
Incident
Workflow
Change
Request
...
23. Implementation
Vorstellen der Anwendung des Konfiguration-Tools zur Anlage von weiteren Portalen.
• Das Konfigurations-Tool dient dazu, leere Projekthüllen
vorzukonfigurieren, um sie bei Bedarf zu kopieren.
• Die Projektvorlagen werden mit dem Schlüsselwort Master
gekennzeichnet.
1
2
1
2
3
Die Vorlage für ein Projekt wird von catWorkX entwickelt
und als Zip-Datei dem Kunden übermittelt.
Dieser spielt die Master-Datei in sein Konfiguration-Tool
und kann in seinem System nun Kopien dieser Projekte
anlegen.
Dieses Prinzip läuft für das Test-System sowie das LiveSystem gleich ab.
05.11.2013
23
Wachstum mit JIRA
3
24. Implementation
aktuell ist JIRA nicht clusterfähig. Geringe Ausfallzeiten können über eine SAN Struktur erreicht werden.
05.11.2013
24
Wachstum mit JIRA
25. Implementation
große Portale brauchen eine leistungsfähige Infrastruktur.
JIRA Production
PostgreSQL Production
JIRA Integration
CPUs
48 Real Cores, HT disabled
8 Real Cores, HT enabled
4 Real Cores, HT enabled
RAM
128 Gbyte
32 Gbyte
16 GByte
Local Disk
500 GByte Raid 1 with SATA/SAS for OS
500 GByte Raid 1 with SATA/SAS for OS
2 TB Raid 1 with SATA for OS, JIRA and
PostgreSQL
SAN
500 GByte SAN LUN for FAX, Im-
Exports, Attachments and JIRA Installation,
8GBit FC
200 GByte SAN LUN for PostgreSQL
Data, 8GBit FC
SAN LUNs attach for C-Case, optinally
used as server, 2GBit FC
Ethernet
2x1GBit X-Over to PostgreSQL (internal
IP, Bonding), 2x1GBit WAN (external IP,
Bonding), 1x100MBit ILO (management IP)
2x1GBit X-Over to JIRA (inernal IP,
Bonding)
1x1GBit WAN (external IP, direct SSH
access and monitoring), 1x100MBit ILO
(management IP)
1x1GBit (external IP)
1x100MBit ILO (management IP)
Assignment of IP addresses for C-Case
ILO
Web/Telnet/Console
Web/Telnet/Console
Web/Telnet/Console
Applications
JIRA, FTP, Fax Import, Postfix (Email) /
Fetchmail (POP), Munin-Node, NTP
PostgreSQL, Munin-Node, NTP
JIRA, PostgreSQL, FTP, Munin-Node, Munin
Master, NTP
Back-Up
Hosting Provider: Filebackup Attachments,
Zip-Archive, Fax, Im-/Exports
Hosting Provider: PostgreSQL Dump or
SQL File by Cronjob
n.a.
System
SLES 11 SP2 x86_64 + Online Updates
SLES 11 SP2 x86_64 + Online Updates
SLES 11 SP2 x86_64 + Online Updates
05.11.2013
25
Wachstum mit JIRA
26. Zusammenfassung
Durch den Portal-Logik-Ansatz ist JIRA für die Steuerung von Geschäftsprozessen Enterprise-fähig.
• Die starke Workflow Modellierung
von JIRA erlaubt die 1:1 Abbildung
von Geschäftsprozessen
Con
• Mit dem Portal-Ansatz kann JIRA
schnell an veränderte
organisatorische Rahmenbedingungen angepasst werden
• Dashboards und Filterergebnisse
bringen Transparenz in die
Leistungsfähigkeit der Prozesse
05.11.2013
26
• Die Nutzung von JIRA außerhalb
des originären Anwendungszweckes
als Bug- und Issue-Tracker
• Ohne zusätzliche PlugIns wird die
Applikationsbetreuung schnell
unübersichtlich und zeitaufwendig
• Hochverfügbarkeitsszenarien
können mit der aktuellen Lizenz
nicht wirklich abgebildet werden, da
das Projekt nicht clusterfähig ist
Pro
Wachstum mit JIRA
27. When the rate of change outside
exceeds the rate of change inside, the
end is in sight.
Jack Welch, US former CEO and chairman of General Electric