ZIDline
The Making of TISS: Juni 2008
Wolfgang Kleinert, Thomas Grechenig, Thomas Költringer,
Mario Bernhart, Andreas Knarek, Franz Schönbauer

Wenn man Dachboden und Keller entrümpelt, dann fliegt so manches raus und einiges bekommt endlich seinen Ehrenplatz. Man wird Spannendes erleben dabei und nachher fühlt man sich wohler. – Die TU Wien trennt sich von teilweise 40 Jahre alter Inhouse-Software.

Vorgeschichte und fachlicher Hintergrund

An der TU Wien erleben wir zurzeit hautnah eine Entwicklung mit, die bereits die letzten 15 Jahre der modernen betrieblichen Informationstechnik geprägt hat. Dabei steigt der Bedarf aller Instanzen und Entscheidungsträger, den Grad der Interaktion und Integration und deren Geschwindigkeit im operativen Umfeld zu erhöhen. Diesem Druck Folge leistend wurden und werden dabei weltweit

  • alte gute funktionierende Systeme auf neue Plattformen migriert und laufend erweitert,
  • neue Schnittstellen zwischen den über die Jahre oft autonom gewachsenen Einzelsystemen etabliert,
  • anlassbezogene Neuentwicklungen für den akuten Bedarf gefordert,
  • neue Technologien systematisch angewendet und eingepflegt.

Die kumulierten Effekte dieser sachlich zwingenden Vorgehensweise sind im betrieblichen Umfeld seit einigen Jahren als „Enter­prise Application Inte­gra­tion“ (EAI) bekannt. EAI versucht dabei, das sattsam bekannte Problem, dass die unter­schiedlichen, historisch gewachsenen Applikationen und Schnittstellen sich jeder kontrollierten, planbaren und kosten­mäßig verlässlich einschätzbaren Weiter­entwicklung, Wartung oder Neueinführung aktueller Technolo­gien entziehen, durch einen informationstechnisch strate­gischen Gesamtansatz zu lösen.

Für die TU Wien lässt sich diese natürliche Enterprise- IT-Entwicklung wie folgt zusammenfassen:

Seit 1968 wird das Verwaltungs­system TUWIS betrieben und weiterentwickelt. Frühen COBOL-Entwicklungen wurden moderne Datenbanken hinzugefügt. Mehrere Zusatzentwicklungen wurden im Alt­system bzw. in mehreren Neusystemen realisiert. Diese Arbeiten wurden bis zum Inkrafttreten des UG2002 von der ADV-Abteilung auch für den so genannten „TUWIS-Verbund“, dem neben der TU Wien auch die Universität für Bodenkultur Wien, die Veterinärmedizinische Universität und die Universität für Musik und darstellende Kunst Wien angehörten, durchgeführt.

TUWIS war eine klassische COBOL-Applikation, wobei die Daten in den heute schon legendären Common-Blöcken gespeichert waren. In den 80er-Jahren wurde die Anwendung „auf Oracle umgestellt“, d. h. die einzelnen Common-Blöcke wurden zu Oracle-Tabellen und die COBOL-Programme wurden einerseits auf Datenbankzugriffe (mit so genannten „Datenkapseln“ als Bausteinen, die Zugriffskonflikte ausschließen sollten) umgestellt, bzw. teilweise durch Forms-Applikationen ersetzt. Für ein umfassendes, integriertes Datenbankdesign und ein gesamtes Redesign bestand nie ein akuter Bedarf, über Jahrzehnte waren die Fehlerausbesserungen und die Implementierung neuer Features in der alten Technologie sowie die Etablierung aktueller Plattformen ein ausreichendes und Kosten sparendes Verfahren.

