ccd 2013: jira goes i18n
DESCRIPTION
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.TRANSCRIPT
Vor
trag
JIRA goes i18n o Jan Schulz, Head of Projects, catWorkX GmbH
Frankfurt a.M., 21. Nov. 2013
Agenda Inhaltsübersicht
1 Zielsetzung des Vortrages
2 Ausgangssitua4onen
3 Ausbau-‐Konzepte
4 Infrastruktur
5 Pros und Cons
05.11.2013 Wachstum mit JIRA 2
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
Verschiedene Ausgangslagen die immer wieder bei verschiedenen Projekten zu Tage getreten sind.
Typische ���Kunden-
situationen
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
Konsolidierung steht an • Im Rahmen von Effizienzsteigerungen���
und Kosteneinsparungen soll die IT- ���Applikationslandschaft konsolidiert werden
• Dabei sollen die Arbeitsprozesse der Unternehmung durch wenige, nah am Standard gehaltene Applikationen unterstützt werden
Transparenz schaffen • Durch schnelles Wachstum geraten���
etablierte Abläufe ins Stocken
• Verschiedene, aufeinander folgende Kundendienstleistungen verursachen hohen
Abstimmungsdarf bei Übergabe an den nächsten Bearbeiter
• Kopfmonopole haben sich gebildet
Nur die IT nutzt JIRA • Wenige IT-Abteilungen nutzen ein gemeinsames
JIRA zu Steuerung der Aufgaben und für Ad-Hoc-Reporting mittels Dashboards
• Fachbereiche, vor allem im Service, nehmen���davon Kenntnis und sehen Vorteile für die
Nutzung von JIRA im B2B oder���B2C Bereichen
05.11.2013 4 Wachstum mit JIRA
Implementation Konzeption Cleansing System Assessment
Ausbau von JIRA wenn die Entscheidung zur Internationalisierung gefallen ist, dann sind vier Phasen zu durchlaufen.
05.11.2013 5 Wachstum mit JIRA
Zielerreichung
Zeitverlauf
Neu
e A
nfor
deru
ngen
Zukunft
Zukunft Gestern
CR2!
...!
CR1!
FR2!
FR1!
CRT! UMT!
FR!
CR!
...!
Plan! Do!
Check!Act!
Project Work Flow Scheme
Workflow
Screen Screen Scheme
Issue Type Issue Screen Type Scheme
System & Custom Fields
Field Configuration
Field Configuration
Scheme
Notification Scheme
Permission Scheme
Issue Security Scheme
Permission
Notification
Security Level
1
2
3 4
5
6
7
8
• 53 produktiv • 25 noch zu
löschen
JIRA - Projekte
Allgemeine Fragen • Geschäftsprozesse • Datenkonsistenz • Systembetreuung
Schemata • Workflows • Issue Typen • Benachrichtigunen • Etc.
Allgemeine Konfiguration • Systeminforma-tionen
• Benutzer-verzeichnissdienste
• Anwendungsver-knüpfungen
Customisings • Benutzerdefinierte Felder
• Post Functions, Validatoren, Conditions
Berechtigungen • Rollen und Rechte • Permissions • Issue Security
Portal Framework!!
Service!Request!
Incident!Workflow!
User!Management!
Translation!Managemetn!
Application!Interface!
Control!Tables!
Master Data!handler!
Deployment!Tool!
Dynamic!Searches!
Status!Handler!
Change!Request!
...!
System Assessment wesentliche Merkmale der aktuellen Applikation und deren Einbettung in die IT-Landschaft aufnehmen.
05.11.2013 6 Wachstum mit JIRA
JIRA - Projekte
Allgemeine Fragen • Geschäftsprozesse • Datenkonsistenz • Systembetreuung
Schemata • Workflows • Issue Typen • Benachrichtigungen • Etc.
Allgemeine Konfiguration • Systeminforma-tionen
• Benutzer-verzeichnissdienste
• Anwendungsver-knüpfungen
Customizings • Benutzerdefinierte Felder
• Post Functions, Validatoren, Conditions
Berechtigungen • Rollen und Rechte • Permissions • Issue Security
• Aufnahme der IST-Situation • Identifizierung von Risiken • Cleansing-Bedarf identifizieren
Tätigkeiten
• System Assessment Report • Failure Mode Effect Analysis • Ablaufplan für Cleansing
Liefergegenstände
Cleansing in den Quellsystemen sind eindeutige Bezeichnungen für die Strukturierung vor der Datenbereinigung notwendig
05.11.2013 7 Wachstum mit JIRA
Project Workflow Scheme
Workflow
Screen Screen Scheme
Issue Type Issue Screen Type Scheme
System & Custom Fields
Field Configuration
Field Configuration
Scheme
Notification Scheme
Permission Scheme
Issue Security Scheme
Permission
Notification
Security Level
• Nicht benötigte Projekte löschen 1
2
3
1
2
3 4
5
6
7
8
4
5
6
7
8
• Nicht benötigte Workflow Schemata löschen • Verbleibende Workflow Schemata eindeutig umbenennen*
• Nicht benötigte Screen Schemata löschen • Verbleibende Screen Schemata eindeutig umbenennen*
• Nicht benötigte Issue Type Screen Schemata löschen • Verbleibende Issue Type Screen Schemata eindeutig umbenennen*
• Nicht benötigte Field Configuration Schemata löschen • Verbleibende Field Configuration Schemata eindeutig umbenennen*
• Nicht benötigte Permission Schemata löschen • Verbleibende Permission Schemata eindeutig umbenennen*
• Nicht benötigte Notification Schemata löschen • Verbleibende Notification Schemata eindeutig umbenennen*
• Nicht benötigte Issue Security Schemata löschen • Verbleibende Issue Security Schemata eindeutig umbenennen*
*) es darf kein default schema verwendet werden
• 53 produktiv • 25 noch zu
löschen
Cleansing im nächsten Schritt sind Custom Fields (CFs), Issue Types, Screens, etc. zu bereinigen.
05.11.2013 8 Wachstum mit JIRA
Custom Field Description
Context
Search Template
Field Type
Field Name
Issue Type Description
Name
Type
Icon
Project
Workflow Scheme
Issue Screen Type Scheme
Field Configuration
Scheme
• Nicht benötigte Custom Fields (CFs) löschen • Verbleibende Custom Fields eindeutig benennen 1
2
3
4
5
• Es dürfen keine gleichlautenden CFs mit unterschiedlichen Field Typen mehr existieren
• Custom Field Syntax ist mit dem Kunden zu definieren
• Review der Custom Field Optionsfelder durchführen
• Ggfs. nicht benötigte Issue Typen sind zu löschen • Verbleibende Issue Typen sind eindeutig zu benennen
1
2
3
4 5
Konzeption - Vorausschauende Entwicklung die Steuerung von Vorgängen mit JIRA begeistert und zieht schnell zahlreiche neue Anforderungen mit sich.
05.11.2013 9 Wachstum mit JIRA
Neu
e A
nfor
deru
ngen
Zukunft
Zukunft Gestern
INCUK
...
SRVUK
INCDE
SRVDE
Typischer JIRA-Prozess-Ansatz o Schrittweise kommen neue Prozesse hinzu o Jeder zusätzliche Prozess hat seine spezifischen Features o Es entstehen Varianten vom ursprünglichen Prozess
o Die Pflege des Systems wird aufwändiger o Dateninkonsistenzen wachsen schleichend o Ein Konsolidierung wird notwendig
JIRA-Portal-Ansatz o Features werden in Komponenten bereitgestellt o Business Logik durch Steuerungstabellen o Master Prozesse sind als Schablonen angelegt
o Die Pflege des Systems wird vereinfacht o Dateninkonsistenzen werden reduziert o Anpassungsfähigkeit an Prozessänderungen gewährleistet
...
...
USM TRS
SRV
INC
...
Plan! Do!
Check!Act!
Zeitverlauf
Implementation im Prozess-Ansatz werden die Standard Komponenten nicht verändert. Die Portal-Logik erweitert diese.
05.11.2013 10 Wachstum mit JIRA
Portal Entwicklung
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request ...
Prozess Entwicklung
Allgemeine Benutzer- verwaltung
Standard System
Sprachpakete
SRVDE SRVFR SRVUK ...
INCDE INCFR INCUK ...
Benachrich- tigungen ...
1
2
Gestaltung und Entwicklung der Prozesse
Nutzung der Standard-System-Komponenten
1
2
Erweiterung der Standard-System-Komponenten
Gestaltung und Entwicklung von Prozessvorlagen
Implementation Erweiterung der Funktionen für ein Enterprise-fähiges User Management.
05.11.2013 11 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request
...
• Benutzer wird manuell angelegt • Gruppen und Rollen werden manuell gepflegt
oder
• Benutzerverzeichnisdienst ist angebunden • Rollen werden manuell gepflegt
Standard-Funktion:
Portal-Funktion: • 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
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.
• 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
1
2
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 eine durchgezogene Linie, dass er noch freigeschaltet werden muss.
• Weiteres Kennzeichen: Unter den Gruppen erscheint PENDING
• Nun kann der Benutzerverwalter den Benutzer verschiedenen Prozesse und Rechte-Gruppen zuordnen.
• Nach dieser Freischaltung erhält der Benutzer eine E-Mail in der entsprechenden Sprache, die er zuvor im Registrierungsprozess angegeben hat.
• In der Ansicht des Benutzerverwalters erscheint der User nun nicht mehr als inaktiv.
05.11.2013 13 Wachstum mit JIRA
1
2
3
[email protected] [email protected] TestUser
TestUser
Implementation Erweiterung der Funktionen für eine Enterprise-fähige Mehrsprachlichkeit.
05.11.2013 14 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request
...
• Atlassian Sprachpakete übersetzen Standard-System-Komponenten
• Benutzerdefinierte Felder können manuell durch einen Dialog übersetzt werden
Standard-Funktion:
Portal-Funktion: • Atlassian Sprachpakete übersetzen Standard-System-
Komponenten • Optionsfelder, Lösungen, Workflow-Übergänge, E-Mail-
Benachrichtigungen werden in einer Datei übersetzt und können eingeladen werden
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.
05.11.2013 15 Wachstum mit JIRA
1 1 Jira liefert die Roh-Datei, die an den
Kunden übermittelt wird
2
2 Dieser übersetzt direkt oder indirekt und befüllt somit die Datei
3
3
Die Datei geht zurück an catWorkX und wird in Jira und das Quellverzeichnis eingespielt
4
4 Das Quellverzeichnis erzeugt den Liefergegenstand, der dann an das Portal übergeben wird
Kunde
Implementation Erweiterung der Funktionen für eine Enterprise-fähige Integration von Applikationen.
05.11.2013 16 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request
...
• Vollständige und sehr komfortable Integration der Atlassian Tool Suite
• Leistungsfähige Applikations-Schnittstelle
Standard-Funktion:
Portal-Funktion: • 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
Implementation Vorstellung von Workflow Automatisierungen mittels EDIfact.
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.
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 Wachstum mit JIRA
1
1
2
2
Auszug aus einem exemplarischen Workflow
Implementation Erweiterung der Funktionen für eine Enterprise-fähige Anpassung von JIRA an organisatorische Veränderungen.
05.11.2013 18 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request
...
• Veränderungen müssen in den Prozessen nachgebildet werden
• Weitere Anpassungen sind ggfs. vorzunehmen
Standard-Funktion:
Portal-Funktion: • 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
Project Work Flow Scheme
Workflow
Screen Screen Scheme
Issue Type Issue Screen Type Scheme
System & Custom Fields
Field Configuration
Field Configuration
Scheme
Notification Scheme
Permission Scheme
Issue Security Scheme
Permission
Notification
Security Level
1
2
3 4
5
6
7
8
• 53 produktiv • 25 noch zu
löschen
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
Implementation Erweiterung der Funktionen für eine Enterprise-fähige von Stammdaten aus anderen Applikationen.
05.11.2013 20 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Management
Application Interface
Control Tables
Master Data Handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request
...
• Leistungsfähige Applikations-Schnittstelle Standard-Funktion:
Portal-Funktion: • 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
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
Implementation Erweiterung der Funktionen für eine Enterprise-fähige Pflege und automatische Ausrollprozeduren.
05.11.2013 22 Wachstum mit JIRA
Portal Framework
Service Request
Incident Workflow
User Management
Translation Managemetn
Application Interface
Control Tables
Master Data handler
Deployment Tool
Dynamic Searches
Status Handler
Change Request ...
• Manuelles Konfigurieren durch den Administrator nötig
Standard-Funktion:
Portal-Funktion: • 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
Project Work Flow Scheme
Workflow
Screen Screen Scheme
Issue Type Issue Screen Type Scheme
System & Custom Fields
Field Configuration
Field Configuration
Scheme
Notification Scheme
Permission Scheme
Issue Security Scheme
Permission
Notification
Security Level
1
2
3 4
5
6
7
8
• 53 produktiv • 25 noch zu
löschen
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.
05.11.2013 23 Wachstum mit JIRA
1
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 Live-System gleich ab.
1
2
2
3
3
Implementation aktuell ist JIRA nicht clusterfähig. Geringe Ausfallzeiten können über eine SAN Struktur erreicht werden.
05.11.2013 24 Wachstum mit JIRA
Implementation große Portale brauchen eine leistungsfähige Infrastruktur.
05.11.2013 25 Wachstum mit JIRA
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
JIRA Production PostgreSQL Production JIRA Integration
Pro
Con
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
• Mit dem Portal-Ansatz kann JIRA schnell an veränderte organisatorische Rahmen-bedingungen angepasst werden
• Dashboards und Filterergebnisse bringen Transparenz in die Leistungsfähigkeit der Prozesse
• 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
05.11.2013 26 Wachstum mit JIRA
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