Die klassischen TUWIS-Applikationen standen zuerst ausschließlich den Fach­abtei­lungen (vor allem Personal- und Studienabteilung) zur Verfügung. Ende der 90er-Jahre wurde mit „Sides4mi“ eine Weblösung für Studierende (Lehrveranstaltungs­management, -abhaltung und -anmeldung, aber keine Prüfungsanmeldung) durch Externe (unikat) als Web-Zusatz für TUWIS realisiert. 2003 wurde die mit ZOPE2 für die Universität für Bodenkultur Wien realisierte LVA-Verwaltung BLIS (Boku-Lehr-Informations-System) für die TU Wien adaptiert. Das Produkt wurde TUWIS++ genannt. Die dabei angedachte Re-Implementierung in einem modernen Programmier­paradigma wurde damals nicht realisiert. Mit Anfang 2004 wurde vom ZID darauf gedrängt, den alten COBOL-Code so rasch wie möglich zu ersetzen und das Datenmodell zu verbessern, damit mittel­fristig die Altlasten beseitigt werden können.

Von der Abteilung Standardsoftware des ZID wird seit 1993 unabhängig von TUWIS ein Object Application Server auf Basis von GemStone/S betrieben. Ausgangspunkt war dabei die Verwaltung der Campussoftwarelizenzen (Zugriffsvergabe, Abrechnung). Damit war z. B. die Online-Bestellung von Campussoftware möglich geworden. Durch eine Reihe von Erweiterungen wurde der Import von Personal- und Studentendaten aus TUWIS integriert. Bei diesem Vorgang werden zusammengehörige Personal- und Studenteneinträge konsolidiert, um die erwünschte einheitliche Sicht zu erhalten (ZID-PDB, Personendatenbank). Hier wird auch eine Identifikations-nummer (object id, OID) vergeben. Die Daten werden dann anderen Benutzern innerhalb und außerhalb des ZID zur Verfügung gestellt. Wichtige Anwendungen sind die White Pages und das Mailrouting, sowie die zentrale Authentifizierung mit dem TU-Passwort. In der Vergangenheit wurde zwar immer wieder über die notwendige Zusammenführung von TUWIS und der ZID-PDB gesprochen, aber die Realisierung nie wirklich in Angriff genommen.

Nicht nur offizielle Statuserhebungen sondern auch der Vergleich mit dem wirtschaftlichen betrieblichen Umfeld haben deutlich gezeigt, dass hier dringender Handlungsbedarf besteht. Weder die Fortführung der Pflege der alten Systeme noch die angedachte schrittweise Anpassung der TU-Prozesse sind mit den heute vorliegenden Entwicklungsbasen zweckmäßig machbar. Das zugrund­e liegende systemische Risiko musste nachhaltig beseitigt werden.

Um eine präzise Anpassung an die Bedürfnisse der TU und die Erhaltung bereits etablierter Vorzüge gewährleisten zu können, entschied man sich nach umfassenden Analysen für die Beseitigung der bestehenden Risiken mittels einer Eigenentwicklung. Diese Entscheidung garantiert während der gesamten Entwicklungszeit höchste Flexibilität und rasche Reaktionsfähigkeit durch das eigene Entwicklungsteam bei gleichzeitigem Aufbau und Erhalt von Expertenwissen.

Das im Herbst 2007 vom Rektorat beschlossene und im Jänner 2008 begonnene Projekt firmiert unter dem Namen TISS („TISS“ steht für TU Wien Informations-Systeme und -Services) und widmet sich der Etablierung einer langlebigen IT-Strategie, die

  1. eine gemeinschaftliche technische Architektur bereitstellt,
  2. ein modernes interagierendes Applikationsmanagement erlaubt,
  3. die Altsysteme schrittweise ablöst, wo, wenn und wann dies zweckmäßig ist,
  4. die langfristige Wartung sicherstellt,
  5. das Einpflegen neuer Dienste organisch bereitstellt,
  6. benachbarten Systemen (z. B. VoIP, SAP, e-Learning) einen qualifizierten Docking-Partner anbietet und diesen als kompaktes Leitsystem dient.

Ziele und Umfang von TISS

Um den vorhin genannten Kriterien zu genügen und die IT-Landschaft der Technischen Universität Wien im Bereich Forschung, Lehre und Verwaltung für die zukünftigen Anforderungen des Managements auszurichten, wird daher eine Integration der betreffenden Einzelsysteme im Haus auf eine homogene und konsolidierte Plattform durchgeführt.

Dabei ergeben sich folgende Ziele für dieses Vorhaben:

  • Solides Informationssystem „aus einem Guss“ mit den Funktionen aller 6 Einzel-Systeme: TUWIS-alt (kurz: TUWIS), TUWIS++, Projektdatenbank, ZID-PDB, White Pages und Publikationsdatenbank.
  • Aufbau eines einfachen und umfassenden relationalen Datenmodells durch Integration der einzelnen Applikationen zu einem Ganzen.
  • Attraktive Online-Recherche-Möglichkeiten in den Daten und benutzerkonfigurierbare Auswertungen (derzeit nicht möglich, wenn Daten nur applikationsübergreifend vorliegen).
  • Integrierte, einheitliche und einfach bedienbare Online-Benutzer-Dialogführung im Web mit konsolidierter Menüstruktur.
  • Leichtere Erweiterbarkeit der geplanten Plattform um weitere Applikationen (z. B. Customer Relationship Management, Facility-Management etc.).
  • Leistungsfähige Anbindung an das SAP-System der TU Wien.
  • Offene und standardisierte Schnittstellen in verschiedenen Technologien (XML, CSV, SOAP etc.) zur Anbindung von zusätzlichen externen Systemen.
  • Einbindung von Vertretern der universitären Leitung, betroffenen Verwaltungsdienststellen, Mitarbeitern der Universität und Studierenden zur Optimierung einer effizienten und effektiven Benutzbarkeit.
  • Konzentration der Kräfte auf nur ein Gesamt-Produkt auf nur einer Plattform mit hoher Qualität und aktueller Technologie.
  • Reduktion des intensiven Pflege- und Wartungsaufwandes für die Einzelsysteme mit ihren oftmalig erweiterten Quellcodes, dadurch Entlastung des Personals.
  • Sicherung der Prozess- und Datenqualität.

Schematisch wird dies in den Abbildungen 1 und 2 dargestellt.

Bei der Konzeption von TISS wird auf die Umsetzung mehrerer systemischer Schwer­punkte besonders geachtet:

  • Einfache und intuitive Handhabung der Software mit integriertem Online-Hilfesystem.
  • Bestmögliche Unterstützung und Optimierung von abteilungs-/instituts-internen sowie übergreifenden Workflows (z. B. durch ToDo-Listen für jeden einzelnen Benutzer).
  • Umfassende Bereitstellung von Berichten und Auswertungen für das Rektorat, die Fachabteilungen sowie Personen in Management-Funktionen (Dekane, Studien-dekane, Institutsvorstände, Projektleiter etc.).
  • Fein gegliedertes Berechtigungsmodell mit der Möglichkeit, eigene Rechte an andere Benutzer zu delegieren.
  • Revisionssichere Protokollierung und Versionierung von relevanten Daten-Eingaben/-Änderungen.

Phasen und grober Aufbau

Die TISS-Entwicklung gliedert sich in drei strategische Projektphasen:

  • 2008, Phase I: Vorbereitung der Migration mit dem Fokus auf der Erhaltung/Wiedergewinnung der formalen und informellen Ablaufinformationen und der Integration der verschiedenen Quellen. Diese Phase ist ein iterativer Prozess zur Etablierung eines Fachkonzeptes, der Technologie-Basis und der Architektur.
  • 2009, Phase II: Beginn der Migration mit dem Fokus auf der Ablöse der ersten Altsysteme, Integration der Felderfahrungen in die Entwicklung, der Anpassung des Fachkonzeptes aufgrund des gewonnenen Feedbacks, dem Freeze der Technologie-Basis und der Architektur sowie der Etablierung der Release-, Schulungs- und Roll-out-Prozesse.
  • 2010, Phase III: Vollbetrieb und Reifung mit dem Fokus auf der Ablöse aller Altsysteme, Etablierung des laufenden Release- und Change-Management-Prozesses, Vorbereitung für den laufenden Betrieb und für eine adaptive und perfektive Wartung. Eine Konsolidierung der Technik und der Organisation wird gemeinsam mit der Überführung in die Wartung die Phase III vervollständigen.

Während dieser drei Phasen wird in regelmäßigen Abständen das TISS Steering Committee (TISSSC) als Projektlenkungsgremium tagen. Als Vorsitzender des TISSSC fungiert der Rektor selbst. Für das TISS-Team ist dies besondere Ehre und Verpflichtung gleichzeitig. Weiters gehören dem TISSSC der Vizerektor für Lehre, Vertreter der beiden Betriebsräte und der Hochschülerschaft, sowie Dekan Fröhlich und Prof. Dustdar an. TISS wird vom Zentralen Informatikdienst der TU Wien ausgeführt und umgesetzt. Die Gesamtleitung des Projektes obliegt dem Leiter des ZID, Wolfgang Kleinert (kleinert@zid.tuwien.ac.at), der fachlich von Thomas Grechenig, dem Leiter der Forschungsgruppe für Industrielle Softwaretechnik (INSO, thomas.grechenig@inso.tuwien.ac.at), und seinem Team unterstützt wird.

Der Aufbau der Projektstruktur ist in Abbildung 3 ersichtlich. Die Projektgruppe 1 ist dabei für die Erstellung und Etablierung des Fachkonzepts verantwortlich.

Motivation und Ziele des Fachkonzeptes

In den kommenden Jahren soll mit TISS eine homogene, zukunftsfähige Systembasis geschaffen werden, die die TU-Systeme an den modernen betrieblichen State-of-the-Art der Informationstechnik heranführt. Eine sehr bewusste und intensive Herangehens­weise bei der Erstellung des Fachkonzepts und der daraus gewonnenen Anforderungsanalyse stellen langfristig die adaptive und perfektive Wartbarkeit sowie ein verlässliches Applikationsmanagement sicher. Das Fachkonzept wird eine lebendige Dokumentenlandschaft sein, die auch nach dem Übergang von TISS von der Entwicklungs- in die Produktionsphase weitergepflegt werden wird.

TISS strebt im Rahmen des Fachkonzeptes die Erarbeitung einer optimalen Lösung für alle Angehörigen der TU an. Diese Lösung wird unter Einbindung aller Stakeholder – das sind die Personen mit Leitungsfunktionen, die Mitarbeiter in Fachabteilungen, die Betriebsräte und die Vertreter der Studierenden – evaluiert. Die umfassende Anforderungserhebung geschieht in einem iterativen Prozess, bei dem bereits zu Beginn größter Wert auf User-centered-Design gelegt wird. Abläufe können so holistisch betrachtet werden, bestehende Probleme analysiert und gelöst, neue Anforderungen effizient umgesetzt und eine hoch benutzbare Lösung garantiert werden. Teil des Prozesses ist es, vor der eigentlichen Implementierung bereits mit Prototypen zu experimentieren, um mögliche Probleme in der Handhabung dort schon abzufangen bzw. die Benutzbarkeit von TISS zu optimieren. Schließlich soll eine konsolidierte Benutzerführung, unterstützt durch ein modernes Look & Feel die Freude an der Benutzung unterstreichen. Ein weiterer wesentlicher Baustein bei der Erstellung des Fachkonzeptes ist die Dokumentation der Abläufe und zugehöriger Regelwerke. Basierend auf diesen Dokumenten kann nicht nur solide entwickelt werden, sondern auch der Änderungsaufwand bei neuen oder geänderten Anforderungen bei Analyse und Entwicklung gering gehalten werden.

Ziel des umfangreichen Fachkonzept-Prozesses ist eine möglichst dichte Integration der bestehenden Systeme TUWIS, TUWIS++, Projektdatenbank, ZID-PDB, White Pages, Publikationsdatenbank und weitgehende Integration des e-Learning Systems zu einer einheitlichen Daten- und Servicebasis, die das neue Informationssystem in Zukunft als rasch agierenden, qualifizierten Docking-Partner für externe und interne Nachbarsysteme darstellt.

Vorgehensweise bei der fachlichen Analyse

Zu den fachlichen Zielen des TISS zählt sowohl der Aufbau eines konsistenten und umfassenden Daten- und Service-Bestandes aus bestehenden und neuen Anwendungen, als auch die Implementierung von neuen Workflows.

Im ersten Schritt wurden bestehende Features aus den Legacy Systemen zusammen mit bereits bekannten neuen Features aggregiert, um die Komplexität und den Arbeitsaufwand von TISS abschätzen zu können. In diesem Prozess wurden bisher schon über 300 fachliche Features identifiziert und thematisch gruppiert. Abbildung 4 veranschaulicht diesen Prozess. Ein Feature ist ein fachlich abgeschlossener Teil, der eine greifbare Größe hat und in wenigen Personentagen umgesetzt werden kann. Beispiele dafür wären u. a. das Anmelden zu einer Lehrveranstaltung, das Anzeigen eines Lohnzettels oder das Reservieren eines Hörsaals. Neben den fachlichen Features gibt es auch technische Features, die als „Enabler“ für die fachliche Logik dienen. Darunter sind  z. B. ein Rollen- und Rechtesystem, E-Mail Newsletter oder SAP-Schnittstellen zu verstehen.

Im nächsten Schritt werden die Features in fachlichen Workshops auf Vollständigkeit der Anforderungen überprüft bzw. weiterentwickelt. Einige Workshops zu folgenden Themen fanden bereits statt:

  • Reporting und Statistik
  • Studierendenverwaltung und Studierendenservices
  • Studienpläne
  • Gebäude und Räume
  • Personen und Organisation
  • ZID-Services
  • SAP-Schnittstellen/Integration
  • Alumnimanagement und TU Career
  • E-Learning Integration

Die erste, sehr breite horizontale Welle an Workshops brachte sehr gut die Probleme, den Optimierungsbedarf, neue Anforderungen, aber auch positive Seiten der aktuellen Systeme (siehe Fachkonzept Workshops – Erste Ergebnisse) hervor. Es hat sich auch gezeigt, dass die Dokumentation von Regelwerken und Prozessen innerhalb der TU nicht oder nur teilweise vorhanden ist und das Fachkonzept von TISS diese Lücken schließen muss.  Diese Dokumentation wird  nachhaltig die Eigenschaften der Systeme festhalten und Änderungen bzw. neue Anforderungen einfach und konsistent umsetzbar machen. Entsprechend der Priorisierung in der Projektplanung wird mit der detaillierten Ausarbeitung der einzelnen Themengebiete begonnen. Folgeworkshops, Interviews und hohe Einbeziehung der TU-Mitarbeiter sollen das Projekt beschleunigen.

Einige Themen (z. B. Publikationsdatenbank, Projektdatenbank) wurden in der ersten Runde der Workshops noch nicht behandelt, sie werden aber im Laufe des Projektes sukzessive folgen.

Ein integraler Bestandteil des Fachkonzept-Prozesses ist es, die bestehenden Anforderungen zu aggregieren und gemeinsam mit den Angehörigen der TU einen Vorschlag für eine Lösung zu erarbeiten. Dieser Vorschlag kann ein Dokument, aber auch schon ein Prototyp in unterschiedlicher Ausprägung sein. Anhand von konkreten Lösungsvarianten und ihrer Iteration in einem fachlichen Dis-kussionsprozess kommt man zu einer optimalen Lösung, die auch sehr früh zeigt, in welche Richtung sich TISS entwickeln soll. Die unterschiedlichen Methoden werden je nach Themengebiet eingesetzt. Manche Themen erfordern die Einbindung aller Stakeholder an der TU wohingegen andere mit der Einbindung einer einzelnen Abteilung bearbeitet werden können. Der gewählte Prozess ist jedoch immer sehr agil, sodass auf neue bzw. geänderte Anforderungen sehr schnell reagiert werden kann.

Fachkonzept Workshops – Erste Ergebnisse

Wie erwähnt, fanden bereits einige Workshops mit dem Ziel statt, ein gemeinsames Verständnis der Anforderungen zu schaffen. Durch das Zusammenbringen verschiedener Stakeholder gelingt es auch immer wieder, aktuellen Problemen nicht erst in TISS, sondern auch durch geringen Aufwand bereits in den Altsystemen zu begegnen. Darüber hinaus wird versucht, die dringendsten herauszufinden und diese in dem agilen TISS-Entwicklungsprozess vorzuziehen („Quick Wins“). Einige erste Ergebnisse hier im Überblick:

Studierendenverwaltung und Studierendenservices

Beim Workshop zum Thema Studierendenverwaltung und Studierendenservices wurden die wesentlichen Abläufe in der Studienabteilung besprochen. Dabei hat sich deutlich  abgezeichnet, dass hier großes Potential für eine Verbesserung der Systeme sowohl für Mitarbeiter als auch für Studierende vorhanden ist.

Eines der wesentlichen Konzepte, die in TISS umgesetzt werden sollen, ist das „One-Stop“-Prinzip bei der Inskription. Ein solches Konzept, das bereits an verschiedenen Universitäten erfolgreich implementiert wurde, könnte mehrfache Besuche der Studierenden in der Studienabteilung auf einen einzigen reduzieren.

Unter Einbeziehung von alternativen Daten-Erfassungsmöglichkeiten (z. B. durch Verstärkung der Online-Services oder Kiosk-Systeme) sollen Studierende Services einfacher und schneller als bisher beziehen können.

Studienpläne

Auch im Bereich der Studienpläne sollen neue Services konzipiert werden. Eine strukturierte Darstellung der Studienpläne, die sowohl den Studierenden als auch der Studienabteilung mehr Einblick in den jeweiligen Studienfortschritt bietet, soll mit Hilfe von TISS ermöglicht werden. Eine besondere Herausforderung bei einer solchen Erweiterung ist die vollständige Integration sowohl auslaufender als auch neuer und gesonderter Studienpläne und Lehrgänge.

Eine Konsolidierung der Daten erlaubt es weiters, verschiedene Abläufe zu automatisieren und manuelle Schritte wie z. B. das Einreichen von Zeugnissen überflüssig zu machen.

Personen und Organisation

Die TU Wien beschäftigt derzeit mehr als 3700 Personen in verschiedenen Anstellungsverhältnissen. Der Einsatz von zwei SAP-Personalverwaltungs-Systemen parallel zur Mitarbeiterverwaltung im TUWIS++ erschwert durch die derzeit notwendigen Mehrfach-Dateneingaben den Verwaltungsprozess. TISS setzt sich das Ziel, eine einheitliche, strukturelle Darstellung aller Organisationsformen der TU Wien zu konzipieren, und eine Anbindung an die vorhandenen SAP-Systeme zu ermöglichen.

Die eigentliche Software-Entwicklung

TISS wird mit Hilfe moderner Software Engineering-Methoden in einem agilen Entwicklungsprozess auf der technischen Basis von Ruby on Rails (siehe den Artikel "Ruby on Rails" von Andreas Knarek in dieser Ausgabe der ZIDline) entwickelt.

Bei einer phasenbasierten Entwicklung muss die wesentliche Rolle des Release- bzw. Rollout-Managers erwähnt werden, der die Koordination und Kontrolle von sämtlichen synchronen und asynchronen Abläufen mehrerer Arbeitsgruppen übernimmt. Die Aktivitäten und der Projektfortschritt werden generell durch ein Project Management Office (PMO) überwacht.

Neben der Projektstatus-Kontrolle ist die Überwachung der Entwicklung und die damit verbundene Qualitätssicherung des Endproduktes ein wesentlicher Teil des Projektes. Die Nachverfolgbarkeit des Fortschritts des TISS-Entwicklerteams wird mit Hilfe eines „Ticket“-Systems auf Basis eines „Collective Code-Ownership“ in TRAC, einem freien webbasierten Projektmanagementwerkzeug zur Software-Entwicklung (trac.edgewall.org), realisiert.

Die Qualitätssicherung ist ein zentraler Bestandteil der TISS-Softwareentwicklung. Die Qualitätseigenschaften, die ein moderner Entwicklungsprozess berücksichtigen muss, erstrecken sich dabei über ein breites Spektrum. Benutzer erwarten ein ästhetisches und effizient benutzbares System, das möglichst frei von kritischen Fehlern ist und ausreichend performant und mit hoher Verfügbarkeit seinen Dienst leistet. Zusätzlich erfordert die lange Lebensspanne eines zentralen Softwaresystems auch die Qualität „unter der Haube“. Entsprechend sorgfältig und rigoros muss daher auf sauber ausgestalteten und dokumentierten und damit wartbaren und evolutionsfähigen Quellcode Wert gelegt werden. Um diese breiten Quali- tätsanforderungen abzudecken, sind im Rahmen der TISS- Softwareentwicklung unter anderem folgende Aktivitäten etabliert:

Coding Standards: Die Programmier- und Dokumentationsrichtlinien umfassen eine Reihe von Richtlinien inkl. Best Practices und Musterimplementierungen für Ruby, HTML/CSS, Datenbank-Code und Testcode. Diese Standards dienen zur einheitlichen und fehlervermeidenden Implementierung des TISS-Quellcodes und Testcodes. Die Coding Standards werden in einem Wiki-System laufend vom Entwicklungsteam und Experten kollektiv weiterentwickelt und deren Einhaltung systematisch durch Review-Verfahren geprüft und dienen damit auch dem „Collective Code-Ownership“ Prinzip.

Styleguide: Für die Benutzerschnittstelle definiert ein umfassender Styleguide die wesentlichen Eigenschaften, das Erscheinungsbild sowie die Interaktion und garantiert damit eine hohe Qualität des User Interfaces, effiziente Benutzbarkeit und ein einheitliches Look-and-Feel. Die Umsetzung des Styleguides wird durch Templates und wiederverwendbare Software-Komponenten unterstützt.

Templates: Templates und wiederverwendbare Software-Bausteine dienen der Vermeidung von Fehlern durch Mehrfachimplementierung und der Vereinheitlichung der Implementierung. Oftmals verwendete Funktionen und Arbeitsschritte werden zentral implementiert und gewartet und sind damit von der Entwicklung der eigentlichen Geschäftsfunktion entkoppelt. Dieses Verfahren unterstützt insbesondere das Qualitätsprinzip „Don’t repeat yourself“.

Code-Reviewing: Systematisches Code-Reviewing des TISS-Quellcodes während des Entwicklungsprozesses ermöglicht die Konformitätsprüfung mit den Coding Standards. Weiters werden durch Code-Review-Verfahren viele Fehler identifiziert, die durch klassische Testverfahren oft nicht abgedeckt sind. Dies stellt damit eine optimale Ergänzung zu den Testverfahren dar. Durch die frühe Identifikation von Problemen können diese rasch ausgebessert werden und verschleppen sich nicht in eine späte Projektphase. Das Review-Verfahren wird nicht nur auf den eigentlichen Quellcode, sondern auch auf den Testcode angewandt, um Fehler in den Tests zu vermeiden. Durch ein entsprechendes TRAC Plugin wird das Review-Verfahren direkt in der Entwicklungsumgebung unterstützt.

Whitebox Funktionales Testen: Diese Testverfahren werden direkt in der Entwicklungsumgebung erstellt und automatisiert durchgeführt. Zu den Whitebox Testverfahren zählen im Ruby on Rails-Kontext „Unit Tests“, „Functional Tests“ und „Integration Tests“, die allesamt in der TISS-Entwicklung umgesetzt sind. Zur Überwachung der Testabdeckung wird derzeit die C0-Abdeckung (Line Coverage des Quellcodes) gemessen. Alle Tests werden täglich in der Integrationsumgebung mit dem aktuellen Entwicklungstand durchgeführt und die Ergebnisse ausgewertet.

Blackbox Funktionales Testen: Die funktionale Korrektheit der implementierten Funktionen wird mit Hilfe der Spezifikation manuell geprüft und dokumentiert. Dies geschieht einerseits durch strukturierte Testszenarien und andererseits durch intuitive und explorative Testverfahren. Eine Kombination aus strukturierten und freien Verfahren ergibt eine breite Abdeckung bei der funktionalen Prüfung.

Performance Tests: Die Leistungsfähigkeit der Architektur, Betriebsinfrastruktur und Implementierung wird regelmäßig durch einen automatisierten Performancetest geprüft. Zur Simulation der für den Performancetest erforderlichen „Virtuellen Benutzer“ wird das University Grid der TU Wien (www.zid.tuwien.ac.at/zidline/zl14/grid.html) genutzt. Damit ist die Simulation einer hohen gleichzeitigen Benutzerzahl während der Nacht möglich. Eventuelle Performance-Engpässe können identifiziert werden, bevor sie den Benutzer betreffen.

Usability Check: Durch Prüfung der Konformität zum Styleguide und Usability-Expertenevaluierungen wird die effiziente Benutzbarkeit und ein einheitliches Look-and-Feel festgestellt und gegebenenfalls werden Verbesserungsmaßnahmen eingeleitet.

Fachliche Validierung: Ob ein Softwaresystem letztendlich reif für das geplante Einsatzszenario ist, kann nur durch einen Domänen-Experten (üblicherweise ein Intensivbenutzer des Softwaresystems) geprüft werden. Hierzu werden mehrfach im Entwicklungszyklus Vor-Validierungen am Prototyp oder teilentwickelten System durchgeführt. Eine abschließende Validierung wird im Rahmen der Abnahme eines TISS-Rollouts durchgeführt.

Ausblick und TISS als TU-Mitarbeiter-zentriertes Projekt

Wie oben dargestellt wurde, ist TISS kein „Big Bang“-Projekt. TISS löst nicht an einem „herbeigefürchteten“ Tag gegen Ende 2010 alle Altsysteme, die dann nicht mehr funktionieren, durch ein Neusystem ab. Diesem Risiko wird das TISS-Team das Haus TU natürlich nicht aussetzen. Die Altsysteme werden schrittweise migriert und TISS wird organisch wachsen. Einerseits werden etablierte Mechanismen und Abläufe „sanft“ erfasst und soweit wie möglich und zweckmäßig mitgenommen und sodann in die neue Systematik integriert. Andererseits besteht TISS aus sehr vielen Teilapplikationen, die im Sinne der User, aber auch im Sinne eines vernünftigen organischen Lernens und Wachsens mit TISS für das Developer Team, Phase für Phase und Facheinheit für Fach-einheit an die Mitarbeiter herangetragen werden.

Einzelne kleine Teilsysteme, bei denen das TISS-Team Not an Mann/Frau vorge­funden hat, werden schon im Jahr 2008 sichtbar werden. Einen großen Schub an neuer Systematik werden die Mitarbeiter im Haus Mitte des Jahres 2009 vorfinden. Danach wird es bis zur Projektberuhigung Ende 2010, wo TISS in eine moderne Pflege- und Wartungsphase übergeleitet wird, einen konstanten Strom an „Rollouts“ von neuen Komponenten für unterschiedliche Verwaltungsbereiche im Haus geben.

Neben den modernen Software-Engineering Verfahren, die bei der Entwicklung von TISS zur Anwendung kommen und die z. B. sicherstellen, dass bei der Einführung von neuen Releases von TISS-Teilsystemen immer auch alle alten Use- und Testfälle automatisch geprüft werden, wird das TISS-Team soweit wie möglich und zweck­mäßig mit den zukünftigen Usern gemeinsam das neue System etablieren. In mehreren Fällen wird es dabei möglich sein, mit den zukünftigen Usern gemeinsam die Anwendungen mittels Previews der Systeme zu prüfen, anzupassen und weiter­zuentwickeln, sodass der wirkliche Vorteil einer Eigenentwicklung im Haus zur Gänze genutzt werden kann, um dem stillen Projektziel von TISS möglichst nahe zu kommen: TU Software-Services und -Systeme von allen Mitarbeitern für alle Mitarbeiter im Haus.

Interessierte Leser seien auf TISS-inside (www.tiss.tuwien.ac.at) verwiesen, um aktuelle Zwischenstände, Ergebnisse, Projektfortschritte und -berichte aus erster Hand zu bekommen. Unabhängig davon wird die ZIDline in den kommenden zwei Jahren in regelmäßigen Abständen mit einzelnen Fachbeiträgen über TISS berichten.