Diplomarbeit

Grundmodul einer modernen Projektmanagement Plattform
Deborah Weber Arth, Switzerland
Datum der vorliegenden Version: 21. August 2008 Abgabetermin: 4. September 2008

Dr. Andreas Huber, Prof. Dr. Helmut Schauer Universtiät Zürich Institut für Informatik

Diploma Thesis Educational Engineering Group Department of Informatics (IFI) University of Zurich Binzmühlestrasse 14, CH-8050 Zurich, Switzerland URL: http://www.ifi.uzh.ch/ee/index.html

ii

Zusammenfassung
folgt

iii

Abstract

v

Inhaltsverzeichnis
1. Einleitung 1.1. Ausgangslage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Zielgruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5. Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 2 2 3 3 3 3 4 5 6 8 8 9

2. Grundlagen und Begriffe 2.1. Allgemeine Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Qualität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2. Kommunikationsräume und -techniken . . . . . . . . . . . . . . . . . . . . . . . 2.1.3. CSCW und Groupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4. ECM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5. KMU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. IT-Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2. Projektklassifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.2.1. Klassifikation nach Wichtigkeit . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2.2. Klassifikation nach Zeitpunkt und Bedeutung . . . . . . . . . . . . . . . 11 2.2.2.3. Klassifikation nach Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2.4. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3. Kontrolle eines Projekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4. Steuerbarkeit eines Projekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4.1. Das Teufelsquadrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4.2. Direkt wirksame Steuerung . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.4.3. Indirekt wirksame Steuerung . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.4.4. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.5. Erfolgsfaktoren eines Projekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3. Methoden des Projektmanagements 17

3.1. Allgemeines Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1. Projektorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2. Rollen und Gremien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.3. Informationssystem 3.1.5. Sachmittelsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 vii 3.1.4. Dokumentationssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Inhaltsverzeichnis 3.2. Projektmanagement nach Jenny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.1. Projektinstitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.2. Projektabwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.2.1. Projektführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.3. Projektmanagement-Systemelemente . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.3.1. Projektportfoliomanagement . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.3.2. Risikomanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3.3. Qualitätsmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3.4. Teammanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.3.5. Konfigurationsmanagement . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3. Projektmanagement nach Specker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.1. Projektmanagementfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.2. Projektmanagementtätigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Agiles Projektmanagement: SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4.1. Projektmanagement in Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4.2. SCRUM-Rollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.2.1. Product Owner - der Visionär . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.2.2. SCRUM Team - die Lieferanten . . . . . . . . . . . . . . . . . . . . . . 32 3.4.2.3. SCRUM Master - der Change Agent . . . . . . . . . . . . . . . . . . . . 32 3.4.2.4. Weitere Rollen im Scrum-Prozess . . . . . . . . . . . . . . . . . . . . . 33 3.4.3. Artefakte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.3.1. Product Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.3.2. Sprint Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.3.3. Burndown Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.3.4. Impediment List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.4. Sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.4.1. Planungssitzung 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.4.2. Planungssitzung 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.4.3. Daily Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4.4.4. Sprint Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4.4.5. Sprint Retrospektive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4.5. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5. MIO Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5.1. Managementprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.5.2. Führungsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.6. Produktentwicklungsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.6.1. Wasserfallmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.6.2. Spiralmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.6.3. Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.6.4. Extreme Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.6.5. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.7. Prozessintegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.7.1. Projektmanagement-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 viii

Inhaltsverzeichnis 3.7.2. Führungsprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.8. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4. Anforderung an eine moderne PM-Plattform 51

4.1. Randbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.1. Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.2. Erweiterbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1.3. Vernetzt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.1.4. Mehrsprachig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2. Kommunikation und Zusammenarbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2.1. E-Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.2. Kontaktmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.3. Bookmarks/Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.4. Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.5. Instant Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.6. Nachrichtenboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.7. Umfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3. Informations- und Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.1. Dokumentemanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.2. Versionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.3. Strukturierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3.4. Wissenserhaltung und Wissensfindung . . . . . . . . . . . . . . . . . . . . . . . 57 4.4. Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.4.1. Termine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.4.2. Management von Input und Output . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.4.3. Ressourcenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4. Aufgabenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.5. Änderungsmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.6. Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.5. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5. Tool-Evaluation 5.1.1. PHProject 61 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.1. Toolauswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1.2. Open-Xchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1.3. eGroupWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1.4. Simple Groupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1.5. IGSuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.1.6. Plone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2. Kommunikation und Zusammenarbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3. Informations- und Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.4. Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.5. File Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5.1. Dropbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ix

Inhaltsverzeichnis 5.5.2. Syncplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.5.3. Windows Live FolderShare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.6. Microsoft Produkte und Alternativen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.6.1. Kommunikation und Zusammenarbeit . . . . . . . . . . . . . . . . . . . . . . . . 75 5.6.1.1. Office Groove 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.6.1.2. Alternative zu Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.6.2. Informations- und Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . 76 5.6.2.1. Microsoft Windows SharePoint Services (WSS) . . . . . . . . . . . . . . 76 5.6.2.2. Alternative zu Sharepoint . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.6.3. Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.6.3.1. Microsoft Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.6.3.2. Open Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.7. Produktentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.7.1. Eclipse IDE mit PyDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.7.2. WingIde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.7.3. Komodo Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6. Software Plattform 6.1. Programmiersprache Python 85 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.1.1. Vorteile von Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.1.2. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.1.3. Konzept und Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.1.4. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2. Applikationsserver Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.2.1. Konzept von Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.2.2. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.2.2.1. ZMI - Zope Management Interface . . . . . . . . . . . . . . . . . . . . . 91 6.2.2.2. ZODB - Zope Object Database . . . . . . . . . . . . . . . . . . . . . . 91 6.2.2.3. Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.2.3. Zope Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.2.4. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.3. CMS Plone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.1. Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.2. Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.2.1. Artikel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.2.2. Ansichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.3. Arbeitsablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.3.4. Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.3.5. Benutzerberechtigungen und Funktionen . . . . . . . . . . . . . . . . . . . . . . 101 6.3.6. Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.3.7. Plone Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7. Implementierung, Konfiguration 103

7.1. Erfüllung der Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 x

Inhaltsverzeichnis 7.1.1. Kommunikation und Zusammenarbeit . . . . . . . . . . . . . . . . . . . . . . . . 103 7.1.2. Informations- und Datenmanagement . . . . . . . . . . . . . . . . . . . . . . . . 105 7.1.3. Projektmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.1.4. Änderungsmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.2. Feldtest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.2.1. Testumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.2.2. eXtreme Management 1.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.3. Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8. Ausewrtung / Ausblick 9. Schlussbemerkung A. Literaturverzeichnis B. Innovationsspiele C. Planung mit Scrum 111 113 115 121 123

C.1. Sprint 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 C.2. Sprint 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 C.3. Sprint 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 C.4. Agiles Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 D. Toolspezifikation D.2. PHProject 129

D.1. Toolauswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 D.3. Open-Xchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 D.4. eGroupWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 D.5. Simple Groupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 D.6. IGSuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.7. Microsoft Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.8. Microsoft Windows SharePoint Services (WSS) . . . . . . . . . . . . . . . . . . . . . . 149 D.9. Microsoft Office Project 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 D.10.PyDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 D.11.Wing IDE 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 D.12.Komodo Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

xi

Inhaltsverzeichnis

xii

1. Einleitung

1.1. Ausgangslage
Although the need is apparent, there appears to be precious little innovative activity in the area of software management. Perhaps this is so because computer scientists believe that management per se is not their business, and the management professionals assume that its the computer scientists’ responsibility. Be that as it may, there are many software management problems yet to be solved as well as plenty of room for improvement in the way that such business is conducted. In short, there are many challenges and opportunities for initiatives in software management. Cooper (1978) Gemäss einer Studie der Standish Group (2008) scheitert heutzutage immer noch ein Grossteil der ITProjekte (vgl. Abbildung 1.1). Komplexe Projekte benötigen daher ein adäquates Projektmanagement und entsprechende Unterstützung durch geeignete Tools. Projektmanagement ändert sich in der heutigen Zeit aufgrund der erhöhten Anzahl von verteilten Projekten und neuen Projektmanagementmethoden. Um ein Projekt zum Erfolg zu führen, muss aktuell und zukünftig mehr Fokus auf die Nachverfolgung von Projektarbeitsprozessen, effizientes und effektives Teilen von Information und Wissen zwischen den Projektmitarbeitern in alle Richtungen, ein proaktives Änderungsmanagement und eine geeignete Prozessüberwachung gelegt werden (Chen u. a., 2002).

Abbildung 1.1.: Erfolg von IT-Projekten (Standish Group, 2008) 1

1. Einleitung

1.2. Aufgabenstellung
Der Schwerpunkt mensch | informatik | organisation (MIO) am Institut für Informatik der Universität Zürich beschäftigt sich mit der Führung und dem Management komplexer IT-Projekte. Zur Unterstützung der entwickelten Methoden wurden eine eigene Lernumgebung und verschiedene Tools entwickelt. Vor diesem Hintergrund soll eine neue webbasierte Plattform zur Unterstützung der Führung und des Managements komplexer IT-Projekte realisiert werden. Die neue Plattform soll funktional performant sein und die Prozessdifferenzierung des MIO-Ansatzes unterstützen. Durch ein einfaches Handling, Skalierbarkeit und Erweiterbarkeit soll die Plattform sich für das Management von komplexen ITProjekten eigenen.

1.3. Abgrenzung
Am 4. März wurde während einer Sitzung beschlossen, diese Plattform nicht mehr selbst zu entwickeln, sondern das Open Source ECMS „Plone“ zu verwenden. Plone gilt zum aktuellen Zeitpunkt als zukunftsträchtige und innovative Plattform mit einer starken Community im Hintergrund. Seine Stärken sind das Dokumentemanagement und die Verwaltung von Prozessen. Das Grundmodul dient als Basis für die Erweiterung um ein Modul für die Unterstützung der Zusammenarbeit nach der agilen Projektmanagementmethode „Scrum“ (Mengelt, 2008) sowie eines Authoring Tools zur Unterstützung des kollaborativen Schreibens (Heuberger, 2008). Das Scrum-Modul baut auf dem Grundmodul von „Plone“ auf, während das Authoring Tool auf dem Grundmodul und dem Scrum-Modul aufbaut.

1.4. Zielgruppe
Diese Arbeit richtet sich an Personen aus den Bereichen Wirtschaft und Informatik, an Projektleiter genauso wie an Entwickler und Manager. Sie vertieft den Ansatz, dass für ein erfolgreiches Projektmanagement im IT-Bereich das gemeinsame Verständnis aller Beteiligten und ein verstärkter Fokus auf Führung, Entwicklungs- und Arbeitsprozess nötig sind. Für die Entwicklung qualitativ hochwertiger, komplexer Software reichen die klassischen Projektmanagementmethoden mit Fokus auf die ökonomischen Prozessziele Inhalt, Kosten und Qualität oftmals nicht mehr aus.

1.5. Aufbau der Arbeit
Die Arbeit beginnt in Kapitel 2 mit der Klärung grundlegender Begriffe und Eigenschaften von Projekten. Im Kapitel 3 folgt die Theorie des klassischen wie auch des agilen Projektmanagements. Ebenso wird hier der MIO-Ansatz erläutert. Darauf folgt im Kapitel 4 die Anforderungsanalyse an eine moderne Plattform, welche zugleich aktuell und innovativ sein soll. Als Erweiterung dazu werden im Kapitel 5 unterschiedliche Tools für die einzelnen Prozesse evaluiert und deren Eignung für eine moderne Management-Plattform geprüft. Kapitel 6 bereitet den Leser mit technischem Hintergrund zum Applikationsserver „Zope“, der Programmiersprache „Python“ und dem ECMS „Plone“ auf die Konfiguration des Grundmoduls vor. Die genaue Parametrisierung und Konfiguration sowie Roadmap für weitere Releases folgt in Kapitel 7. Kapitel 8 hinterfragt kritisch den Erfolg einer modernen ProjektmanagementPlattform mit „Plone“.

2

2. Grundlagen und Begriffe
In diesem Kapitel werden die grundlegenden Begriffe und Eigenschaften von Projekten erläutert. Das IT-Projektmanagement wird in der Literatur seit gut 50 Jahren erläutert. So gross die Anzahl von Literatur ist, so unterschiedlich sind die Definitionen und die Entwicklung, welche die Managementmethoden in einem halben Jahrhundert durchgemacht haben. Der Abschnitt 2.1 fokussiert auf allgemeine Begriffe, welche nicht direkt mit dem Projektmanagement in Beziehung stehen, jedoch für das Verständnis des Grundmoduls und dessen Notwendigkeit und Aufbau wichtig sind. Darauf folgt im Abschnitt 2.2 die Klärung der projektrelevanten Begriffe. Ebenso werden Risiken und die Eigenschaften der Steuerbarkeit und der Erfolgsfaktoren untersucht.

2.1. Allgemeine Begriffe
Das Projektmanagement hat Beziehungen zu vielen weiteren Gebieten, welche grundlegend für ein erfolgreiches Projektmanagement sind. Um Kriterien für die Unterscheidung der Plattformen zu verstehen, geht Kapitel 2.1.1 zuerst auf den Begriff der Qualität bei Produkten und Prozessen ein sowie eine Vertiefung im Bereich der Kommunikation im Kapitel 2.1.2. Daraufhin werden die informationstechnische Konzepte von CSCW/Groupware erläutert, deren Ideen und Grundkonzepte für eine moderne Projektmanagement-Plattform adaptiert werden. Als Abschluss folgt die Definition der Zielgruppe für den Einsatz dieses Basismoduls.

2.1.1. Qualität
Nicht nur die Faktoren Inhalt, Kosten und Termine sind bei einem Projekt zu überwachen, sondern auch die Qualität. Der Anspruch an die Qualität verändert sich in einem Unternehmen fortlaufend. Entscheidend ist ein gemeinsames Verständnis aller Mitarbeitenden über die Bedeutung des Begriffs Qualität und darüber, wie diese Qualität erreicht werden kann. Nach Kessler u. Winkelhofer (2004) stützt sich die Qualität in einem Projekt nicht auf die Anwendung standardisierter Prozesse, sondern auf die drei Eckpfeiler der strukturierten Vorgehensweise, dem Einsatz passender Hilfsmittel und Werkzeuge sowie der Ausbildung des Projektteams. Jankulik u. a. (2005) geht einen Schritt weiter und betrachtet die Qualität aus den unterschiedlichen Aspekten bezüglich Produkte, Prozesse und Potential (siehe Abbildung 2.1, S. 4). Die Anforderung an die Qualität in einem Softwareprojekt nimmt stetig zu und zeichnet sich nicht nur durch das Produkt aus, sondern durch die Gesamtheit aller Merkmale einer Einheit, festgelegte und vorausgesetzte Erfordernisse zu erfüllen (ISO 8402).

2.1.2. Kommunikationsräume und -techniken
Die Theorie der Kommunikationsräume umfasst sechs Dimensionen: 3

2. Grundlagen und Begriffe

Abbildung 2.1.: Aspekte der Qualität (Jankulik u. a., 2005)

personell: Anzahl der beteiligten Personen sowie deren Rollen, Interessen, Heterogenität und Geschlecht zeitlich: Dauer des Dialogs sowie Häufigkeit (einmalig, wiederkehrend) räumlich: Grösse und Klima des Raumes sowie Ausstattung, Anordnung der Plätze und strategische Platzierung der Leitung kulturell: Werte und Regeln, Art (Dialog, Diskussion, Präsentation) sowie Sitten und Gebräuche (Pünktlichkeit, Offenheit) sprachlich: gemeinsame und funktionale Sprache Organisation des Dialogs: Gesprächsart (Plenum, Teilgruppen), Art der Gesprächsführung und der Visualisierung, Zeitplan und Unterlagen Die angewendeten Techniken unterscheiden sich in jeder Phase der Projektführung (vgl. 3.5).

2.1.3. CSCW und Groupware
CSCW (Computer Supported Collaborative Work) beschreibt das universelle Arbeitsgebiet und die Forschungsfelder der computergestützten Gruppenarbeit, während Groupware die entsprechenden Systemlösungen beschreibt (Borghoff u. Schlichter, 1998). Da kooperatives Arbeiten nicht nur die gemeinschaftliche Erledigung von Sachaufgaben bedeutet, sondern auch Koordination und Kommunikation (Interaktion) zwischen den beteiligten Aufgabeträgern einschliesst, verlangt es nach einer besonderen Form von Computerunterstützung. Für diese Art der Computerunterstützung hat sich der Ausdruck Groupware eingebürgert. Der Begriff beinhaltet somit Hardware und Software für die gemeinsame Nutzung durch mehrere Aufgabenträger. Groupware erlaubt, Informationen und sonstige Materialien auf elektronischem Wege zwischen den Mitgliedern einer Gruppe koordiniert auszutauschen oder gemeinsame Materialien in gemeinsamen Speichern koordiniert zu bearbeiten (Schiestl, 1996). In der Kooperation lassen sich drei sich gegenseitig ausschliessende Dimensionen unterscheiden, wobei vorwiegend die dritte Dimension zur Klassifizierung von Groupware-Anwendungen verwendet wird ((Borghoff u. Schlichter, 1998), (Fischer, 2002)): 4

2.1. Allgemeine Begriffe

Abbildung 2.2.: Techniken der Kommunikation nach Kuhnt (2007)

Bilaterale vs. Multiple Kooperation: Anzahl der Beteiligten Kommunikationspartner Konjunktive vs. Disjunktive Kooperation: Ausführung der Handlung durch einen (disjunktiv) oder durch beide Beteiligten Unmittelbare vs. Mittelbare Kooperation: Räumliche und zeitliche Trennung der Kooperationspartner

2.1.4. ECM
Enterprise Content Management (ECM) is the term used to describe the technologies, tools, and methods used to capture, manage, store, preserve, and deliver „content“ or „information“ across an enterprise or organization. At the most basic level, ECM tools and strategies allow the management of an organization’s unstructured information, wherever that information exists. Unstructured information means letters, emails, reports etc as opposed to databases or accounting systems which contain „structured“ information. (AIIM, 2008) Ein ECM-System soll innerhalb eines Unternehmens die für Mitarbeiter relevanten Daten einheitlich auf einer Plattform zur Verfügung stellen. Die technische Herausforderung liegt hierbei bei der Menge von unterschiedlichen Quellen, in welchen die Informationen existieren (Archiv, Datenbank, Internet, Mail, ERP-System, Papierdokumente) (Noack, 2007). Dabei liegt der Inhalt (Content) in strukturierter, schwach strukturierter oder unstrukturierter Form vor. Der Grad der Struktur hängt hierbei mit der verfügbaren Meta-Information und der Trennung von Layout und Inhalt zusammen. Diese Trennung ist wichtig, weil Meta-Informationen für die elektronische Verwaltung und Kontrolle von Inhalten benötigt werden. 5

2. Grundlagen und Begriffe

Abbildung 2.3.: Die 5 Komponenten von ECM (Kampffmeyer, 2006)

5 Komponenten-Modell Die wichtigsten ECM-Komponenten und -Technologien lassen sich gemäss Kampffmeyer (2006) (siehe Abbildung 2.3, S. 6) in die fünf Hauptkategorien Erfassung, Verwaltung, Speicherung, Ausgabe und Sicherung einordnen. Die bisherigen Anwendungsfelder

• • • • •

DM Document Management (DMS, Dokumentenmanagement) Collaboration (die Zusammenarbeit unterstützende Software, Groupware) WCM Web Content Management (einschliesslich Portale) RM Records Management (Archiv- und Ablageverwaltungssysteme) Workflow / BPM Business Process Management (Vorgangsbearbeitung)

bilden die eigentlichen „Manage“-Komponenten, welche die ECM-Komponenten zusammen oder alternativ einsetzen. Das von der AIIM im Jahre 2005 veröffentlichte „Enterprise Content Management House“ (siehe Abbildung 2.4, S. 7) stellt die Komplexität und den Funktionsumfang von Enterprise Content Management dar. Informationen werden dabei als Ein- und Ausgang dargestellt, das Business Process Management als verbindenden Aufzug zwischen den Stockwerken.

2.1.5. KMU
Als kleine und mittlere Unternehmen gelten Unternehmen mit bis zu 250 Mitarbeitenden, einem Umsatz von weniger als 40 Millionen Euro resp. einer Bilanzsumme von weniger als 27 Millionen Euro. Zudem befinden sich weniger als 25% des Kapitals bei einem Unternehmen, welches diese Kriterien nicht erfüllen. Mikro- und Kleinunternehmen (mit bis 9 resp. 49 Mitarbeitern) sowie Mittelunternehmen zeichnen sich durch folgende qualitative Merkmale aus (Bamberger, 2005):

• • • •

Autonomie der Unternehmung Fähigkeit zur Erbringung individualisierter, differenzierter Leistung geringer Formalisierungsgrad, vorherrschen von informellen Kommunikationskanälen vorherrschende Leitungsstruktur in Form eines auf den Unternehmer abgestimmten Ein-LinienSystems, seltener in Form des Stab-Linien-Systems

• Entscheidungszentralisation, die auch Routineentscheidungen umfasst
6

2.1. Allgemeine Begriffe

Abbildung 2.4.: Enterprise Content Management House nach Kampffmeyer (2006)

Abbildung 2.5.: Marktwirtschaftliche Unternehmen und Beschäftigte nach Grössenklassen in der Schweiz, 2005 (Bundesamt für Statistik, 2008)

7

2. Grundlagen und Begriffe Rund 99.7% aller Unternehmen mit 67.5% aller Beschäftigten gehören in die Gruppe der KMU, mehr als 87% der Unternehmen beschäftigen weniger als 10 Mitarbeitende (siehe Abbildung 2.5, S. 7). Ein solches Unternehmen benötigt trotz dem geringen Formalisierungsgrad, einer schlanken Organisationsstruktur und der zentralisierten Entscheidungsstelle für die Durchführung Ihrer Projekte ein professionelles Projektmanagement.

2.2. IT-Projektmanagement
Die Führung eines Projektes wird als Projektmanagement bezeichnet (Jenny, 2005). Dazu abzugrenzen ist das Projektmanagement-System, welches gemäss DIN 69905 ein organisatorisch abgegrenztes Ganzes ist, welches durch das Zusammenwirken seiner Elemente in der Lage ist, Projekte vorzubereiten und abzuwickeln. Die Elemente dieses Systems sind einzelne Disziplinen, die in einem Projekt von den jeweiligen Rollen berücksichtigt und beherrscht werden müssen. Somit können in ein modernes Projektmanagement auch die Prozesse der Führung und der Produktentwicklung mit einbezogen werden. Viele Begriffe aus dem Umfeld des Projektmanagements werden unterschiedlich definiert und verwendet. Dieses Kapitel soll dazu dienen, die in dieser Arbeit verwendeten Begriffe von einer allgemeingültigen Definition abzugrenzen.

2.2.1. Projekt
Bei der Literatursuche nach der Erklärung des Begriffs „Projekt“ stellt man schnell fest, dass keine einheitliche Definition möglich ist, sich die meisten Erklärungen in den wichtigsten Punkten jedoch decken. Ein Projekt gilt als einmaliges Vorhaben auf Zeit, welches durch einen klaren Start- und Endzeitpunkt definiert ist (Jenny (2005), Thayer u. Yourdon (1997), Frühauf u. a. (2001), Mangold (2002)). Ein Projekt führt dabei einen bestehenden IST-Zustand in einen gewünschten SOLL-Zustand über, wobei die Bedürfnisse des Auftraggebers und die Möglichkeiten des Auftragnehmers den äusseren Rahmen definieren. Jenny (2005) definiert ein Projekt wie folgt: Projekte sind in sich abgegrenzte, komplexe und/oder komplizierte Aufträge, deren Erfüllung eine Organisation bedingt, die für die Umsetzung der Tätigkeiten eine Projektmethode anwendet, mit der alle anfallenden Arbeiten geplant, gesteuert, durchgeführt und kontrolliert werden können. Nach (Mangold, 2002) ist ein Projekt ein Vorhaben, welches folgende vier Kriterien erfüllt: eindeutiges Ziel: Auch wenn sich Ziele während des Projektverlaufs verändern, ist entscheidend, „dass bei einem solchen Vorhaben von Anfang an ein Ziel festgelegt und kommuniziert wird, so dass alle Projekbestrebungen auf die Erreichung eines derzeit aktuellen Ziels ausgerichtet werden können.“ begrenzt: Ein Projekt ist im Bezug auf Zeit, Kosten und Ressourcen begrenzt. Die Anforderungen an ein Projekt legen die inhaltlichen Grenzen fest, welche nötig sind, um ein Endergebnis zu definieren und zu erreichen. 8

2.2. IT-Projektmanagement individuell: Ein Projekt zeichnet sich durch seine Individualität aus. „Projekte sind nie Routinetätigkeiten. Etwas, was in gleicher Art und Weise schon einmal durchgeführt wurde, ist kein Projekt mehr. Für solche Fälle lassen sich Ablaufmodelle entwickeln, die ohne Projektmanagement-Methoden zum erwarteten Ziel führen.“ hohe Komplexität: „Die zu bewertenden Kriterien sind hauptsächlich der Gesamtaufwand, das notwendige Know-how und die Risiken, die das Projekt mit sich bringt.“ Wird das Projekt als ein dynamisches System betrachtet, so steigen mit der Zunahme von Beteiligten und Dauer die Vielfalt der sich wandelnden Elemente und ihre Wechselwirkungen (Kuhnt, 2007). Mit der Dauer verändern sich die Beziehungen, und ein konstanter Wandel kann sich in fundamentale Veränderungen ausweiten. Nach Frühauf u. a. (2001) ist ein Projekt die Menge aller Tätigkeiten, Interaktionen und Resultate, die mit dem Versuch zusammenhängen, ein bestimmtes Ziel mit begrenzten Mitteln und innerhalb begrenzter Zeit zu erreichen. Er lehnt sich dabei an die Definition von (Thayer u. Yourdon, 1997): A project is „a temporary activity that is characterized by having a start date, specific objectives and constraints, established responsibilities, a budget and schedule, and a completion date. If the objective of the project is to develop a software system, then it is sometimes called a software development or software engineering project.“ Ein IT-Projekt ist im Allgemeinen ein Projekt mit einem verstärkten Bezug zur Informationstechnologie und zur Entwicklung. Einfach gesagt ist ein IT-Projekt ein Projekt, welches als Lieferobjekt ein Stück Software beinhaltet (Client/Server-, Webapplikation, . . . ). Für diese Arbeit wird zusammengefasst die folgende Definition für ein Projekt verwendet: Ein Projekt ist ein einmaliges Vorhaben mit einem klaren Start- und Enddatum, einer eindeutigen Zielsetzung und begrenzten Ressourcen. Aufgrund seiner Individualität ist für die erfolgreiche Abwicklung eine Organisation, Planung und Kontrolle nötig.

2.2.2. Projektklassifizierung
Die Klassifizierung von Projekten beeinflusst die Wahl der Projektmanagement-Methode sowie die Ressourcenplanung. Im Verlaufe der Zeit festigten sich die traditionellen Klassifizierungskriterien und wurden um neue erweitert. Wie bei der Wahl der Projektmanagementmethode gibt es auch bei der Klassifizierung keine einheitliche Richtline. Je nach Projektdauer, nach Erfahrung der Projektleiter und des Projektteams und den verfügbaren Ressourcen, werden Projekte innerhalb einer Unternehmung unterschiedlich klassifiziert. Für eine klare Übersicht und ein realistisches Projektportfoliomanagement sollte die Projektklassifizierung unternehmensintern standardisiert und Projekte nach gleichen Kriterien bewertet werden. 9

2. Grundlagen und Begriffe 2.2.2.1. Klassifikation nach Wichtigkeit Jenny (2005) stuft Projekte nach Wichtigkeit in vier Klassen (A − D) ein, wobei A die höchste Wichtigkeit besitzt. Mögliche Einstufungskriterien sind Strategieeinfluss, Organisationsveränderung, Effizienz, Komplexität, Kosten, Intensität der Projektabwicklung, Risiko oder Wirtschaftlichkeit, welche mit konkreten Zahlenwerten oder durch eine verbale Gewichtung (hoch/mittel/tief) skaliert werden. Nebst der

Abbildung 2.6.: Projektklassifikation anhand eines Kiviat-Diagramms nach Jenny (2005) Einstufung nach Wichtigkeit ist jedoch eine zusätzliche Einstufung nach Dringlichkeit notwendig. Die Einstufung wird aufgrund der gleichen Kriterien für alle Projekte eines Unternehmens vorgenommen. Dabei ist zu beachten, dass die Klassifikation auch abhängig von der Grösse des Unternehmens ist. Ein Projekt, welches in einem Unternehmen als ein B-Projekt klassifiziert wird, kann bei einer anderen Unternehmung aufgrund anders gewichteter Kriterien als ein A- oder ein C-Projekt eingestuft werden. Anhand eines Kiviat-Diagramms (siehe Abbildung 2.6, S. 10) kann die Projektklassifikation nach Kriterien visualisiert werden. Auch Specker (2004) stuft Projekte in Kategorien anhand der Kriterien Umfang, organisatorische Komplexität, Komplexität des Kundenproblems, Know-How und Technologiekomplexität ein. Dabei entstehen drei Kategorien A−C. Er weist darauf hin, dass auch in kleineren und weniger komplexen Projekten alle Aspekte des Projektmanagements wahrzunehmen wären. Im traditionellen Projektmanagement werden Projekte also hauptsächlich nach Dimensionen, fachlichen Inhalten, messbaren Grössen und Vorgehensphilosophie kategorisiert (Kessler u. Winkelhofer, 2004). Kessler selbst unterscheidet Projekt anhand folgender Kriterien:

• die Komplexität, Vielfalt und Dynamik des Umfeldes des Projektes • projekttypische Merkmale, wie Innovationsgrad, Terminkritikalität und Komplexität der Projektziele

• die Struktur des Projektes, die sich aus der Grösse ergibt und • Grad der Auswirkung der Projektziele
10

2.2. IT-Projektmanagement 2.2.2.2. Klassifikation nach Zeitpunkt und Bedeutung Applegate (2005) unterscheidet Projekte nach Zeitpunkt und Bedeutung aus Unternehmenssicht (vgl. auch Kuhnt (2007)). Strategische Projekte sind kritisch für die Unternehmensstrategie und benötigen eine zentrale Planung. Die Erreichung der Ziele ist für das Unternehmen von hoher Bedeutung und bringt einen Mehrwert in der Zukunft. High Potential Projekte können den Erfolg eines Unternehmens in der Zukunft möglicherweise entscheidend beeinflussen. Zum aktuellen Zeitpunkt zeichnen sie sich jedoch durch ein hohes Risiko aus, da der Erfolg und somit ein erfolgreiches ROI nicht garantiert werden kann. Kritisch-operative Projekte sind zum Zeitpunkt der Durchführung von hoher Bedeutung und verfolgen das Ziel einer quantifizierbaren Leistungsverbesserung. Sie gelten als besonders kritisch, da der Erfolg des Unternehmens zurzeit davon abhängig ist. Unterstützende Projekte sind weder kritisch noch risikobehaftet. Sie verfolgen das Ziel von Kostenund Aufwandsreduktion durch Optimierung, zum Beispiel durch elektronische Unterstützung. Sie sind für das Unternehmen weder zum aktuellen Zeitpunkt noch in der Zukunft erfolgskritisch und meist ausserhalb der Kernkompetenzen angesiedelt. 2.2.2.3. Klassifikation nach Inhalt Frühauf u. a. (2001) teilt Projekte grob in drei Gruppen anhand deren typischen Inhalts. A: Auftragsprojekt: Es gibt einen traditionellen Auftragnehmer und einen Auftraggeber. Der Auftragnehmer entwickelt hierbei ein Produkt für den Käufer. Verantwortung, Lieferung und Zahlung sind in einem Vertrag klar geregelt. Konflikte werden notfalls vor Gericht gelöst. B: Interne Projekte: Unternehmensintern wird ein IT-Projekt für den Eigenbedarf entwickelt. Auftragnehmer und -geber gehören hierbei dem gleichen Unternehmen an. Konflikte werden über den gemeinsamen Vorgesetzten gelöst. C: Entwicklungsprojekte: Der dritten Gruppe gehören eigens entwickelte Softwarepakete an, welche erst nach der Fertigstellung auf den Markt gebracht werden. Diese lösen meist gängige Problemstellungen und werden durch Marketing oder einen Produkt-Manager während der Entwicklung begleitet und danach vertrieben. Konflikte werden ebenfalls intern geregelt. 2.2.2.4. Fazit Projekte können anhand unterschiedlicher Merkmale klassifiziert werden (Jenny (2005), Kessler u. Winkelhofer (2004), Frühauf u. a. (2001)). Dabei werden diese Merkmale je nach Bereich des Projektes und Grösse und Art des Unternehmens unterschiedlich stark gewichtet sowie fortlaufend angepasst oder neu definiert. Wichtige und für ein Unternehmen kritische Projekte benötigen einen höheren Administrationsaufwand und bessere Kontrollen. Dem gegenüber werden bei internen oder unterstützenden Projekten die Tätigkeiten des Projektleiters auf ein Minimum reduziert. Die richtige Klassifikation ist wichtig, um die geeignete Projektmanagement-Methode zu wählen und die Dokumentation und Planung in angemessenem Umfang zu erstellen (vgl. Tabelle 3.2). Im Bereich 11

2. Grundlagen und Begriffe von KMUs wird der Fokus auf die Überwachung von strategischen und kritisch-operativen Auftragsprojekten aus allen Wichtigkeitsbereichen gesetzt. Für diese Arten von Projekten wird in Kapitel 4 ein Anforderungskatalog erstellt.

2.2.3. Kontrolle eines Projekts
Das Risikomanagement steht in engem Zusammenhang mit dem Projektmanagement und dem Controlling. Nach Gaulke (2004) steigt seine Bedeutung mit zunehmender Grösse und Komplexität von Projekten und hängt auch mit der Automatisierung von Geschäftsprozessen und der Öffnung der Unternehmenssysteme für Partner und Kunden ab. Unter zunehmendem Wettbewerbsdruck spielt die Automatisierung und das damit verbundene Risiko durch unterlassene Kontrolle der Vorgänge eine wichtige Rolle. Das magische Dreieck Unter dem magischen Dreieck versteht man das Management und die Kontrolle der ökonomischen Prozessziele Leistung, Zeit und Kosten. Wird eine Komponente verändert, so müssen sich automatisch auch die beiden anderen Komponenten ändern, um das Dreieck im Gleichgewicht zu halten. Das Problem beim magischen Dreieck ist die Fokussierung auf diese drei Prozessziele und die Vernachlässigung anderer wichtiger Faktoren wie Qualität, Erfolgsfaktoren, soziale Führung und Produktentwicklung. Die Theorie des magischen Dreiecks funktioniert nur in einem Projekt mit einem reibungslosen Ablauf, und dies ist oftmals nur in kleinen und unkritischen Projekten mit geringer Komplexität zu finden (vgl. auch Kapitel 2.2.4.1). Traditionelles Projekt-Controlling überwacht hierbei nur die obigen drei Prozessziele. Dass dies in der heutigen Zeit nicht mehr ausreicht, bräuchte nicht explizit erwähnt zu werden, da wichtige Bereiche wie Zusammenarbeit, soziale Führung und die sozialen Erfolgsfaktoren (vgl. Kapitel 2.2.5) fehlen.

2.2.4. Steuerbarkeit eines Projekts
Die Projektsteuerung umfasst alle projektinternen Aktivitäten des Projektleiters, die notwendig sind, um das geplante Projekt innerhalb der Planungswerte abzuwickeln und erfolgreich durchzuführen (Jenny, 2005). Klar definierte Ansprechpartner in jeder Disziplin eines Projektes und ein grundlegendes Verständnis der Vorgehensweisen wie auch die richtige Beurteilung und Einschätzung von Aufgaben sind Grundvoraussetzung zur Steuerung eines Projekts (Stoyan, 2004). Nach Jenny (2005) ist für die Steuerung eines Projektes nebst brauchbaren Planungsvorgaben auch ein geeignetes Messverfahren zur Projektkontrolle notwendig, um mögliche Abweichungen festzustellen. Die so erkannten Abweichungen können mit entsprechenden Massnahmen korrigiert werden. 2.2.4.1. Das Teufelsquadrat Als Voraussetzung für eine erfolgreiche Steuerung sind gemäss Jenny (2005) folgende Punkte zu erfüllen:

• Klare Bestimmung des Projektumfangs • Klare Projektabwicklungsziele • Genau definierte Projekteinflussgrössen
12

2.2. IT-Projektmanagement

• Stetige Unterstützung des Projektleiters durch das Management • Aufgabengerechte Qualifikation des Projektleiters und des Projektteams • Zweckmässiger Einsatz der Sachmittel • Genaue und umfassende Kontrolle • Möglichst detaillierte Planung

Abbildung 2.7.: Teufelsquadrat nach (Daenzer, 2002) und (Jenny, 2005) Einen grossen Einfluss auf die Effektivität der Steuerung hat die Erfahrung des Projektleiters, da Steuerungsmassnahmen meist mehr als eine der Projektgrössen Kosten, Leistung, Termin und Qualität betrifft. Das Teufelsquadrat (siehe Abbildung 2.7, S. 13) zeigt auf, wie sich Änderungen an einer Projektgrösse auf den ganzen Rahmen auswirken. Für eine Optimierung stehen dem Projektleiter im Voraus konstruktive und im Nachhinein analytische Massnahmen zur Verfügung. Diese können unter dem Aspekt der direkt oder indirekt wirksamen Steuerung betrachtet werden. 2.2.4.2. Direkt wirksame Steuerung Die direkt wirksame Steuerung wirkt sofort und kurzfristig auf Differenzen zwischen der Planung und der Gegenwart sowie auf die Differenzen, welche durch den Vergleich des geplanten und des erstellten Lieferobjekts aufgedeckt wurden. Eine nicht abschliessende Liste von Projektführungstätigkeiten für die direkt wirksame Steuerung gibt uns Jenny (2005): Projektkoordination: Sind viele der Projektbeteiligten an mehreren unterschiedlichen Projekten beteiligt, so müssen Einzelaktivitäten auf die Projektziele ausgerichtet und aufeinander abgestimmt sein. Risikoverfolgung: In periodischen Intervallen sollen die Projektrisiken und die Erfolgsfaktoren überprüft und wenn nötig erweitert werden. Steuerung von Aufwand und Zeit Aufwand und Termineinhaltung werden durch Schätzung und Projektplan festgelegt. Die regelmässige Prüfung des Fortschritts wird durch den Fertigstellungsgrad aller Aufgabenpakete errechnet. Durch die Berechnung der bisherigen Aufwände können durch einen SOLL-IST-Vergleich Abweichungen vom Plan festgestellt und die erforderlichen Massnahmen eingeleitet werden. Weicht der Projektstand aufgrund von Änderungen der Projektziele ab, so müssen Schätzung und Projektplan neu erstellt werden. 13

2. Grundlagen und Begriffe Um eine termingerechte Abgabe dennoch zu gewährleisten, können weitere Ressourcen hinzugezogen oder der Umfang reduziert und einzelne Lieferobjekte priorisiert werden. Steuerung der Qualität Ist durch die Projektziele definiert, welche Leistungen erbracht werden müssen, so muss die Qualität der einzelnen Disziplinen, darunter Strategie, IT, Design und Inhalt, fortlaufend kontrolliert werden. Werden während des Projektes Abweichungen festgestellt, so muss in jeder Disziplin so früh als möglich das Nötigste unternommen werden, um den Qualitätsansprüchen aller Beteiligten gerecht zu werden. Hierzu erarbeiten die Qualitätsbeauftragten einer jeden Disziplin in Abstimmung untereinander die erforderlichen Schritte, um einen Mindest-Standard halten zu können. Steuerung von Risiken Risiken müssen vom Projektleiter erfragt und von den Projektmitgliedern mitgeteilt werden. Auch die Auftraggeberseite soll frühzeitig über bestehende Risiken informiert werden. Es ist nicht möglich, innerhalb eines Projekts alle Risiken zu vermeiden. Wichtig jedoch ist, diese frühzeitig zu identifizieren und auf der Ebene der Entscheidungsträger zu lösen. Steuerung von Abhängigkeiten Aus Kundensicht können durch Abhängigkeiten von einem Dienstleister schnell hohe Kosten entstehen. Durch das Abliefern von Teilergebnissen, der Wahl einer verbreiteten Technologie und der Beteiligung und Einarbeitung kundenseitiger Mitarbeiter kann die Höhe der Wechselkosten und somit die Abhängigkeit vom Dienstleister verringert werden. Auf Dienstleistersicht sind vorwiegend projektexterne Abhängigkeiten zu minimieren. Die grösste Gefahr besteht bei projektexternen Entscheidungen, Informationen und Dokumenten. Ein guter Ansatz ist der Einbezug der externen Entscheidungsträger in das Projektteam, um Wartezeit und somit diese Abhängigkeit zu verringern. 2.2.4.3. Indirekt wirksame Steuerung Um das Leistungsverhalten des Projektteams längerfristig zu beeinflussen, steht dem Projektleiter die Möglichkeit der indirekt wirksamen Steuerung zur Verfügung. Dazu gehören langfristige Motivationsfaktoren, Mitarbeiterbeurteilung und -förderung sowie der Einsatz des geeigneten Führungsstils und -verhaltens. Als Projektführungstätigkeiten für die indirekt wirksame Steuerung gilt nach Jenny (2005) das Projektmarketing. Es ist ein wichtiger Teil des Stakeholder-Managements und baut auf ähnlichen Kriterien und Theorien wie das Produktmarketing auf. Durch Information können Widerstände gegen das Projekt abgebaut und eine positive Haltung gegenüber dem Projekt geschaffen werden. Diese gesteigerte Motivation unterstützt das Projekt in allen Phasen und hilft mit, den Projekterfolg zu garantieren. 2.2.4.4. Fazit Die Steuerbarkeit in einem Projekt hängt von der Umgebung und der betroffenen Grösse ab. Während messbare Grössen wie Zeit und Qualität durch den Projektplan kontrolliert und direkt korrigiert werden können, so können vorwiegend soziale Aspekte und Akzeptanz nur indirekt über längere Zeit hinweg gesteuert werden und gehören in den Bereich der sozialen Projektführung. Die indirekt steuerbaren 14

2.2. IT-Projektmanagement Aspekte betreffen hierbei meist nicht nur eine Phase des Projekts, sondern ziehen sich über mehrere Phasen und auch über mehrere Projekte hinweg.

2.2.5. Erfolgsfaktoren eines Projekts
Gemäss einer Untersuchung der Standish Group (siehe Abbildung 1.1, S. 1) konnten im Jahre 2004 nur knapp 30% der IT-Projekte erfolgreich abgeschlossen werden. 18% scheiterten komplett. Mehr als die Hälfte der Projekte konnten zwar abgeschlossen werden, musste aber für einen erfolgreichen Abschluss an die äusseren Bedingungen angepasst werden. Das Management von Informationen und Prozessen konzentriert sich auf die effektive und effiziente Gestaltung der Erfolgsfaktoren. Zu den Erfolgsfaktoren des Projektmanagements zählen die Erreichung der definierten Projektziele unter der Einhaltung der geplanten Ressourcen wie Zeit, Kosten und Kapazitäten. Sie stellen den Unternehmenserfolg sicher und sind abhängig von den Erfolgsfaktoren für das Projektmanagement eines einzelnen Projekts (Kessler u. Winkelhofer, 2004). Nebst dem Projektabwicklungserfolg, welcher durch die Projektabwicklungsziele definiert ist, kann auch der Systemerfolg anhand der Systemziele und den Faktoren Akzeptanz und Wirtschaftlichkeit gemessen werden (Jenny, 2005). Wegmann u. Winklbauer (2006) nennt als wichtige Erfolgsfaktoren:

• Business Impact: Wird ein Nutzen für das Unternehmen erzielt? • Committed Stakeholders: Stehen die Stakeholder hinter dem Projekt? • Realistic and manageable Scope: Ist der Arbeitsumfang des Projekts realistisch eingeschätzt und
machbar?

• Well-managed Work and Schedule: Gibt es eine hinreichend geplante Vorgehensweise und einen
realistischen Zeitplan?

• Mitigated Risks: Wurden die vorhandenen Risiken entschärft? • High performance Team: Ist das Team leistungsfähig genug?
Soziale Erfolgsfaktoren Während sich Wegmann u. Winklbauer (2006) auf messbare und kontrollierbare Erfolgsfaktoren beschränkt, werden in der systemischen Projektführung die sozialen Erfolgsfaktoren Macht, Zusammenarbeit, Wissen, Information und Identität betrachtet. Diese können als Leitfragen an die Stakeholder gestellt werden (Huber, 2007):

• Identität: Macht das Projekt für den Sponsor und Ihre Anspruchsgruppe zum jetzigen Zeitpunkt
Sinn?

• Macht: Liegt das vom Projekt zu entwickelnde Produkt im Interesse des Sponsors und im Interesse Ihrer Anspruchsgruppe?

• Wissen: Verfügt Ihre Anspruchsgruppe über genügend Wissen für die Unterstützung des Projekts? Wie fliesst das Wissen?

• Informationen: Verfügen Sie über die vorgesehene Informationen für das Projekt und können Sie
die erhaltenen Informationen aufnehmen und prozessieren? Wie gehen Sie beim Informationsaustausch vor, so dass alle Beteiligten jederzeit die notwendigen Informationen abrufen können?

• Zusammenarbeit: Sind sie zu einer Zusammenarbeit mit dem Projekt bereit? Können Sie die
Teammitglieder genügend motivieren, Konflikte lösen und Interessengegensätze miteinander vereinbaren? 15

2. Grundlagen und Begriffe

16

3. Methoden des Projektmanagements

Dieses Kapitel widmet sich den Theorien des Projektmanagements. Die Literatur listet eine Vielzahl unterschiedlicher Theorien, welche sich im Detailierungsgrad, dem Fokus und dem Ablauf stark unterscheiden. Zuerst werden die traditionellen Methoden von Jenny (2005) und Specker (2004) sowie deren Abläufe und Artefakte erläutert. Diese beiden methodischen Ansätze für die Führung eines Projekts unterscheiden sich in der Art der Prozessgestaltung, decken jedoch einen grossen Teil der wichtigen Aspekte ab. Danach folgen die agile Methode „Scrum“ und der MIO-Ansatz. Der Abschnitt der Prozessintegration soll aufzeigen, wie traditionelle und agile Methoden in den MIO-Ansatz integriert werden können. Das traditionelle Projektmanagement fokussiert auf den Reporting-Mechanismus. An moderne Projekte, welche sich oftmals durch ein hohes Mass an Komplexität und verteilte Teammitglieder auszeichnen, stellen sich die Herausforderung der Zusammenarbeit, des Wissensmanagements und der genauen Definition von Arbeitsprozessen. Traditionelles Projektmanagement erarbeitet oft passive Reportings anstatt einer dynamischen Teamarbeits-Koordination. Projektmanagement an sich soll als nützliches System für alle gelten, um sich selbst zu organisieren (Chen u. a., 2002).

3.1. Allgemeines Projektmanagement
Ein Projekt, welches innerhalb einer Organisation durchgeführt wird, hängt auch stark von der unternehmensinternen Struktur, dem Aufbau der Hierarchie und der Verteilung der Kompetenzen ab. Um deren Zusammenhang zu verstehen, werden zuerst die Arten der Projektorganisation und die Rollen und Gremien erklärt. Obwohl ein Projekt nicht zwingend die Organisation eines Unternehmens abbilden muss, finden sich in einer Projektorganisation oftmals die gleichen Strukturen wieder. Das Informations, Dokumentations- und Sachmittelsystem bilden grundlegende Begleitprozesse eines jeden Projekts.

3.1.1. Projektorganisation
Grundsätzlich sind die Organisationsformen Linien-, Stab-Linien- und Matrix-Organisation zu unterscheiden. Bei einer Linien-Organisation werden die Mitglieder aus der Firmenhierarchie herausgenommen und zu 100% in einem einzelnen Projekt eingesetzt. Durch die hohe Effizienz und die einfache Entscheidungsfindung aufgrund der gesamten fachlichen Kompetenz des Projektleiters verkürzt sich die Projektdauer. Ist ein Projekt abgeschlossen, müssen die Projektmitglieder jedoch wieder in neuen Projektteams, welche oftmals einem anderen Projektleiter unterstellt sind, eingesetzt werden. 17

3. Methoden des Projektmanagements Im Gegensatz dazu bleiben die Projektmitglieder bei der Stab-Linien-Organisation direkt ihren Linienvorgesetzten unterstellt. Der Projektleiter übernimmt hier lediglich die Koordinationsaufgaben, die Entscheidungsgewalt bleibt bei der Geschäftsleitung. Diese aufgabenorientierte Dezentralisierung erhöht das Projektrisiko und Bedarf einer intensiveren Kontrolle. Als Mischform der oben genannten Organisationen gilt die Matrix-Organisation. Während eines Projekts entsteht ein zeitlich befristetes Mehrliniensystem. Der Projektleiter hat hier die projektbezogenen Kompetenzen gegenüber den Projektmitgliedern, der Linienvorgesetzte kümmert sich weiterhin um das Anstellungsverhältnis und regelt die Integration in die Firmenhierarchie. Die Projektmitglieder arbeiten fix zu einem bestimmten Prozentsatz für ein bestimmtes Projekt. Tabelle 3.1 zeigt die drei Projektorganisationen im Vergleich. Linien voll weisungngsbefugt Stab-Linien nur Koordinationsaufgabe Geschäftsleitung niedrig kurz mehrere Projekte gleichzeitig Linienvorgesetzter hohe Einsatzflexibilität der Mitarbeiter Linienaufgaben haben Vorrang vor Projektaufgaben Matrix weisungsbefugt betreffend Projektaufgaben Projektleiter hoch und niedrig kurz und lang feste Beteiligung an einem Projekt Projektleiter und Linienvorgesetzter optimale Kapazitätsauslastung Konfliktgefahr infolge zweiter Vorgesetzter

Weisungsbefugnis Projektleiter Verantwortlichkeit Komplexität Zeitdauer Einsatz Mitarbeiter Vorgesetzter der Mitarbeiter Vorteile Nachteile

Projektleiter hoch lang Konzentration auf ein Projekt Projektleiter hohe Effizienz und Flexibilität im Projekt Aus- und Wiedereingliederung der Mitarbeiter aus der Firmenhierarchie

Tabelle 3.1.: Überblick Projektorganisation (eigene Darstellung)

3.1.2. Rollen und Gremien
Für Stellen in einer Projektorganisation werden die Aufgaben, Kompetenzen und Verantwortungen (AKV) festgelegt, um das strukturierte Vorgehen zu unterstützen sowie die Koordination zu vereinfach und den Entscheidungs- und Eskalationsweg zu regeln. Wie bei herkömmlichen Stellenbeschreibungen sollten alle Aspekte von AKV pro Rolle aufeinander abgestimmt sein, damit alle Projektmitglieder ihre Aufgaben im Grundsatz der Einheit und Kongruenz erfüllen können. Um zugeteilte Aufgaben abzuschliessen, werden die entsprechenden Kompetenzen benötigt, und über diesen Bereich trägt das Projektmitglied auch die Verantwortung. Zum organisatorischen Projektumfeld gehören nebst den Projektmitgliedern in der Projektorganisation alle Stakeholder, also die Projektträger und alle weiteren Betroffenen und Involvierten (Auftraggeber, Kunden, Lieferanten). Oftmals besetzt ein und dieselbe Person in einem kleinerem Projekt mehr als eine Projektrolle. Auch Aufbau und Grad der gesamten Projektorganisation ist in weniger komplexen 18

3.1. Allgemeines Projektmanagement Projekten einfacher und wird immer der Projektklassifikation angepasst. Die Aufgaben des Projektleiters lassen sich grob in die sechs Gebiete Planung (25%), Kontrolle (25%), Koordination (21%), Steuerung (14%), Administration (12%) und Diverses (3%) aufteilen. Dabei machen Planung und Kontrolle in einem Projekt die Hälfte der Aufgaben aus. Die Zahlen dieser empirisch gestützten Untersuchung zeigen die Wichtigkeit der zwei Bereiche Planung und Kontrolle in einem Projekt (Jenny, 2005).

3.1.3. Informationssystem
Das Projekt-Informationssystem besteht aus den Bereichen Projektsitzung, Dialog, Präsentation und Projektberichtswesen. Eine Projektsitzung wird einberufen, wenn Kommunikation benötigt wird und Informationen in beide Richtungen fliessen sollen. Als Dialoge gelten unter anderem Telefonate und Diskussionen. Sie sind eine wichtige jedoch zeitintensive Art von Informationsaustausch. Ein grosser Teil der Dialoge wird als Koordinationstätigkeit verstanden. Dialoge finden meist informell statt. Im Gegensatz zur Projektsitzung fliesst die Information bei der Präsentation anfangs nur in eine Richtung. Erst nach der eigentlichen Präsentation kann, muss aber nicht, eine Diskussion folgen. Nach der Durchführung folgt die Nachbearbeitungsphase, in welcher Bilanz über positive und negative Aspekte gezogen wird. Bei Projektberichten werden Informationen als Rapporte rein schriftlich festgehalten. Der wichtigste Bericht ist der Projektstatusbericht. Dieser dient als Kontroll- und Steuerungsmassnahme während eines Projekts und wird periodisch verfasst. Die Informationen für den Projektstatusbericht erhält der Projektleiter aus unterschiedlichen Quellen und fasst daraus folgende Aspekte zusammen:

• Zeitpunkt der Fortschritts- und Aufwandsmeldung • Vergleich von SOLL/IST-Zustand des Projektes • Erzielte Erfolge • Beurteilung der Wirksamkeit früher eingeleiteter Steuerungsmassnahmen • Gründe der Abweichung und Massnahmen (Vorschläge/Anträge von Projektleiter) • Aufwandgemässer Stand des Projektes (Restaufwand) • Personalsituation und zukünftiger personeller Aufwand • Hauptaktivitäten der nächsten Berichtsperiode

3.1.4. Dokumentationssystem
Dokumente sind ebenso Lieferobjekte in einem Projekt wie das eigentliche Produkt. Im Bereich der Projekt-Führung entstehen Dokumente, welche aus der Tätigkeit der Projektführung hervorgehen. Zu den Dokumenten der Projekt-Durchführung gehören nebst dem Business Case und dem Anforderungskatalog Schriftstücke aus der Konzeptions- und Realisierungsphase. Tabelle 3.2 zeigt im Überblick, welche Lieferobjekte bei welcher Projektklassifikation als muss unbedingt erstellt werden müssen, welche Berichte auch in gekürzter Fassung genügen, und welche unwichtig sind. Für eine detaillierte Erklärung der einzelnen Lieferobjekte sei auf Jenny (2005), S. 86ff verwiesen. 19

3. Methoden des Projektmanagements Lieferobjekt | Klassifikation Projektantrag Projektauftrag Realisierungsantrag Einführungsantrag Projektabschlussbericht Projektplan Projektstatusbericht Business Case Anforderungskatalog Konzept A m m m m m m m m m m B m m m m m m m m m m C g g m m g m m g m m D u g g m g g g u m g

Tabelle 3.2.: Lieferobjekte gemäss Projektklassifikation nach Jenny (2005)

3.1.5. Sachmittelsystem
Das Projektteam sollte bereits zu Beginn des Projektes mit der benötigten Infrastruktur in den vier Bereichen Arbeitsplatz, Büromaterial, Software und Hardware ausgestattet werden. In einem IT-Projekt sind vor allem die Bereiche Hard- und Software zu beachten, damit Entwickler die von ihnen erwartete Leistung auch erbringen können.

3.2. Projektmanagement nach Jenny

Abbildung 3.1.: Projektmanagement-System nach Jenny (2005) 20

3.2. Projektmanagement nach Jenny Jenny betrachtet das Projektmanagement als ein System mit einer zentralen Projektabwicklung (Führung und Durchführung, (Jenny, 2005), S. 37) als Kernelement. Die weiteren Management-Funktionen (Projektportfolio, Risiko, Qualität, Team, Konfiguration, Changemanagement), welche den Projekterfolg massgeblich beeinflussen, wirken auf das gesamte Projektmanagement-System ein und laufen parallel zur Projektabwicklung. Allem zugrunde liegt die Projektinstitution, auf welcher das gesamte Projekt aufbaut (siehe Abbildung 3.1, S. 20).

3.2.1. Projektinstitution
Die Projektinstitution beinhaltet die organisatorischen Bereiche beim Aufbau des Projektmanagementsystems. Es beinhaltet den Aufbau der Projektorganisation (vgl. Kapitel 3.1.1), die Verteilung von Aufgaben, Kompetenzen und Verantwortung (vgl. Kapitel 3.1.2) sowie die Festlegung des Informations-, Dokumentations- und Sachmittelsystem (vgl. Kapitel 3.1.3, 3.1.4, 3.1.5). Diese fünf Bereiche bilden die Projektbasis.

3.2.2. Projektabwicklung
Mit Projektabwicklung wird das prozessorientierte Projektvorhaben bezeichnet, das in Projektdurchführung und Projektführung unterteilt ist. Es bezieht sich auf den gesamten Aufgabenbereich vom Start bis zum Abschluss eines Projektes (Jenny, 2005), S. 35. 3.2.2.1. Projektführung Zur Projektführung gehören die funktionelle und die personenbezogene Führung. In den Bereich der funktionellen Führung gehören die Planung, Steuerung und Kontrolle. Für weitere Erläuterungen zur personenbezogenen Führung sei auf Kapitel 3.2.3.4 verwiesen. Projektplanung und Artefakte Im Zuge der Projektplanung werden diverse Pläne erstellt. Abwicklungszielplan: Abwicklungsziele existieren in zwei Stufen: Richtwerte und Meilensteine. Für den Abwicklungszielplan werden die Meilensteine und seine Abwicklungsziele (Leistung, Qualität, Zeit und Kosten) aufgelistet. Projektstrukturplan: Als Basis für die Ablauf-, Ressourcen- und Terminplanung gilt der Projektstrukturplan, der die Gesamtaufgabe in plan- und kontrollierbare Arbeitspakete gliedert. Alle Arbeitspakete zusammen stellen den gesamten Leistungsumfang des Projektes dar. Die Aufteilung der Komponenten in einem Projektstrukturplan kann nach Arbeitspaketen (objektorientiert) oder nach Projektaufgaben (vorgehensorientiert) erfolgen. Ablaufplan: Der Ablaufplan zeigt die sachlogische Reihenfolge der Arbeitspakete, ohne die genauen Zeitpunkte anzugeben. Als Hilfestellung kann eine Arbeitspaket-Liste erstellt werden, auf welcher Vorgangsdauer, direkte Vorläufer und Nachläufer aufgeführt sind. Ein Ablaufplan kann beispielsweise als Plan-Net dargestellt werden. 21

3. Methoden des Projektmanagements Ressourcenplan: Verfügbare Personal- und Sachmittel werden ermittelt und den einzelnen Arbeitspaketen zugeordnet. Diese Ressourcen werden im Ablaufplan angefügt und danach in das Kapazitätsbelastungs-Diagramm übertragen, auf welchem die optimale Auslastung ersichtlich ist. Organisationsplan: Der Organisationsplan umfasst die Projektorganisation, die Rollen und die Anwendung des Informations-, Dokumentations- und Sachmittelsystems und stellt somit die Verbindung zur Projektinstitution her. Der Organisationsplan wird für das gesamte Projekt und danach phasenspezifisch erstellt. Projektkostenplan: Der Projektkostenplan beinhaltet die Berechnung und Zuordnung der voraussichtlichen Kosten für die einzelnen Arbeitspakete. Zu den Projektkosten werden auch Anschaffungen für dieses eine Projekt gezählt, jedoch keine Betriebskosten. Aus der Summe der Kosten für die Arbeitspakete werden die Gesamtkosten und somit das Budget berechnet. Wie im Ablaufplan werden auch im Projektkostenplan keine Termine festgehalten. Terminplan: Im Terminplan werden die wichtigen Termine und die Meilensteine sowie Beginn und Ende der Arbeitspakete festgehalten. Als Basis werden die vorgängig erstellen Struktur-, Ablaufund Ressourcenpläne herangezogen. Der Terminplan bildet den Abschluss dieses Planungsprozesses. Änderungen an den Planwerten wirken sich somit auf alle vier oben genannten Pläne aus. Projektbudgetplan: Der Projektbudgetplan wird meist über den Zeitrahmen eines Jahres erstellt und zeigt das verfügbare Budget pro Monat in Abhängigkeit an Zeit-, Kosten- und ArbeitspaketVorgaben an. Deckt sich das Projektbudget nicht mit den Vorgaben des Auftraggebers, so können frühzeitig Abweichungen festgestellt werden und somit Anforderungen reduziert oder Budgetänderungen beantragt werden. Informationsplan: Als Basis für den Informationsplan werden das Projektinformationssystem aus der Institution und das Organigramm aus dem Organisationsplan verwendet und die Informationsversorgung der Projektmitglieder geplant und koordiniert. Jede Information muss hinsichtlich Empfänger, Zeitpunkt und Kommunikationskanal koordiniert werden. Wichtig hierbei ist, dass Informationen frühzeitig an die richtigen Empfänger weitergeleitet werden. Projektsteuerung Die Projektsteuerung verbindet die Projektplanung mit der Projektdurchführung. Grundvoraussetzung für die Steuerung sind klar definierte Ziele und eine detaillierte Planung. Einen genauen Überblick über die Steuerung gibt Kapitel 2.2.4. Projektkontrolle Durch die Kontrolle von Lieferobjekten durch eine höhere Instanz wird die Verantwortung des Projektleiters weitergegeben. Durch eine regelmässige Prüfung und somit Abschluss bestimmter Lieferobjekte kann der Projektleiter sein Verantwortungsvolumen überwachen und Arbeitspakete abschliessen. Eine regelmässige Kontrolle hilft ebenso, frühzeitig Fehler zu entdecken und diese möglichst kostengünstig zu beheben. Die Dimensionen der Projektkontrolle definieren, wie und von wem zu welchem Zeitpunkt ein Lieferobjekt kontrolliert wird. Zur Planungskontrolle gehören hierbei die Kontrolle von Aufwand, Kosten und 22

3.2. Projektmanagement nach Jenny Terminen. Im Bereich der Realisierung werden Fortschritt, Qualität, Dokumentation und Information kontrolliert. Aufwand und Kosten: Eine Stundenerfassung auf die einzelnen Arbeitspakete ist ideal für die Kontrolle von Aufwand und Kosten und erleichtert den SOLL/IST-Vergleich und somit den Budgetverbrauch. Termine und Fortschritt: Schätzen die Projektmitglieder den Fertigstellungsgrad ihrer Lieferobjekte, so kann daraus der Stand der einzelnen Arbeitspakete und des gesamten Projekts errechnet werden. Qualität: Bei der Qualitätskontrolle wird die Qualität der eingesetzten Kontrollmechanismen beurteilt, welche als Grundlage für die Abnahme und Freigabe von Zwischenprodukten dient. Dokumentation: Die Prüfung der Dokumentation geschieht durch den Empfänger hinsichtlich Firmennormen, Versionierung und Inhalt und garantiert Aktualität und Vollständigkeit. Information: Der Informationsfluss sowie die Häufigkeit und der Inhalt von Berichten stehen im Fokus der Informationskontrolle. Für ein erfolgreiches Projekt ist es wichtig, dass alle Beteiligten zum richtigen Zeitpunkt über die richtigen Informationen verfügen. Der Kontrollzeitpunkt bestimmt die Durchführung und wird in einem Prüfplan festgelegt. Klare Kontrollzeitpunkte sind Phasenenden und Meilensteine. Jedoch sollten die Abstände zwischen zwei Kontrollen nicht grösser als drei Monate sein respektive das zu prüfende Volumen nicht mehr als 300 Arbeitstage umfassen. Projektabschluss Ein Projekt wird nicht durch die Einführung, sondern durch den Projektabschlussbericht und die Aufräumarbeiten beendet. Im Abschlussbericht werden die Abwicklungsziele Leistung, Qualität, Zeit, Kosten) sowie Nichterfolge und die Gründe dafür festgehalten. Zu den Aufräumarbeiten gehören die Sicherung des während des Projekts angeeigneten Wissens sowie die Auflösung des Projektteams. Die folgende Aufzählung listet die sechs Fragen, welche für einen erfolgreichen Projektabschluss abgearbeitet und in den Abschlussbericht aufgenommen werden (Jenny, 2005):

• Ist der Benutzer mit dem Produkt zufrieden? • Stimmen gesetzte Ziele und realisierte Lösungen überein? • Entsprechen die Ziele den tatsächlichen Benutzerbedürfnissen? • Wurden die geplanten Termine eingehalten? • Wurden die veranschlagten Kosten eingehalten? • Wurde der angestrebte Nutzen erreicht?

3.2.3. Projektmanagement-Systemelemente
3.2.3.1. Projektportfoliomanagement Der Projektportfolio-Controller überwacht alle Projekte und stellt den Stand im Projektportfolio-Controllingbericht (PPC) zusammen. Dabei werden die Projekte als grün, gelb (kritisch) oder rot (gefährdet) deklariert 23

3. Methoden des Projektmanagements und dann die benötigten Massnahmen entschieden. Bei grossen Portfolios kann der Projektstatusbericht elektronisch durch ein Projekt-Cockpit unterstützt werden, in welchem Risikoverfolgung, Klassifizierung, Statusampeln, Meilensteintrend, Personalmittelplan und Finanzmittelplan aufgeführt sind (vgl. Jenny (2005), S. 205). Je zahlreicher die Projekte und je länger die Projektdauer, desto wichtiger wird das Projektportfoliomanagement für ein Unternehmen. Durch Priorisierungen können somit bei gefährdeten Projekten frühzeitig Massnahmen ergriffen werden. 3.2.3.2. Risikomanagement Risikomanagement ist nicht alleine das Auflisten und Verfolgen von Risiken, sondern erweitert sich auf die Analyse und die Überprüfung in jeder Projektphase. Dabei können Projektrisiken in die drei Gruppen Umsetzungsrisiken (Einführung, Funktion, Materialzulieferer), Managementrisiken (Projektführung, Planung, Kommunikation, Koordination) und Soziale Risiken (Motivation, Mitarbeiter, Politisch) unterteilt werden. Alle Risiken werden in einem Zyklus identifiziert, analysiert, bewertet, gesteuert und überwacht. Dieser sogenannte Risikomanagement-Prozess ist iterativ und wird während des gesamten Projekts wiederholt. 3.2.3.3. Qualitätsmanagement Bei der Qualitätsplanung werden die Anforderungen an den Projektabwicklungsprozess definiert. Dabei wird die Qualität in den definierten Bereichen gemessen und muss hierbei nicht den höchst möglichen Qualitätsansprüchen genügen, sondern genau das geforderte Qualitätsmass erreichen. Qualitätskriterien sind Effizienz, Benutzbarkeit, Geschwindigkeit, Robustheit, Sicherheit, Funktionsabdeckung und Zuverlässigkeit. Diese Kriterien sind im Anforderungskatalog, im Business Case oder im Projektauftrag definiert und werden im Prüfplan festgehalten. Anhand des Prüfplans wissen alle Beteiligten, wann welcher Qualitätsaspekt wie geprüft wird. Mittels der Qualitätslenkung wird sichergestellt, dass die der Prüfplan eingehalten werden kann und die Qualitätsanforderungen rechtzeitig erreicht werden. Sie besteht grösstenteils aus konstruktiven Massnahmen (Methoden, Richtlinien, Checklisten, Standards), die dafür sorgen, dass das Produkt zum richtigen Zeitpunkt bestimmte Eigenschaften aufweist. Dabei kann zwischen technischen, organisatorischen und psychologischen Qualitätsmassnahmen unterschieden werden. Als dritter Bereich kommt die Qualitätsprüfung, welche zu dem im Prüfplan definierten Zeitpunkt das Produkt nach klar definierten Kriterien prüft. Bei der Prüfung werden Abweichungen vom Entwicklungsziel wie auch von Normen und Verfahren aufgezeigt. Eine weitere Möglichkeit der Qualitätsprüfung ist die Mängel- und Fehleranalyse, welche auf einem Mängelkatalog und einem Fehlerbericht basiert. 3.2.3.4. Teammanagement Der Zyklus in einem Projekt beginnt bei der Teambildung während der Projektinstitution (vgl. Kapitel 3.1.1 und 3.1.2), gefolgt von der Teamführung während des Projektes und der Teamauflösung nach Beendigung des Auftrags. Die Teambildung besteht aus den Prozessen Forming, Storming, Norming und Performing. Während des „Formings“ werden Aufgaben und Kompetenzen der einzelnen Teammitglieder definiert. In der 24

3.3. Projektmanagement nach Specker darauf folgenden „Storming“-Phase besteht die Aufgabe des Teamleiters darin, die Konflikte, welche persönlicher oder sachlicher Natur sein können, anhand des richtigen Führungsverhaltens zu lösen. Während des „Normings“ schafft sich das Team durch Kommunikation und Konfliktlösung eine gemeinsame Identität. Sind die Probleme gelöst und die sozialen Normen geschaffen, kann das Team während des „Performings“ durch eine freundliche und zuvorkommende Stimmung die Energie auf die anstehende Aufgabe ausrichten. Die Teamführung ist Aufgabe des Teamleiters und lässt sich in die zwei unabhängigen Dimensionen personenorientiert und aufgabenorientiert teilen. Im so entstehenden Verhaltensgitter lassen sich fünf Führungsstile abbilden, wobei jede Achse mit einem Wert von 1 bis 9 versehen ist und somit die fünf Führungsstile 1.1, 1.9, 9.1, 9.9 und 5.5 entstehen (für detailliertere Informationen siehe Jung (2006)). Meist ist der Führungsstil 5.5 anzustreben, welcher einen guten Kompromiss zwischen Mitarbeiter- und Aufgabenorientierung bietet. Ist das Projekt beendet, wird durch die Teamauflösung das Projektteam sukzessive abgebaut, damit die Teammitglieder in neue Projekte wechseln können. 3.2.3.5. Konfigurationsmanagement Der wichtigste Bereich im Konfigurationsmanagement ist das Änderungsmanagement, mit welchem Änderungen, Verbesserungen und Ergänzungen kontrolliert und rückverfolgt werden. Hierbei werden Änderungsmeldungen bewertet und das Vorgehen festgelegt, denn durch Änderungen entsteht meist Mehraufwand und zusätzliche Kosten. Eine ausführliche Dokumentation wird hier benötigt, um die getätigten Änderungen nachzuweisen.

3.3. Projektmanagement nach Specker
Specker (2004) unterscheidet den Projekt- und den Projektmanagementprozess. Der Projektmanagementprozess, bestehend aus Projektplanung, Projektmanagementausführung und Projektüberwachung (Controlling), übernimmt eine überlagerte Projektführungsfunktion, während dessen unter dem Projektprozess das geeignete Vorgehensmodell der Produktentwicklung (vgl. Kapitel 3.6) verstanden wird. Parallel zum Projektmanagementprozess listet Specker (2004) sieben Managementfunktionen, welche während allen Prozessen in unterschiedlicher Ausprägung wahrgenommen werden müssen (siehe Abbildung 3.2, S. 26). Projektmanagementprozess Projekte und Projektmanagement können als überlagertes System mit Teilbereichen aus dem Systemumfeld und dem Projektumfeld aufgefasst werden. Dieses Projektsystem beinhaltet Mitarbeiter, Aufgaben und Managementtools. Die Projektmanagementfunktionen begleiten alle Prozesse mit unterschiedlichen Schwerpunkten und sollten bei Projekten jeder Kategorie verhältnismässig vertreten sein.

3.3.1. Projektmanagementfunktionen
Im Rahmen der Projektorganisation und des Teams sind zusätzlich generelle Führungsaufgaben wahrzunehmen (Führung, Motivation, Konfliktlösung). Viele Konflikte können bereits bei der Initialisierung des Projekts gesteuert werden. 25

3. Methoden des Projektmanagements

Abbildung 3.2.: Projektmanagementprozesse mit Schwerpunkten nach Specker (2004)

Das Auftragsmanagement koordiniert die Übertragung und die Erledigung von Aufgaben sowie Verträge mit Kunden respektive Lieferanten und interne Projektvereinbarungen. Die internen Vereinbarungen beinhalten Verpflichtungen betreffend Umfang, Terminen und Ressourcen. Durch interne Contracts werden Mitarbeiter dazu bewegt, ihre Arbeitskapazität mit Fachvorgesetzten zu diskutieren und abzustimmen. Im Kommunikationsmanagement werden Dokumente, Projektinformation und -marketing geführt, um verbindlich gültige Dokumente abzulegen und alle Interessengruppen angemessen zu informieren. Klare und regelmässige Information leistet einen grossen Beitrag zum Projekterfolg. Das Inhaltsmanagement beinhaltet Zielsetzungs-, Projektstruktur-, Änderungs- und Anforderungsmanagement. Es stellt sicher, dass Zielsetzungen inhaltlich auch erreicht werden, definiert im Strukturplan Teilprojekte und Arbeitspakete, stellt die Anforderungen und die Überprüfung des Funktionsumfangs sicher und verfolgt Änderungswünsche von Kunden und Lieferanten. Durch das Terminmanagement werden Termine, Meilensteine und Lieferdaten für Arbeitspakete definiert. Es ist gleichzeitig stark mit dem Ressourcenmanagement und dem Inhaltsmanagement gekoppelt. Das Ressourcenmanagement beinhaltet die Planung der Ressourcen für das Gesamtprojekt wie auf für jedes einzelne Teilprojekt. In diesen Bereich fallen auch die Verwaltung der Kosten und die Projektinfrastruktur. Beim Risikomanagement werden projektspezifische Risiken erhoben. Der Risikokatalog listet Eintretenswahrscheinlichkeit, Kostenfolge sowie Massnahmen und Zuständigkeiten. 26

3.3. Projektmanagement nach Specker Das Qualitätsmanagement unterteilt sich in Produkte- und Prozessqualität. Während die Produktqualität auf die Qualität des zu erstellenden Lieferobjekts fokussiert, werden bei der Prozessqualität die Qualität der Projektabwicklung und des Projektmanagements überwacht. Berichte werden während allen Prozessen im Projektmanagement erstellt und bilden die Informationsgrundlage für das gesamte Projekt.

3.3.2. Projektmanagementtätigkeit
Die folgenden Tabellen 3.3 bis 3.6 geben eine Ergebnisübersicht der Projektmanagementtätigkeit während der vier Prozessphasen. PM-Funktion Projektorganisation Prozess: Projektplanung/-start Projektorganisation Verantwortlichkeiten Projektkontrollen Zuständigkeismatrix Projektverträge Interne Vereinbarungen Aufgabenliste Dokumentations- & Dokumentenablageplan Projektinformationsplan Projektmarketingplan Erfolgsfaktoren & Ziele Projektstrukturplan Ergebnisstrukturplan Änderungsverfahren Vorgehensphasenplan Termin- & Meilensteinplan Projektablaufstrukturplan Liefertermine (intern und extern) Kostenplan Zahlungsplan Personal- & Sachmittelplan Aktivitätenaufwandsplan Projektinfrastrutkurplan Risikomanagementplan Initialer Risikokatalog Initiale Massnahmen Qualitätssicherungsplan QS-Modell Prüfplan Methoden & Standards Projektplan (ink. Projektbeschreibung) Projektübersicht

Auftragsmanagement

Kommunikationsmanagement

Inhaltsmanagement

Terminmanagement

Ressourcenmanagement

Risikomanagement

Qualitätsmanagement

Berichte

Tabelle 3.3.: Ergebnisübersicht Projektplanung nach Specker (2004)

27

3. Methoden des Projektmanagements

PM-Funktion Projektorganisation

Auftragsmanagement

Kommunikationsmanagement

Inhaltsmanagement

Terminmanagement

Ressourcenmanagement

Risikomanagement Qualitätsmanagement

Berichte

Prozess: Projektausführung Organisationsänderungen Projektrollen zuweisen Verantwortlichkeiten & Zuständigkeiten anpassen Arbeitsaufträge erteilen Aufgabenliste führen Verträge anpassen und laufende Überprüfung Dokumente verwalten Informationen verteilen Projektmarketingaktionen Releases verwalten Änderungen melden Änderungsstatusliste führen Fehler melden Fehlerstatusliste führen Termine koordinieren Meilensteine überwachen Liefertermine überwachen Terminplan nachführen Personal führen Aufwand überwachen Zahlungen vornehmen Kostenabrechnung Risikokatalog revidieren Massnahmen umsetzen Qualität sicherstellen Prüfprozeduren definieren Prüfspezifikationen ausführen Aktueller Projektplan Sitzungsprotokolle Projektberichte/-reporting Projektentscheide

Tabelle 3.4.: Ergebnisübersicht Projektausführung nach Specker (2004)

28

3.3. Projektmanagement nach Specker

PM-Funktion Projektorganisation

Auftragsmanagement

Kommunikationsmanagement Inhaltsmanagement Terminmanagement

Ressourcenmanagement Risikomanagement

Qualitätsmanagement

Berichte

Prozess: Projektcontrolling Status Projektorganisation: Projektausschuss, Stellvertretung Projektleiter vorhanden. . . Status etwaiger „Claims“ Status Vertragsänderungen Grad der Umsetzung interner Vereinbarungen Status der Dokumentation, Vollzug der Kommunikation Status der Kommunikation von Projektzielen / -visionen Status Inhaltsfortschritt Status von Änderungen Status Terminabweichung Status der Meilensteine Analyse Liefertermin Status der Kostensituation (Stand IST-Kosten) Anzahl & Status der Risiken Beurteilung der Massnahmen Empfehlung der Massnahmen Beurteilung Qualitätsstatus Stand der Umsetzung von Qualitätsstandards in allen Projektfunktionsbereichen Projektcontrollingbericht Projektstatusbericht

Tabelle 3.5.: Ergebnisübersicht Projektcontrolling nach Specker (2004)

PM-Funktion Projektorganisation Auftragsmanagement

Kommunikationsmanagement Inhaltsmanagement Terminmanagement Ressourcenmanagement Risikomanagement Qualitätsmanagement Berichte

Prozess: Phasen-, Projektende Anpassung / Auflösung der Projektorganisation Überführung in laufende Organisation Vertragsbeedigung Inkraftsetzen laufende Verträge Planung Nachbesserungen Dokumentenarchivierung Kommunikation der Projektzielerreichung Feststellen Zielerreichung Analyse der Abweichungen Begründung von etwaigen Abweichungen Abschlussrechnung Begründung von Kostenüberschreitungen Beurteilung der Risiken für laufenden Betrieb Massnahmen Qualitätsschlussreview Lehren für andere Projekte Projektphasenbericht Projektabschlussbericht

Tabelle 3.6.: Ergebnisübersicht Phasen-/Projektende nach Specker (2004)

29

3. Methoden des Projektmanagements

3.4. Agiles Projektmanagement: SCRUM
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. (Agiles Manifest, 2001) Scrum gilt als agiles und modernes Projektmanagement und unterscheidet sich von den traditionellen Methoden vorwiegend durch die Verteilung der Zuständigkeiten, Kompetenzen und Verantwortung sowie die Selbstorganisation und Autonomie des Teams. Auch Specker (2004), S. 409 hält fest, dass keine einzelne Person in der Lage ist, alle Aspekte eines Projekts alleine zu berücksichtigen und die Gesamtzusammenhänge eines komplexen Unternehmens zu verstehen. Scrum ist im Grunde keine Projektmanagement-Methode, sondern enthält Methoden und ein Prozessmodell, um Projekte zu steuern. Scrum ist eine Einstellung dazu, wie man mit Menschen und Mitarbeitern, Kunden und Managern umgeht. Scrum ist eine innere Haltung, die sich durch Disziplin und Verantwortungsbewusstsein auszeichnen (Gloger, 2008) und den Prinzipien des agilen Manifests folgt (siehe Anhang C.4). Der Scrum-Prozess besteht aus sechs Rollen, sechs Meetings und neun Artefakten.

Abbildung 3.3.: Scrum-Prozess nach Gloger (2008)

3.4.1. Projektmanagement in Scrum
Scrum kennt die traditionelle Rolle des Projektleiters nicht, sondern teilt die Projektmanagementaufgaben auf die Scrum-Rollen auf (siehe Tabelle 3.7 auf Seite 31). Ein traditionell gemanagtes Projekt wird langfristig auf der Ebene der Taktik gemanagt, ein agil gemanagtes Projekt auf der Ebene der Strategie. Diese Grundunterscheidung führt dann zu vollkommen anderen Vorgehensweisen in der Planung 30

3.4. Agiles Projektmanagement: SCRUM Aufgabenbereich Scope-Management Zeit-Mangement Kosten-Management Risiko-Management Qualitäts-Management LieferantenManagement Personal-Management Product Owner Produktversion Releaseplan alle Aufgaben bewertet Produktleistungsmerkmale mit Team Team Sprints Sprint Backlog gibt Input qualitätssichernde Massnahmen mit Product Owner Produktivität und kontinuerliche Prozessverbesserung Scrum Master

richtige Anwendung des Prozesses

Bereitstellung der Mitarbeiter in Zusammenarbeit mit dem Management

Tabelle 3.7.: Verteilung von Projektmanagementaufgaben in Scrum nach Pichler (2007)

eines Projektes - nämlich zu einer strategischen Planung und damit überhaupt erst zu einer Strategie mit klaren Zielen (Gloger, 2008).

3.4.2. SCRUM-Rollen
Die Rollen in Scrum entsprechen den Verantwortlichkeiten und sind keine Positionen innerhalb des Unternehmens. Scrum kennt sechs Rollen, von welchen drei innerhalb des Systems angesiedelt sind (siehe Abbildung 3.4, S. 31). Für vertiefte Informationen wird auf Gloger (2008), Pichler (2007) und Mengelt (2008) verwiesen.

Abbildung 3.4.: Organisation und Scrum nach Gloger (2008)

3.4.2.1. Product Owner - der Visionär Die Rolle des Product Owners (PO) repräsentiert die Endkundenbedürfnisse, vereint Produkt- und Projektmanagementaufgaben in sich und ist zugleich fest in die Softwareentwicklung integriert. Der PO erfasst Kundenbedürfnisse, beschreibt Anforderungen, managt und priorisiert das Product Backlog, 31

3. Methoden des Projektmanagements managt den Releaseplan und ist für den Erfolg des Projektes verantwortlich. Er schlägt somit die Brücke zwischen dem Endkunden und der Softwareentwicklung. 3.4.2.2. SCRUM Team - die Lieferanten Scrum-Teams bestehen aus Mitarbeitern, welche über das relevante Wissen und die notwendigen Fähigkeiten verfügen und produktiv zusammenarbeiten können. Sie weisen nach Pichler (2007) folgende Eigenschaften auf: Bevollmächtigt: Die Aufgaben werden nicht vom Management zugeteilt, sondern die Verantwortung liegt allein beim Team. Die Bevollmächtigung vereint Ursache und Wirkung: Das Team wählt die umzusetzenden Anforderungen zu Beginn jeden Sprints aus und steht zugleich in der Pflicht, die Auswahl zuverlässig in ein Produktinkrement umzusetzen (Pichler, 2007). Autonom: Das Team muss seine Ziele ohne wesentliche externe Abhängigkeiten erreichen können. Dies betrifft Lieferanten wie auch Arbeiten, welche von Mitarbeitern ausserhalb des Teams erledigt werden sollten und ist ein Indiz dafür, dass das Team zu wenig interdisziplinär besetzt ist. Interdisziplinär: Die Interdisziplinarität garantiert, dass alle zu besetzenden Rollen im Team vertreten sind, die Mitglieder über ein gemeinsames Softwareentwicklungswissen verfügen und somit verschiedene Aufgaben im Team wahrnehmen können. Selbstorganisiert: Ein selbstorganisiertes Team benötigt keinen Teamleiter, sondern entscheidet selbst, wer welche Aufgaben übernimmt, um ein Sprint-Ziel zu erreichen. Die Grundlagen dazu bilden das Sprint Backlog, der Burndown-Bericht und die Daily Scrum Besprechungen. Klein: Die optimale Führungsspanne liegt bei sieben Mitgliedern1 , wodurch ein Scrum Team optimalerweise fünf bis neun Mitglieder umfasst. Vollzeitteammitglieder: Um Engpässe und höhere Prozesskosten zu vermeiden, sollten Mitarbeiter nur einem Team angehören. Werden dennoch Teilzeitmitarbeiter eingesetzt, so sollten diese mindestens an den Sprint-Planungssitzungen und -Reviews anwesend sein, damit der Informationsfluss weiterhin gewährleistet ist. 3.4.2.3. SCRUM Master - der Change Agent Der Scrum-Master ist Coach und Change Agent und vollständig im Team integriert. Durch seine Arbeit fördert er neue Denk- und Verhaltensweisen und hilft, Scrum innerhalb des Unternehmens zu etablieren. Er berät den Product Owner bei Erstellung des Backlogs, schützt das Team vor externen Einflüssen und stellt die direkte Zusammenarbeit zwischen Product Owner und Team sicher. Zudem ist es Aufgabe des Scrum-Masters, Hindernisse im Projekt wie auch in der Infrastruktur zu beseitigen. Er verfügt über Einfluss, aber über keine Autorität. Um erfolgreich zu sein und die eigene Rolle richtig ausführen zu können, sollte der Scrum-Master über Kenntnisse in den Bereichen Moderation, Teambildungsprozess, kollaborative Entscheidungsfindung und Konfliktmanagement verfügen (Pichler, 2007).
1

http://www.brandeins.de, Ausgabe 07/2007 „Der goldene Schnitt“

32

3.4. Agiles Projektmanagement: SCRUM 3.4.2.4. Weitere Rollen im Scrum-Prozess Zusätzlich zu den drei Rollen innerhalb des Systems existieren drei weitere Rollen ausserhalb der Systemgrenze. Der Kunde - der Finanzierer Der Kunde kauft das Produkt oder hat es in Auftrag gegeben und kann innerhalb wie auch ausserhalb des Unternehmens angesiedelt sein. Seine Informationen gelangen über den Product Owner in das System. Der Anwender - der Nutzer Der User des Produktes ist eine wesentliche Informationsquelle für das Scrum-Team. Als zukünftiger Anwender der „Usable Software“ wird er in die Produkt-Entwicklung vom Scrum-Team einbezogen: zu Beginn gemeinsam mit dem Product Owner für die Definition der Anforderungen, später als Anwender mit dem Team für die Nutzung der Anwendung. Der Manager - die Bereitsteller Das Management stellt die Ressourcen und die Richtlinien innerhalb einer Organisation bereit. Es schafft den Rahmen, in dem sich das Team, der Product Owner und der Scrum-Master bewegen und löst oft die vom Scrum-Master identifizierten Probleme.

3.4.3. Artefakte
Artefakte sind in Scrum Dokumente und visuelle Hilfsmittel, welche die Methodik des Projektmanagements unterstützen. Dieser Abschnitt gibt keine vollständige Auflistung aller Artefakte in Scrum. Für zusätzliche Informationen wird auf Pichler (2007), Gloger (2008) und Mengelt (2008) verwiesen. 3.4.3.1. Product Backlog Auf dem Product Backlog werden alle Product Backlog Items priorisiert und in der entsprechenden Reihenfolge aufgeführt. Es enthält alle funktionalen und nicht funktionalen Merkmale sowie Anforderungen an die Benutzerschnittstelle. Für jedes Scrum-Projekt gibt es ein Product Backlog. Aktivitäten fehlen im Product Backlog, diese werden vom Team identifiziert und als Story im Sprint Backlog festgehalten. Gloger (2008) und Pichler (2007) nennen zudem folgende Eigenschaften für das Product Backlog: keine Spezifikation: Das Beschreibungslevel des Product Backlogs ist zu grob, um es als Spezifikation für ein Produkt einsetzen zu können. Es enthält keine programmierspezifischen Ausdrücke sondern ist in einer gut verständlichen Sprache für den Kunden geschrieben. nie vollständig: Das Product Backlog wächst und verändert sich ständig, wobei bestehende Merkmale verändert oder gelöscht und neue hinzukommen. Da die einzelnen Backlog Items erst bei der Übertragung ins Sprint Backlog detaillierter beschrieben und verfeinert werden, gibt es in Scrum kein traditionelles Change-Request Verfahren. Um Änderungen dennoch nachvollziehen zu können, ist eine Versionierung des Product Backlogs sinnvoll. Change-Requests erscheinen als neue Stories im Product Backlog. kollaboratives Werk: Meist arbeitet der Product Owner bei der Erstellung des Product Backlogs mit dem Team und weiteren externen Personen zusammen. Seine alleinige Aufgabe besteht darin, 33

3. Methoden des Projektmanagements die Backlog Items in eine Reihenfolge zu bringen, die aus Anwendersicht Sinn macht (Priorisierung). unterschiedlicher Detaillierungsgrad: Höher priorisierte Einträge werden detaillierter beschrieben als niederpriore. Dies ist die Aufgabe des Product Owner, der vor einer Sprint-Planung diese Einträge verfeinert und während der Sitzung die endgültigen Einträge mit dem Team definiert. geschätzt: Jedes Product Backlog Item enthält eine grobe Schätzung über den Aufwand des Merkmals. Die Schätzung wird vom Team vorgenommen. Product Backlogs werden häufig in tabellarischer Form oder als Karteikarte pro Product Backlog Item (Story Cards) festgehalten. Story Cards sind optimal für Backlogs auf Teamebene und erfüllen die Forderungen der 3C2 : Cards: User Stories (Backlog Items) werden auf Karteikarten geschrieben (Cards). Diese Karte wird mit gerade soviel Text beschrieben, um jeden daran erinnern zu können, was die Story bedeutet. Priorität und Schätzung werden auf die Karte geschrieben. Es werden auch mögliche Überlegungen zur Umsetzung oder Abhängigkeiten auf der Karte notiert. Conversation: Der Product Owner erklärt das Backlog Item dem Team. Wenn bereits Dokumente vorliegen, werden diese besprochen. Das Backlog Item wird sicherlich erläutert, wenn es geschätzt werden soll, es wird aber auch noch einmal im Sprint Planning Meeting erläutert. Wenn nötig auch noch einmal im Anschluss während des Sprints. Confirmation: Meist auf der Rückseite der Karte wird die Bestätigung geschrieben, die anzeigt, was erfüllt sein muss, damit die Story erfüllt ist. Diese Bestätigung wird in Form von User Acceptance Tests geschrieben. 3.4.3.2. Sprint Backlog Während der Sprint-Planungssitzung wird ein realistisches Sprint Backlog festgelegt. Der Product Owner stellt hierbei eine Vorauswahl seiner Product Backlog Items vor, das Team identifiziert die Aufgaben und wählt anhand der Story Points (Mass für den Aufwand eines Backlog Items) die zu realisierenden Einträge innerhalb des nächsten Sprints („Selected Product Backlog“). In einer zweiten Planungssitzung des Teams werden die Backlog Items detailliert besprochen, wodurch das Sprint Backlog entsteht. Dieses kann elektronisch oder in Form von Karten an einer Stellwand organisiert werden. Das Sprint Backlog wird täglich überarbeitet und aktualisiert. Es hilft bei der Orientierung, wer was gerade macht und was noch getan werden muss, um den Sprint erfolgreich abzuschliessen. 3.4.3.3. Burndown Chart Burndown-Charts dienen im Scrum dem Reporting und zeigen den aktuellen Fortschritt eines Sprints an, indem die erledigten Arbeiten beim visualisierten Graph abgezogen werden. Der ideale Burndown entspricht einer linearen Linie bis zum Enddatum des Sprints. Durch das täglich aktualisieren des Burndown-Charts kann eine aktuelle Trendlinie aufgezeigt werden.
2

nach Gloger (2008) und www.xprogramming.com/xpmag/expCardConversationConfirmation.htm

34

3.4. Agiles Projektmanagement: SCRUM 3.4.3.4. Impediment List Das Impediment Backlog besteht aus einer Liste aller Blockaden, die einem Team aus dem Weg geräumt werden müssen, damit es produktiver werden kann (Gloger, 2008). Handelt es sich hierbei um externe Einflüsse, so ist es Aufgabe des Scrum-Masters, sich um diese Hindernisse zu kümmern und wenn möglich innerhalb von 24 Stunden aus dem Weg zu räumen. Die Hindernisse werden täglich im Daily Scrum identifiziert und aufgelistet. Werden programmiertechnische Hindernisse bei der Retrospektive festgestellt, so wird festgelegt, welche im nächsten Sprint beseitigt werden sollen.

3.4.4. Sprint
Der Sprint ist in „Scrum“ ein Zyklus von zwei bis vier Wochen, innerhalb welchem ein lauffähiges Stück Software oder eine neue Funktionalität erstellt wird. Er startet mit dem „Sprint Planning Meeting“ und endet mit der „Retrospektive“. Die Aufgaben innerhalb eines Sprints werden vom Product Owner in Zusammenarbeit mit dem Team festgelegt, wobei das Team den endgültigen Entscheid über die umgesetzten Backlog Items hat. 3.4.4.1. Planungssitzung 1 Im ersten Meeting des Sprints sind alle Beteiligten anwesend, auch Management und Anwender. Ziel ist es, die Anzahl der Backlog Items zu bestimmen in das „Selected Product Backlog“ zu übernehmen, welche innerhalb des Sprints vom Team umgesetzt werden können. 3.4.4.2. Planungssitzung 2 Das Team verfeinert während des zweiten Meetings die Backlog Items und definiert die anstehenden Arbeiten (Architektur, Interfaces, Tests, UI Design, Tasks, usw.). Daraus resultiert das Sprint Backlog. 3.4.4.3. Daily Scrum Jeden Tag treffen sich die Teammitglieder zur gleichen Zeit am selben Ort 15 Minuten lang zu einem vom Scrum-Master moderierten Meeting. An einem Daily Scrum können alle Projektbeteiligte teilnehmen, z.B. Stakeholders, Analysten, Product Owner oder ein Vertreter aus dem Management - allderings bleibt nur den „committed“ Mitgliedern das Recht vorbehalten zu sprechen. Das macht den Daily Scrum zu einer idealen Basis, um Informationen und Status auszutauschen. In diesem Meeting besprechen die Teammitglieder folgende Punkte: - Was habe ich seit dem letzten Daily Scrum erreicht? - Was will ich bis zum nächsten Daily Scrum erreichen? - Welche Impediments (Hindernisse) sind mir dabei im Weg? Treten Hindernisse auf, so ist der Scrum-Master dafür verantwortlich, diese innerhalb von 24 Stunden aus dem Weg zu räumen. Kann er dies nicht selbst (z.B. technische Probleme), muss er sicherstellen, dass er jemanden findet, der das Problem lösen kann - meist innerhalb des Teams (König, 2008). 35

3. Methoden des Projektmanagements 3.4.4.4. Sprint Review Am Ende des Sprints präsentiert das Team die erarbeiteten Funktionalitäten. Das Team zeigt dabei nur die Funktionalitäten, die in einem Zustand sind, die es erlauben würden, diese Funktionalitäten sofort produktiv einzusetzen. Nicht getestete oder instabile Funktionalitäten werden nicht gezeigt und gelten als nicht geliefert (Gloger, 2008). 3.4.4.5. Sprint Retrospektive Die Sprint Retrospektive ermöglicht das systematische Lernen des Teams. Hier wird analysiert, welche Arbeitsprozesse verbessert werden müssen, damit das Team effektiver arbeiten kann. Dazu gehören auch zwischenmenschliche Unregelmässigkeiten und strukturelle Probleme. Die Resultate aus der Retrospektive werden im Impediment Backlog festgehalten und können so als Verbesserungsvorschläge im Sprint Planning eingebracht werden (Gloger, 2008).

3.4.5. Fazit
Scrum fokussiert auf die Selbstorganisation des Teams, schnelle Entwicklungszyklen und somit optimale Anpassungsfähigkeit an veränderte Umstände, mehr Kommunikation und mehr Mitverantwortung, um die Effizienz bei der Programmierung zu steigern. Es definiert klare Rollen, Verantwortung und Kompetenzen und regelt die Zusammenarbeit aller Beteiligten. Nach einem Sprint wird ein auslieferbares Produktinkrement geliefert, welches zu Beginn des Sprints im Sprint Backlog von Product Owner und Team definiert wurde. Scrum wird oftmals im Zusammenhang mit agiler Softwareentwicklung eingesetzt, zum Beispiel mit Extreme Programming (vgl. 3.6.4), ist grundsätzlich jedoch nicht an einen bestimmten Produktentwicklungsprozess gebunden. Ziele von „Scrum“ sind ein klarer Fokus auf Nutzenpotenziale, schnelle Reaktion auf Veränderung, phasenorientierte Lieferung der Funktionalität und ein iterativer Entwicklungsansatz (Schopp, 2008). König (2008) führt aus, dass „Scrum“ alle drei Dimensionen von Erfolg (persönlich, technisch, unternehmerisch) fördert: „Ohne persönlichen Erfolg ist man schwer motivierbar. Ohne technischen Erfolg gleicht die Codebasis häufig einem Teller Spagetti und ohne unternehmerischen Erfolg wird sich das Team vom Unternehmen abwenden und eine neue Herausforderung suchen.“

3.5. MIO Ansatz
Der Ansatz mensch - informatik - organisation fokussiert auf drei parallel laufende Prozesse, welche im Verlaufe eines Projektes abgewickelt werden. Der erste Prozess, das traditionelle Projektmanagement, managt die ökonomischen Prozessziele Leistung, Zeit und Kosten. Während die systemische Projektführung die sozialen Erfolgsfaktoren fördert, unterstützt der Produktentwicklungsprozess die im Projektauftrag definierten Lieferobjekte. Die Schwierigkeit liegt hierbei auf den unterschiedlichen Lebenszyklen wie auch auf unterschiedlichen Theorien der drei Prozesse (Kuhnt, 2007). Die Vereinigung dieser drei Prozesse in einem ganzheitlichen Projektabwicklungsmodell erlaubt es, unterschiedliche Erfolgsfaktoren zur überwachen. Eine Umfrage der verbandsübergreifenden Fachgruppe IT-Projektmanagement (GI/GPM) ergab u.a. folgende Gründe für das Gelingen von IT-Projekten (Feldmüller u. a., 2004) und (Kuhnt, 2007):

• Vorliegen von Geschäftsmodell und Zustimmung der Führungskräfte
36

3.5. MIO Ansatz

Abbildung 3.5.: Drei parallele Prozesse nach Kuhnt (2007)

• Verfügbarkeit geeigneter Mitarbeiter in ausreichender Anzahl • Nutzung von Techniken und Instrumenten des Projektmanagements • Unterstützung des Projektmanagements durch effektives Controlling • Aktives Management der Veränderungen von Projektzielen und -anforderungen • Aktives Betreiben von Stakeholder Management • Schulung von Projektleiter und -mitarbeiter • Anerkennung der Projektleistung durch Bonus, Gehaltserhöhung oder Beförderung
Sieht man sich diese Gründe genauer an, so stellt man fest, dass einige der Punkte nicht direkt mit dem Projekt zusammenhangen, sondern sich auf das Umfeld und die Organisation ausserhalb des Projektsystems beziehen.

3.5.1. Managementprozess
Der Inhalt des Projektmanagements besteht aus Abwicklung, Planung und Überwachung des Projekts, wobei der Prozess des Projektmanagement eine übergelagerte Funktion der Projektführung übernimmt (Kuhnt, 2007). Es begleitet das Projekt von Beginn bis Ende und ist unabhängig vom gewählten Vorgehensmodell. Der Projektauftrag, welcher vor dem eigentlich Start des Projekts statt findet, gehört ebenfalls bereits zum Management-Prozess. Die funktionalen Managementprozesse dienen der Optimierung der Koordination der Aktivitäten der am Projekt beteiligten Akteure. Als Grundlage dienen traditionelle Management-Methoden (vgl. 3.2, 3.3 und Tabellen 3.3, 3.4, 3.5), welche zwischen Initialisierung und Abschluss die zyklischen Phasen Planung, Ausführung und Controlling beinhalten. 37

3. Methoden des Projektmanagements Unter Planung wird die vorausschauende Festlegung von Vorgaben zur Projektdurchführung verstanden. In dieser Phase wird die Grundlage für die effiziente Koordination der beteiligten Akteure geschaffen. Zu den Planungsaufgaben gehören u.a. die Definition klarer Vorgaben zur effizienten Durchführung des Projekts, die Festlegung der logischen und zeitlichen Organisation einzelner Aktivitäten, die Ermittlung von Vorgaben für Projektzeitaufwand und Projektkosten, die Vorbereitung der Projektmanagementausführungsund Projektkontrollmassnahmen sowie die Bereitstellung von Informationen zur Abstimmung mit anderen unternehmerischen Aktivitäten (Kuhnt, 2007). Zum Ausführungsprozess gehören alle Aktivitäten des Projektleiters, um die ökonomischen Prozessziele Zeit, Kosten, Qualität und Leistung zu erreichen (vgl. auch 2.2.4.1) und das Projekt erfolgreich abzuschliessen. Das Controlling soll Abweichungen zwischen IST- und SOLL Zustand überwachen (vgl. auch 3.2.2.1). Dabei setzt ein zielorientiertes Kontrollvorgehen einen vordefinierten Kontrollprozess voraus, der bereits in der Initialisierungsphase aufgesetzt wird. Der Kontrollbereich beschränkt sich jedoch nicht nur auf das Projektmanagement, sondern auf alle drei Prozesse, also auch auf Führung und Produktentwicklung.

3.5.2. Führungsprozess

Abbildung 3.6.: Lebensphasen eines Projektteams nach Brugger u. Soltermann (2004) Der Führungsprozess besteht aus den Phasen Etablierung, Konstituierung, Durchführung und Abschluss, welches den zentralen Lebensphasen eines Projektteams entspricht. In der Praxis werden der ersten und letzten Phase meist zuwenig Beachtung geschenkt. Während sich Jenny (2005) mit der Projektführung unter dem Begriff des Teammanagements (vgl. 3.2.3.4) befasst, behandelt Specker (2004) die personelle Führung nur ansatzweise im Bereich der Projektorganisation. Beide Theorien vernachlässigen jedoch die Projektetablierung, welche passiert, bevor sich die vorgesehenen Personen das erste Mal treffen, sowie den Abschluss resp. die Auflösung des Teams nach Beendigung des Projekts. Die Etablierung klärt, inwieweit die Arbeitsform im Team für die Aufgabe nützlich ist und wie das Team zusammengesetzt werden soll (Brugger u. Soltermann, 2004). Nachdem die Rahmenbedingungen und die Erwartungen an das Projekt mit allen Stakeholdern aus verschiedenen Perspektiven eruiert wurde, erarbeitet die Projektleitung ihre Vorstellung über die Teamzusammensetzung, Rollen- und Aufgabenverteilung und Hierarchie. Diese Phase wird bei Jenny (2005) in der Phase der Teambildung („Forming“) umgesetzt. Der MIO-Ansatz geht bei der Etablierung nach den drei Phasen „Unfreezing“, „Moving“ und „Freezing“. Beim „Unfreezing“ werden für die potentiellen Anspruchsgruppen ein gemeinsamer Rahmen geschaffen. Dabei werden alle Stakeholder informiert und deren Interessen, Einstellungen und Probleme erfasst. Beim „Moving“ wird im gemeinsamen Gestaltungsprozess das Veränderungspotenzial erfasst und 38

3.6. Produktentwicklungsprozess die gewünschten Änderungen im Projektauftrag aufgenommen. Beim „Freezing“ wird der Projektauftrag fixiert. In die Phase der Etablierung gehört auch die Klärung der sozialen Erfolgsfaktoren (vgl. 2.2.5). Die Konstituierung entspricht im weiteren Sinne den drei Formen des Teambildungsprozesses „Storming“, „Norming“ und „Performing“, wie sie auch in der Theorie von Jenny (2005) beschrieben werden. Der ideale Rahmen für die Konstituierung schafft ein Kick-Off-Meeting resp. -Workshop zu Beginn des Projekts, welches die Voraussetzung für eine synergetische Zusammenarbeit schafft (Kuhnt, 2007). In dieser Phase wird auch der Grundstein für die Kommunikation der Teammitglieder geschaffen (vgl. auch 2.1.2). Aus systemischer Sicht ist die Aufgabe der Führung die Vermittlung zwischen den Ansprüchen an das Projektteam von aussen und der Arbeit des Projektteams (Brugger u. Soltermann, 2004). Dazu gehören zum Führungsprozess auch die Beobachtung der Gruppendynamik und die Kommunikationsunterstützung. Soziale und kommunikative Kompetenzen haben in der Mitarbeiterführung eine hohen Stellenwert und beeinflussen die sozialen Erfolgsfaktoren Wissen, Information und Zusammenarbeit. Beim Abschluss werden Ergebnisse gefeiert und über die getane Arbeite reflektiert. Vor allem in agilen Projektmanagementmethoden wie Scrum wird dieser Phase eine grosse Wichtigkeit zugestanden (vgl. 3.4.4.4, 3.4.4.5). Der Fokus liegt auf den Fehlern, die während einer Phase oder eines Projekts entstanden, und die Lehre daraus, um eine Verbesserung und Optimierung bei den nächsten Phasen und Projekten zu erlangen. Die Auflösung in Informatik-Projekten ist nicht immer einfach, muss man doch den Abschluss des Projekts bestimmen und somit den Übergang von Entwicklung zu Wartung definieren. Oftmals arbeiten Teammitglieder am System weiter, obwohl das Projekt bereits als abgeschlossen gilt.

3.6. Produktentwicklungsprozess
Ein Vorgehensmodell gliedert den Prozess der Projektabwicklung in verschiedene, strukturierte Phasen, denen wiederum entsprechende Methoden und Techniken der Organisation zugeordnet sind. Aufgabe eines Vorgehensmodells ist, die allgemein in einem Gestaltungsprozess auftretenden Aufgabenstellungen und Aktivitäten in ihrer logischen Ordnung darzustellen (Kuhnt, 2007). Die Vorgehensmodelle entwickelten sich in den letzten 40 Jahren der Softwareentwicklung aufgrund veränderter Umstände. Während die Anforderung an die Programmsysteme und die Grösse der entwickelten Software und somit die Anzahl der involvierten Programmierer stetig zunahm, verschlechterte sich die Zuverlässigkeit der Software. Für ein erfolgreiches Projekt werden Kompetenzen in unterschiedlichen Bereichen benötigt. Vorwiegend die schnelle Änderung der Anforderung an geplante Software setzt eine hohe Kompetenz im Veränderungsmanagement und im IT-Anwendungsfeld für den Projektleiter voraus. Nach Feldmüller u. a. (2004) geben fast 80% der Projektleiter an, dass IT-Kompetenz nebst Projektmanagement-Kompetenzen für ein erfolgreiches Projekt unerlässlich ist. Erstaunlicherweise halten fast 90% der Befragten Kompetenzen im Veränderungsmanagement für wichtig, 50% davon sogar für besonders wichtig. Daher erstaunt es nicht, dass der Produktentwicklungsprozess und das Veränderungsmanagement innerhalb eines Projektes stark miteinander verknüpft sind und sich die Vorgehensmodelle laufend verändern. 39

3. Methoden des Projektmanagements

Abbildung 3.7.: Wasserfallmodell nach Specker (2004)

3.6.1. Wasserfallmodell
In den 70er Jahren wurde das Vorgehen bei der Entwicklung eines Softwareproduktes vom altbekannten Ingenieurwesen übernommen. Inhaltlich und zeitlich werden Phasen abgegrenzt, welche streng sequentiell und vollständig umgesetzt werden. Diese wissenschaftliche Herstellung von Basisanwendungen hat lange Entwicklungszeiten zur Folge, da alle Teilprozesse sequentiell durchlaufen werden und erst ganz zum Schluss eine betriebsfähige Software entsteht, dafür mit vollem Funktionsumfang. Ebenso gibt es nach der Spezifikation kein Veränderungsmanagement mehr. Das Projektmanagement begleitet den Entwicklungsprozess parallel. Durch die langen Prozesse der Problemanalyse und Spezifikation sollen Fehler bereits sehr früh erkannt werden, können jedoch in späteren Phasen nur schwer wieder behoben werden. Da das Wasserfallmodell keine Lieferung von Teilobjekten vorsieht, kann erst bei der Einführung festgestellt werden, ob die Software auch wirklich den Bedürfnissen der Endanwender entspricht. Diese und weitere Gründe verlangten schon bald ein Überdenken des Vorgehensmodells.

3.6.2. Spiralmodell
Als Optimierung des Wasserfallmodells folgte in den 80er Jahren das Spiralmodell, welche durch das zyklisch-iterative Verfahren bereits von Anfang an alle Stakeholder beteiligt und die Zusammenarbeit zwischen Anwendung und Entwicklung fördert. Im Gegensatz zum Wasserfallmodell, wo pro Phase nur eine Tätigkeit ausgeübt wird, enthält eine Phase im Spiralmodell alle Tätigkeiten. Somit unterscheiden sich die zwei Vorgehensmodelle nicht in der Art und dem Inhalt der Tätigkeiten, sondern lediglich in der Zuordnung der Tätigkeiten zu den Phasen. Zudem liefern die kürzeren Zykluszeiten beim Spiralmodell schnellere Ergebnisse, welche im Anwendungsfeld erprobt werden können. Da kein Gesamtkonzept besteht, können Änderungen während der Entwicklung eingebracht und umgesetzt werden. Scheitert ein Projekt, so ist zumindest ein Teilnutzen verfügbar. Für das Management ergibt sich durch die Zyklen 40

3.6. Produktentwicklungsprozess

Abbildung 3.8.: Spiralmodell nach Specker (2004)

jedoch die Gefahr, dass Probleme und Hindernisse in spätere Zyklen verschoben werden und durch die fehlende Gesamtspezifikation das Ziel verfehlt wird.

3.6.3. Prototyping
In den 90er Jahren begann das Zeitalter der evolutionären Softwareentwicklung. Man ging vom soziotechnischen Ansatz zum Design von Werkzeugen für die Praxis über und forcierte das traditionelle Projektmanagement. Primäres Ziel ist die Bestimmung und Validierung von Anforderungen an ein Anwendungssystem (Ferstl u. Sinz, 2006). Mithilfe der Spezifikation mittels Prototyping konnten kürzere Entwicklungszyklen und versionenorientierte und evolutionäre Ansätze verfolgt werden. Die entstandenen Softwarepakete können bereits von Anwendern getestet und Änderungen und Erweiterungen in folgenden Releases implementiert werden. Der evolutionäre Ansatz hat sich bis heute stark in der Softwareentwicklung verankert, da eine optimale Anpassung an ein verändertes Umfeld möglich ist. Dennoch erschwert Prototyping das Projektmanagement, da durch die schnelle Verfügbarkeit des Prototypen und seine Änderungsfreundlichkeit die Plan- und Steuerbarkeit des Projekts erheblich erschwert wird (Alpar u. a., 2005). Man unterscheidet drei Arten von Prototyping: Explorativ: Klärt sukzessiv die fachlichen Anforderungen durch wiederholte, schnelle Erzeugung und Verwerfung von Prototypen in einer Testumgebung, welche nicht identisch mit der vorgesehenen Entwicklungsumgebung sein muss. Exploratives Prototyping kann in der Anforderungsanalyse bei unklaren Bereichen eingesetzt werden. Die Systemspezifikation wird in Zusammenarbeit mit den Benutzern erarbeitet. Experimentell: Weist die Realisierbarkeit eines Entwurfs vor dem Einstieg in die Implementierungsphase eines traditionellen Phasenmodells nach. Im Mittelpunkt steht nebst der softwaretechni41

3. Methoden des Projektmanagements schen Realisierung auch die Kommunikation mit den Anwendern (Biethahn u. a., 2004). Evolutionär: Durch laufende Anpassung des Prototypen an geänderte Anforderungen in einem sich in Entwicklung befindenden Systems stellt der evolutionäre Prototyp kein Wegwerfprodukt, sondern den Kern eines neuen Systems dar. Dieses Verfahren ist auch unter dem Namen „Versioning“ (Vetter, 1998) oder „Rapid Prototyping“ (Biethahn u. a., 2004) bekannt.

3.6.4. Extreme Programming
Extreme Programming (XP) ist ein agiler Softwareentwicklungsprozess für kleine Teams, welche sich aus Kunden, Entwicklern und Management zusammensetzt. Der Prozess ermöglicht, langlebige Software zu erstellen und während der Entwicklung auf vage und sich rasch ändernde Anforderungen zu reagieren (Westphal, 2001). XP basiert auf den vier Werten Kommunikation (in Form persönlicher Gespräche mit dem Kunden und Pair-Programming zwischen Programmierern), Einfachheit (die Motivation, die einfachste Lösung zu finden), Feedback (als qualitätssichernde Komponente durch ständiges Testen) und Mut (einfache Lösungen zu präsentieren und wieder von neuem zu beginnen, mit dem Kunden und Teammitgliedern ehrlich zu kommunizieren und Feedback anzunehmen) (Beck, 2005), (Sörensen, 2007). Zudem benötigt es für XP Respekt und Interesse gegenüber den Teammitgliedern und dem Projekt selbst. XP kennt mehrere Hauptverfahrensbereiche, darunter folgende sechs Verfahren (Beck, 2005), (Westphal, 2001): Kurze Releasezyklen: Die Entwicklung erfolgt in Perioden von ein bis drei Wochen. Am Ende jeder Iteration steht ein funktionsfähiges, getestetes System mit neuer, für den Kunden wertvoller Funktionalität. Einfaches Design: Komplexe Strukturen auflösen, sobald diese entdeckt werden. Das System soll zu jedem Zeitpunkt möglichst einfach strukturiert sein. Refactoring: Das Design des Systems wird fortlaufend in kleinen, funktionserhaltenden Schritten verbessert. Finden zwei Programmierer Codeteile, die schwer verständlich sind oder unnötig kompliziert erscheinen, verbessern und vereinfachen sie den Code. Sie tun dies in disziplinierter Weise und führen nach jedem Schritt die Unit Tests aus, um keine bestehende Funktion zu zerstören. Pair-Programming: Die Programmierer arbeiten stets zu zweit am Code und diskutieren während der Entwicklung intensiv über Entwurfsalternativen. Sie wechseln sich minütlich an der Tastatur ab und rotieren stündlich ihre Programmierpartner. Das Ergebnis ist eine höhere Codequalität, grössere Produktivität und bessere Wissensverbreitung. Gemeinsame Verantwortlichkeit: Der gesamte Code gehört dem Team. Jedes Paar soll jede Möglichkeit zur Codeverbesserung jederzeit wahrnehmen. Das ist kein Recht sondern eine Pflicht. Fortlaufende Integration: Das System wird mehrmals täglich durch einen automatisierten Build-Prozess neu gebaut. Der entwickelte Code wird in kleinen Inkrementen und spätestens am Ende des Tages in die Versionsverwaltung eingecheckt und ins bestehende System integriert. Die Unit Tests müssen zur erfolgreichen Integration zu 100% laufen. 42

3.7. Prozessintegration

3.6.5. Fazit
Der Produktentwicklungsprozess besteht aus Vorgehensmodellen, welche sich den äusseren Einflüssen, dem Projekt, der Organisation und den Veränderungen laufend anpassen und weiterentwickeln. Wichtig bleibt, dass die Entwicklung vom passenden Projektmanagement unterstützt wird. Während das Wasserfall- und Spiralmodell durch traditionelles Projektmanagement begleitet wird, empfehlen sich für Prototyping und Extreme Programming agile Projektmanagement-Methoden.

3.7. Prozessintegration
Der MIO-Ansatz basiert auf der Prozessdifferenzierung und darauf, dass die Prozesse der sozialen Projektführung parallel und in gegenseitiger Wechselwirkung zum Management- und Produktentwicklungsprozess ablaufen. Für ein erfolgreiches Projekt sind somit alle Prozesse zu begleiten, zu überwachen und zu unterstützen. Während die Produktentwicklung abhängig ist von der Komplexität der zu erstellenden Software (vgl. Kapitel 3.6), dem Wissen und Interesse der Projektmitglieder (Gloger, 2008) und dem Typ des Projekts (vgl. Kapitel 2.2.2), laufen die soziale Projektführung und der Managementprozess ähnlich, jedoch in unterschiedlich ausgeprägter Form ab (vgl. Tabelle 3.2 und Kapitel 3.2.3.4, 3.3). Die folgenden beiden Abschnitte geben Aufschluss darüber, in welcher Form die traditionellen wie auch modernen und agilen Managementmethoden auf die Prozesse der Führung und des Managements in Anlehnung an den MIO-Ansatz abgebildet werden können.

43

3. Methoden des Projektmanagements

3.7.1. Projektmanagement-Prozess
Während der Initialisierungsphase des Projektmanagements wird das Projekt oder die Projektphase aufgesetzt. Er wird zum Projektstart initial ausgeführt und vor jeder neuen Projektphase wiederholt. Die Artefakte werden hierbei um die Erkenntnisse der letzten Phase erweitert und in einer neuen Version freigegeben. Die Initialisierungsphase wird oft meist nur zum Projektstart durchgeführt und bei einem neuen Phasenbeginn, vor allem bei knappen Ressourcen, zu wenig oder gar nicht beachtet. Bei den traditionellen Theorien zeichnet sich das Überspringen dieses Prozesses bei einer neuen Phase durch nicht aktuelle Planwerte aus, welche möglicherweise ein Risiko aufzeigen könnten. Bei Scrum werden die Arbeiten der Initialisierungsphase bei jeder Planung wiederholt. Initialisierung Jenny Projektstart Impuls Initialisierung Specker Inhalt Termin Ressourcen Auftrag Scrum Produkte Business Case Anforderungskatalog Projektplan Projektantrag Projektstrukturplan Ergebnisstrukturplan Projektverträge Aufgabenliste Vision Product Backlog Items Initiales Product Backlog Tätigkeit wichtige Eckdaten festlegen Nutzen, Realisierbarkeit und folgschancen beurteilen benötigte Ressourcen schätzen Infrastruktur aufbauen Änderungsverfahren festlegen wichtige Eckdaten festlegen Nutzen, Realisierbarkeit und folgschancen beurteilen Stories sammeln Product Backlog erstellen

Er-

Er-

Tabelle 3.8.: Projektinitialisierung

44

3.7. Prozessintegration Während der Planung werden Aufgaben betreffend Inhalte, Termine und Ressourcen logisch und zeitlich koordiniert und Aufwände geschätzt. Durch die Planung soll Transparenz in den Verlauf der Projektphase für alle gebracht werden. Planung Jenny Planung Konzeption Produkte Abwicklungszielplan Projektstrukturplan Ablaufplan Ressourcenplan (Sachmittel) Organisationsplan Projektkostenplan Terminplan Budgetplan Informationsplan Zielsetzungsplan Kostenplan Zahlungslplan Aktivitätenaufwandsplan Selected Product Backlog Sprint Backlog Releaseplanung Tätigkeit Klare Zieldefinition detailierte Planung erstellen Zieldefinition, Analyse von IST- und SOLL-Zustand Lösungsentwürfe erarbeiten Entscheid des Auftraggebers einholen

Specker Inhalt Termin Ressourcen Auftrag Scrum

Definition von Terminen, Meilensteinen und Lieferdaten für Arbeitspakete Kosten und Aufwand schätzen Planungsmeetings Aufwände schätzen

Tabelle 3.9.: Projektplanung

Mit der Ausführung wird das eigentliche Durchführen des Projektmanagements bezeichnet und bezieht sich in den traditionellen Methoden auf die Arbeiten des Projektleiters, bei Scrum beschreibt es die hauptsächlich die Aufgaben des Scrum Masters und des Teams. Ausführung Jenny Projektsteuerung Specker Inhalt Termin Ressourcen Auftrag Scrum Produkte Testbericht Statusbericht Zielsetzungsplan Projektstrukturplan Terminplan Sitzungsprotokolle Projektberichte Impediment List Tätigkeit direkte und indirekte Steuerung Verwaltung von Kosten und Projektinfrastruktur Änderungen und Prozessziele überwachen Daily Scrum Hindernisse beseitigen

Tabelle 3.10.: Projektausführung

45

3. Methoden des Projektmanagements Das Controlling begleitet das Projektmanagement kontinuierlich und wird mit verstärktem Fokus am Ende jeder Phase durchgeführt. Es deckt Abweichungen zwischen aktuellen IST- und dem SOLL-Zustand auf. Bei der Kontrolle wirkt nicht nur das Projektteam mit, sondern auch Management und Auftraggeber können integriert werden, um fertige Lieferobjekte definitiv abzunehmen. Kontrolle umfasst nebst den Lieferobjekten auch die Artefakte, zum Beispiel die Terminplanung, Aufwand- und Kostenschätzung. Dafür stehen unterschiedliche Kontrollverfahren zur Verfügung, zum Beispiel Review, Audit oder Test (vgl. auch Jenny (2005)). Der Abschluss findet wie die Initialisierung iterativ, nach jeder Phase sowie Kontrolle Jenny Projektkontrolle Produkte Prüfplan Arbeitsrapporte testbare Arbeitspakete Tätigkeit Kontrolle von Aufwand, Kosten und Terminen regelmässige Prüfung von Lieferobjekten und Dokumentation durch höhere Instanzen und Auftraggeber Änderungen und Prozessziele überwachen

Specker Risiko Qualität Scrum

Risikokatalog Risikomanagementplan Projektcontrollingbericht Projektstatusbericht Burndown Chart

tägliches Update der Fortschritte

Tabelle 3.11.: Projektkontrolle zum Projektende, statt. Abschluss Jenny Projektabschluss Specker Projektende Produkte Projektabschlussbericht Phasenschlussbericht Projektabschlussbericht Phasenschlussbericht Tätigkeit Sicherung des Wissens Gründe für Erfolg oder Nichterfolg ausarbeiten Dokumentenarchivierung Feststellen Zielerreichung Abweichungen analysieren Qualitätsschlussreview Retrospektive Sprint Review

Scrum

-

Tabelle 3.12.: Projektabschluss

46

3.7. Prozessintegration

3.7.2. Führungsprozess
Der Führungsprozess beschäftigt sich mit der sozialen Führung der Projektmitglieder. In der Etablierung werden wichtige Teamrollen festgelegt und Erwartungen abgeklärt. Während der Konstituierung Etablierung Jenny Projektstart Produkte Ressourcenplan (personell) Prozess benötigte Ressourcen schätzen Aufbau der Projektorganisation und Infrastruktur Aufgaben, Verantworung und Kompetenzen zuweisen Teamauswahl treffen Motivation der Projektmitarbeiter Teamauswahl treffen Scrum Master und Product Owner bestimmen Tabelle 3.13.: Projektetablierung treffen sich die Teammitglieder das erste Mal physisch zum ersten Kick-Off Meeting und dem eigentlichen Arbeitsstart der involvierten Projektmitglieder. Während der Konstituierung treten auch die ersten Probleme auf, welche beseitigt werden müssen, um das Team als eine Einheit formen zu können. Konstituierung Jenny Teammanagement (Teambildung) Specker Scrum Produkte Prozess Forming, Storming, Norming und Performing Konfliktlösung Vereinbarungen festlegen Ort & Zeit für Daily Scrum festlegen Tabelle 3.14.: Projektkonstituierung

Specker Projektorganisation Scrum

-

-

47

3. Methoden des Projektmanagements Während der eigentlichen Führung beobachtet der Projektleiter die Eigendynamik des Teams und reagiert bereits auf schwache Signale, um eine möglichst gute Atmosphäre und Arbeitsumgebung für alle Beteiligten zu schaffen. Unter Führung fällt auch die Teamzusammensetzung, welche im schlimmsten Fall geändert werden muss. Beim Abschluss werden Zwischenergebnisse gefeiert und Phasen abFührung Jenny Teammanagement (Teamführung) Specker Kommunikation Produkte Prozess Kontrolle der Arbeitsrapporte auf Inhalt und Vollständigkeit Personal führen regelmässige Projektinformation

Scrum

Dokumentations- & Dokumentenablageplan Projektinformationsplan Projektmarketingplan Impediment List

Hindernisse beseitigen

Tabelle 3.15.: Projektführung geschlossen. Dies ist auch der Zeitpunkt, über das Getane zu reflektieren und Verbesserungen zu besprechen. Abschluss/Lernen Jenny Teammanagement (Teamauflösung) Specker Projektende Produkte Leistungszeugnis für Projektmitarbeiter Prozess Projektteam abbauen

Scrum

-

Auflösung der Projektorganisation Kommunikation der Projektzielerreichung Lehren für andere Projekte -

Tabelle 3.16.: Projektabschluss/Lernen

48

3.8. Fazit

3.8. Fazit
Projektmanagement ändert sich aufgrund der Globalisierung, des Fortschritts in der Informationstechnologie und der damit verbundenen Unterstützung verteilter Projektteams. Das traditionelle Projektmanagement fokussiert auf ein Projekt an einem Standort und beschäftigt sich hauptsächlich mit Inund Output von Informationen und Dokumenten anstatt mit Prozessen. Zudem werden die Bereiche der Führung, Kommunikation und Selbstorganisation zu wenig unterstützt. Moderne Methoden setzen genau bei diesen Punkten an (Chen u. a., 2002):

• Sie unterstützen die effektive und effiziente Kommunikation. Sie helfen, Missverständnisse zu
vermeiden und geben allen Projektmitgliedern einen umfassenden Überblick. Hilfswerkzeuge in elektronischer Form unterstützen dabei die Kommunikation in alle Richtungen und die Speicherung von Wissen.

• Sie managen nicht nur Input und Output, sondern auch Prozesse im Bereich der Führung und
der Produktentwicklung.

• Sie unterbinden ein reaktives Management und fokussieren auf eine ganzheitliche und stetige
Planung, auch in Stresssituationen. Sie reduzieren dadurch den Aufwand für die Überarbeitung von Lieferobjekten und die Fehlerbehandlung, welche durch eine unvollständige Planung entstehen. Die Integration dieser modernen Ansätze in eine Projektmanagement-Plattform hat zum Ziel, die Erfolgsquote von IT-Projekten zu erhöhen und dabei Informationen und Wissen dauerhaft zu speichern und abrufbar zu machen. Zudem sollen die Projektleiter durch automatisierte Prozesse entlastet und die Fehlerquote bei der Verteilung von Information verringert werden. Planung, Berichte und Kontrolle des traditionellen Projektmanagements sind weiterhin wichtige Faktoren für den Erfolg eines Projekts und werden für diesen Zeitraum mittels Informations- und Datenmanagement zum richtigen Zeitpunkt an die richtigen Stellen verteilt. Es genügt allein jedoch nicht aus, um den gestiegenen Anforderungen an Kommunikation, Kollaboration und Informationsaustausch gerecht zu werden. Es ist wichtig, die Informationen wie auch den Prozess zu unterstützen, wobei der Prozess als dynamischer Teil gilt und einen Bereich darstellt, in welchem die Forschung erst bei den Anfängen steht (Chen u. a., 2002). Die Verknüpfung von traditionellen und modernen Methoden und Prozessen hat zum Ziel, das Projekt und das Team als ein sich selbst organisierenden Systems zu betrachten und zu unterstützen. Dies stellt auch neue Anforderungen an eine entsprechende Plattform.

49

3. Methoden des Projektmanagements

50

4. Anforderung an eine moderne PM-Plattform
Obwohl es oftmals versucht wird, ist es nicht möglich, eine allgemeingültige Lösung für das richtige Projektmanagement zu erstellen. So unterschiedlich Projekte sind, so variieren auch die Anforderungen an jedes einzelne Projekt und die Methoden und Hilfsmittel, welche für die Projektführung und -durchführung angewendet werden sollten. Zudem wird die Eigendynamik eines Projektes stark von der Motivation, den Interessen und Vorkenntnissen der Projektmitglieder beeinflusst. Die spezifischen funktionalen Anforderungen an die Plattform lassen sich nach Spath u. a. (2007) in drei Bereiche unterteilen: - Kommunikation - Projektmanagement (traditionell) - Informations- und Datenmanagement Für jeden Bereich wird eine empfohlene Mindestanforderung an die Plattform gestellt. Nebst den funktionalen Anforderungen kommen Randbedingungen hinzu, welche eine Plattform erfüllen muss, um richtig eingesetzt werden zu können. Diese können von Organisation zu Organisation aufgrund der firmeninternen Richtlinien stark variieren. Zu Beginn dieses Kapitels werden mögliche Randbedingungen für Klein- und Mittelunternehmen aufgelistet und begründet.

4.1. Randbedingungen
Klein- und Mittelunternehmen werden durch ihre Grösse, der Anzahl Mitarbeiter und des Jahresumsatzes klassifiziert. Typische Projekte in einem KMU sind im mittleren Bereich der Wichtigkeit, B bis

C angesiedelt. Nur wenige Projekte mit hoher Komplexität (vgl. Kapitel 2.2.1) und hohem Risiko (vgl.
Kapitel 2.2.3) können von einem Kleinunternehmen gleichzeitig durchgeführt werden, um einem Klumpenrisiko zu entgehen. Nach Applegate fallen sie in die Kategorie der strategischen, high potential oder kritisch operativen Projekte. Unterstützende Projekte werden erst mit zunehmender Grösse eines Unternehmens wichtig. Untersucht man die Projekttypen, so werden meist Auftragsprojekte durchgeführt, in welchen im Auftrag eines externen Kunden ein Softwareprodukt hergestellt wird. In Anbetracht dieser Projekttypen und der Aufgabenstellung stellen sich an das Grundmodul einer modernen Plattform die in diesem Abschnitt gelisteten Randbedingungen.

4.1.1. Open Source
Open Source bedeutet unter anderem, dass der Quellcode einer Software frei zur Verfügung steht. Ebenso sind in einer Open Source-Lizenz auch die Vermarktung und Verbreitung geregelt. Die häufigste Lizenz ist die „GNU GPL“1 (GNU General Public Licence). Sie legt den kompletten Quellcode offen
1

http://www.gnu.org/copyleft/gpl.html

51

4. Anforderung an eine moderne PM-Plattform und verlangt, dass adaptierte Versionen wiederum unter dieser Lizenz veröffentlicht werden müssen. Es gibt daher keine kommerzielle Verwertung dieser Software. Die schwächste aller Open SourceLizenzen ist die „BSD“2 -Lizenz (Berkeley Software Distribution). Sie macht keinerlei Vorschriften darüber, wie modifizierte Software weiterverwendet werden kann. Sie kann somit kommerziell vertrieben werden und schreibt keine Offenlegung des modifizierten Quellcodes vor. Die wichtigsten Vorteile für ein KMU sind folgende (Spath u. a., 2007): Wirtschaftlichkeit: Keine Kosten bei der Beschaffung sowie keine Folgekosten, zum Beispiel für Updates. Durch den offenen Quellcode erhält man zusätzlich auch das Know-How über die Entwicklung. Anpassbarkeit: Anpassung an individuelle Bedürfnisse. Auch die Integration in bestehende Software oder Designanpassungen sind möglich. Offener Entwicklungskreis: Weiterentwicklung durch eine grosse Community. Somit erhält man Erweiterungen, welche eine Vielzahl von Anwendungsproblemen lösen. Im Gegensatz zu proprietären Lösungen ist man nicht auf Weiterentwicklungen des Herstellers angewiesen. Unabhängigkeit: Keine Verpflichtung gegenüber dem Hersteller. Es bestehen keine längeren Vertragsbedingungen, welche möglicherweise den Umstieg auf eine andere Lösung behindern. Dem gegenüber stehen natürlich auch einige Nachteile. Die Community, welche ein Open Source-Produkt entwickelt, gibt keine Garantie und keinen Support für das Produkt. Handelt es sich jedoch um ein verbreitetes Produkt, so sind Lösungen zu Problemen und Fehlern meist durch die Community oder andere Nutzer schnell behoben. Ebenso findet man auf Foren im Internet breite Unterstützung. Die Weiterentwicklung bleibt dennoch ungewiss. Der Schulungsaufwand ist oftmals hoch, da nur wenig oder unvollständige Literatur von den CoreEntwicklern zur Verfügung gestellt wird. Auch dieser Faktor ist heutzutage immer weniger gravierend, da für beliebte Open Source-Produkte auch eine Vielzahl an Literatur, oft kostenlos und meist von Anwendern selbst geschrieben, verfügbar ist.

4.1.2. Erweiterbar
Erweiterbarkeit ist keine logische Implikation eines Open Source-Produktes. Zwar ist der Quellcode offen und es bestehen somit offene Schnittstellen respektive diese können programmiert werden, dennoch ist die Erweiterbarkeit von der Architektur des Produktes abhängig. Optimal ist einer modulartiger Aufbau der Basisversion. Das Kernsystem soll eine allgemeine Basis für die darauf aufbauenden Produkte bereitstellen. Aufbauend auf der Technologie des Grundsytems sollen zudem bereits frei verfügbare Produkte auf dem Markt sein, die für ein Projektmanagementsystem verwendet werden können. Für ein KMU ist es nicht sinnvoll, mit dem Einrichten eines solchen Systems eine ganze Abteilung über Monate hinweg zu beschäftigen. Wird die Erweiterung und Anpassung zu arbeitsintensiv, läuft man Gefahr, diese aufgrund fehlender Zeit und Ressourcen nicht durchführen zu können. Die Verwendung eines Systems, welches sich nicht optimal in den Arbeitsprozess integrieren lässt, bringt keine Vorteile und ist in einem Projekt nicht sinnvoll.
2

http://www.opensource.org/licenses/bsd-license.php

52

4.2. Kommunikation und Zusammenarbeit

4.1.3. Vernetzt
Für eine flexible Zusammenarbeit, auch über Unternehmensgrenzen hinweg, eignet sich eine vernetzte Software. Die einfachste Möglichkeit ist eine webbasierte Applikation, auf welche von überall her zugegriffen werden kann. Eine weitere Möglichkeit ist eine Synchronisations-Software, welche die Daten bei einer bestehenden Internetverbindung abgleicht. Der Unterschied besteht darin, wo die Daten liegen und wann darauf zugegriffen werden kann. Auf Daten einer webbasierten Applikation kann nur bei bestehender Internetverbindung zugegriffen werden. Die Daten werden innerhalb der Applikation, meist in einer Datenbank, gespeichert. Besteht keine aktive Internetverbindung, so gibt es keine Möglichkeit, auf Informationen zuzugreifen. Einen Schritt weiter gehen sogenannte verteilte Applikationen, welche eine „Working Copy“ der gesamten Infrastruktur lokal speichern. Bei bestehender Internetverbindung werden die lokalen Daten mit einem Repository oder den Working Copies der übrigen Benutzer abgeglichen und die lokalen Informationen aktualisiert. Dieses Vorgehen ist oft bei der Produktentwicklung anzutreffen, um geschriebenen Code erst dann allen zur Verfügung zu stellen, wenn dieser abnahmebereit ist. Für das Projektmanagement sind beide Infrastrukturen geeignet, im Zusammenhang mit Open Source-Produkten trifft man die webbasierte Version öfters an.

4.1.4. Mehrsprachig
Obwohl sich in der Informatik die Sprach Englisch durchgesetzt hat, soll die Plattform in Hinblick auf die verteilte Benutzung eine optimale Unterstützung für Mehrsprachigkeit bereitstellen, so dass jeder Benutzer die angezeigte Sprache selbst wählen kann. Vorwiegend in der Zusammenarbeit mit externen Kunden (zum Beispiel Änderungsmanagement), soll dieser die freie Wahl haben, gewisse Elemente der Seite in seiner eigenen Sprache zu bearbeiten. Die Mehrsprachigkeit macht in einigen Bereichen keinen Sinn, zum Beispiel im Auftragsmanagement. Für eine gute Zusammenarbeit wird bereits in der Initialisierungs- und Etablierungsphase eine gemeinsame Sprache festgelegt. Werden wichtige Elemente auf einer Plattform übersetzt, so ist diese Grundlage nicht mehr gegeben. Diese sollen somit nur in einer Sprache zur Verfügung stehen. Als Beispiel seien hier Begriffe aus der Produktentwicklung (Story, Task) und dem Projektmanagement (Artefakte) genannt.

4.2. Kommunikation und Zusammenarbeit
Bei der Kommunikation geht es zum einen um die Kommunikation zwischen den Teammitgliedern sowie auch um die Kommunikation zwischen verschiedenen Stakeholdern. Dabei kann eine Kommunikation einseitig (nur in eine Richtung) oder zweiseitig (in beide Richtungen) sein oder als Netzwerkkommunikation alle Stakeholder beteiligen (Wegmann u. Winklbauer, 2006). Zudem läuft eine Kommunikation synchron (Chat) oder asynchron (E-Mail, Forum) ab. Wir beschränken uns hier auf die nach dem Träger definierten mediale Kommunikation, also diejenige, welche über kommunikationsorientierte Medien abgewickelt wird. Kommunikation bestimmt zu einem grossen Anteil auch die Art der Zusammenarbeit der beteiligten Projektmitglieder. Der Austausch von Informationen und Wissen und die Zusammenarbeit gilt als wichtiger 53

4. Anforderung an eine moderne PM-Plattform sozialer Erfolgsfaktor in einem Projekt und muss bei der Verwendung einer Projektmanagementplattform in geeigneter Form unterstützt werden.

4.2.1. E-Mail
Für die E-Mail-Kommunikation werden meist Standalone-Applikationen wie Microsoft Office/Exchange, IBM Lotus Notes oder der frei verfügbare Mozilla Thunderbird verwendet. Dies bringt den Vorteil, dass E-Mails strukturiert in Ordnern abgelegt, durchsucht und archiviert werden können. Auf einer Projektmanagement-Plattform steht jedoch nicht der Empfang, sondern der Versand von E-Mails im Vordergrund. Anforderungen: es soll möglich sein

• eine E-Mail an eine beliebige Mail-Adresse zu versenden • eine E-Mail an ein oder mehrere Mitglieder des Projektes oder Gruppen zu versenden • der E-Mail Medien anzuhängen (Dokumente, Bilder) resp. den Link auf ein Medium versenden3

4.2.2. Kontaktmanagement
Alle Projektmitglieder erhalten über einen Benutzernamen und ein Passwort Zugang zur Plattform, wodurch Zugriffsberechtigungen geregelt werden. Eine vollständige Liste aller Benutzer kann somit auch als Kontaktverwaltung ausgelegt werden und als Grundlage für alle Kontaktinformationen dienen. Des Weiteren sind in einem Projekt Personen beteiligt, welche keinen Zugriff auf die Plattform benötigen und daher nicht zwingend in über die Benutzerverwaltung organisiert sein müssen. Für diese Fälle ist eine vom Grundsystem unabhängige Kontaktverwaltung sinnvoll Anforderung: es soll möglich sein

• Kontaktinformationen zu jedem Benutzer zu hinterlegen: E-Mail, Telefon, Skype, . . . • die Eingabefelder für Informationen beliebig zu erweitern • den Zugriff auf die Kontaktinformationen zu beschränken • nach Benutzern anhand von Stichwörtern zu suchen • Kontakte zu strukturieren, um die Organisation abzubilden • Kontakt ohne Benutzerberechtigungen abzulegen (evtl. in einem eigenen Kontext)

4.2.3. Bookmarks/Portal
Ein Portal bietet die Möglichkeit, eine individualisierte Einstiegsseite der Plattform zu definieren. Darauf können Bookmarks (Schnellzugriffe) abgelegt, Aufgaben angezeigt und News publiziert werden. Anforderung: es soll möglich sein

• eine eigene Darstellung der Einstiegsseite zu definieren • Links zu wichtigen Dateien, Ordnern oder Kontaktdaten zu hinterlegen • eigene Inhalte in einem geschützten Ordner abzulegen • dynamische Anzeigen von Events (Meetings, Abgabetermine, Kalendereinträge, . . . ) anzeigen
zu lassen
3

Aufgrund der Redundanz ist es sinnvoller, Medien selbst nicht zu versenden, sondern nur darauf zu verlinken

54

4.2. Kommunikation und Zusammenarbeit

4.2.4. Forum
Das Forum ist die beste Möglichkeit zur Unterstützung einer zeitversetzten Diskussion, an welcher sich alle berechtigten Teammitglieder beteiligen können. Anforderung: es soll möglich sein

• neue Themenbereiche und Themen zu eröffnen • den Zugriff personen- oder gruppenbezogen auf einzelne Bereiche zu beschränken • eine automatische E-Mail-Benachrichtigung einzurichten und dadurch den Eigentümer eines
Themas bei Antworten automatisch zu benachrichtigen

• Moderatoren für einzelne Bereiche zu ernennen, welche Beiträge editieren und löschen sowie
Themen schliessen können

4.2.5. Instant Messaging
Mit einer Messaging-Funktion können zwei oder mehr Nutzer in Echtzeit schriftlich miteinander kommunizieren. Das Chatten ist ein beliebtes und verbreitetes Kommunikationshilfsmittel und bietet oftmals zur schriftlichen Kommunikation auch Sprach- und Videoübertragung und die Möglichkeit des Datenaustauschs. Im Gegensatz zum Forum müssen die Benutzer beim Chatten gleichzeitig online sein. Anforderung: es soll möglich sein

• dass mehrere Benutzer gleichzeitig miteinander chatten können • den Verlauf einer älteren Diskussion nachzuverfolgen (Archivierung) • Chat-Nachrichten auch im Offline-Betrieb an ein Mitglied zu versenden, welches darüber informiert wird, sobald es sich einloggt

• bestehende Chat-Clients (z.B. Skype) zu integrieren, resp. den Status eines anderen Mitglieds
zu sehen

4.2.6. Nachrichtenboard
Ein Nachrichtenboard auf einer Plattform entspricht einer Pinnwand oder einem Whiteboard, auf welchem Nachrichten hinterlegt werden können, die für alle Mitglieder wichtig sind. Da es sich hierbei um eine einseitige Kommunikationsart handelt, entlastet das Nachrichtenboard den meist eh bereits hohen Mailverkehr. Anforderung: es soll möglich sein

• dass alle Benutzer Nachrichten erfassen können • Nachrichten einem bestimmten Projekt zuzuweisen oder als global gültig zu definieren • das Anzeigeverhalten personen- oder gruppenspezifisch einzuschränken
55

4. Anforderung an eine moderne PM-Plattform

4.2.7. Umfragen
Umfragen dienen zur quantitativen Erhebung von Fragestellungen. Anforderung: es soll möglich sein

• Umfragen einem Projekt zuzuweisen • die Anzeige einer Umfrage personen- oder gruppenspezifisch sowie zeitlich einzuschränken • das Resultat graphisch darzustellen

4.3. Informations- und Datenmanagement
Ein wichtiger Faktor in einem Projekt ist die Information. Moderne Projektmanagement-Methoden setzen dabei auf absolute Transparenz. Es geht darum informiert zu sein, wo das Projekt steht, woran die anderen Mitarbeiter zurzeit arbeiten und wie das weitere Vorgehen in naher Zukunft ist. Dabei ist Information stark mit Kommunikation und Wissen verknüpft. Für eine Projektmanagement-Plattform ist es daher unerlässlich, ein gutes Dokumentemanagementsystem bereitzustellen, welches nicht nur die strukturierte Ablage von Dokumenten, sondern auch die Nachverfolgung und Archivierung unterstützt. Zudem wird eine Vielzahl von Information als Inhalt bereitgestellt, welche direkt im System abgelegt wird. Hierbei ist eine Versionierung zur Nachverfolgung sehr nützlich.

4.3.1. Dokumentemanagement
Als Dokumentemanagement wird jegliches Handling von Artefakten verstanden. Sie ermöglichen nebst dem Speichern und Bearbeiten von Dokumenten auch die Verwaltung von Zugriffsberechtigungen. Je nach Format können die Dokumente direkt auf der Plattform bearbeitet werden, meist jedoch ist dafür ein externes Programm nötig. Anforderung: es soll möglich sein

• Dokumente beliebigen Formats zu speichern und zu veröffentlichen • durch einen eindeutigen Link auf ein Dokument zuzugreifen • mehrere Versionen eines Dokuments zu veröffentlichen • Metadaten und Beschreibungen hinzuzufügen • den Zugriff auf die Dokumente zu beschränken

4.3.2. Versionierung
Durch die Versionierung von Informationen können Änderungen nachverfolgt und wieder rückgängig gemacht werden. Eine Versionshistory sollte automatisch erstellt werden und die Möglichkeit bereitstellen, eine neuere Version zu kommentieren und somit die Änderungen nachvollziehbarer zu machen.

4.3.3. Strukturierung
Für die strukturierte Ablage von Dokumenten soll die Möglichkeit zur Erzeugung einer Ordnerstruktur vorhanden sein. In einem weiteren Schritt ist es denkbar, die Ordnerstruktur anhand der Klassifizierung eines Projektes automatisch zu erzeugen (vgl. Tabelle 3.2). 56

4.4. Projektmanagement

4.3.4. Wissenserhaltung und Wissensfindung
Wissen ist in der heutigen Informationstechnologie ein wichtiges Gut. Mit jedem Mitarbeiterwechsel, mit jedem Projektabschluss und an jeder System- und Phasengrenze geht Wissen verloren, wenn es nicht in geeigneter Form festgehalten wird. Während die Sammlung des Wissens bei jedem drohenden Verlust in Aktion treten soll, ist das Wiederauffinden der zweite Faktor. Schon mehrmals habe ich es erlebt, dass Wissen mithilfe von Spam-ähnlichen Mails an alle Mitarbeiter eines Unternehmens versendet wurden mit der Hoffnung, jemanden zu finden, der vielleicht in einem bestimmten Gebiet bereits Erfahrungen sammeln konnte. Daraus ergeben sich zwei Aspekte. Zum einen soll es möglich sein, mithilfe einer Wissensdatenbank Informationen zu finden, zum anderen sollen auch Personen, welche über ein bestimmtes Wissen verfügen, ausfindig gemacht werden können. Letzteres kann über ein Kontaktmanagementsystem erfolgen, in welchem Mitarbeiter ihr Erfahrungsgebiete eintragen können. Für Informationen selbst eignet sich ein Wiki. Als Wiki wird ein interaktives Nachschlagewerk bezeichnet, in welchem jedes Projektmitglied neue Seiten erfassen und somit Informationen zur Verfügung stellen kann. Alle Seiten werden als HypertextDokumente abgelegt und untereinander verlinkt. Anforderung: es soll möglich sein

• Artikel zu erstellen, editieren, veröffentlichen, löschen • Medien in die Artikel zu integrieren (Bilder, Videos, Dokumente beliebigen Formats) und Verlinkungen zu erstellen

• den Zugriff personen- oder gruppenbezogen zu beschränken

4.4. Projektmanagement
Im Bereich des Projektmanagements soll die Plattform das Management der ökonomischen Projektziele Leistung, Kosten und Termine sowie Inhalte, Ressourcen und Änderungen überwachen sowie die Prozessabläufe begleiten. Dabei muss die Plattform flexibel genug sein, um nicht nur eine Managementtheorie zu unterstützen, sondern traditionelle wie auch agile Methoden bereitstellen können. Das System greift dabei auf die Funktionalitäten der Kommunikation und des Informations- und Datenmanagements zu. Der grosse Vorteil eines Systems ist die automatische Erkennung definierter kritischer Zusammenhänge und Abhängigkeiten. Ein wichtiger Bereich im Projektmanagement sind die Prozessabläufe, die sogenannten Workflows. Sie unterstützen den Ablauf in einem Projekt und garantieren einen Mindeststandard, der eingehalten werden muss. Zudem vereinfachen sie das Handling und erlauben es, in der Projektleitung Zeit für die Erledigung wiederkehrender Aufgaben einzusparen. Während die firmenspezifischen Regeln meist über längere Zeit gleich bleiben, verändern sich die projektspezifischen Abläufe innerhalb eines Projektes. Die Änderungen rühren von inneren wie auch äusseren Einflüssen her. Jeder Projektleiter, jedes Teammitglied und jeder Kunde hat andere Vorlieben und für die Benutzung einer Projektmanagement-Plattform. Somit ist es grundlegend, dass die Plattform an verschiedene Bedürfnisse angepasst werden kann, benutzerfreundlich ist und einen entscheidenden Mehrwert liefern soll. Teammitgliedern, welche sich nicht an die vorgegebene Managementmethode 57

4. Anforderung an eine moderne PM-Plattform halten möchten, sind oftmals besser aus dem Team auszuschliessen, sofern keine Besserung in Sicht ist (Beck, 2005).

4.4.1. Termine
Ein Kalender dient dazu, projektbezogene Termine festzuhalten und zu verbreiten. Nebst Meetings können auch weitere Termine wie Releases und Meilensteintermine integriert werden. Anforderung: es soll möglich sein

• Termine personen- oder gruppenspezifisch einzuschränken • Termine einem Projekt zuzuordnen • automatische Reminder für einen Termin einzurichten • Termine zu exportieren, um diese in einem persönlichen Kalender automatisch eintragen zu lassen

4.4.2. Management von Input und Output
Im Bereich des Projektmanagement lege ich den Fokus auf den Management- und den Entwicklungsprozess. Die elektronisch unterstützbaren Aspekte der Führung werden subsumiert, da in der Managementtheorie und der Kommunikation bereits ein Grossteil der Führung festgelegt wird. Betrachten wir die traditionellen Managementmethoden nach Jenny (vgl. 3.2) und Specker (vgl. 3.3), so fällt auf, dass diese Methoden durch eine Vielzahl von Meetings und Dokumenten bestimmt wird, welche in einer festgelegten Reihenfolge oder bei bestimmten Ereignissen erstellt werden. Wo reine Informationsinhalte erstellt werden, z.B. Business Case, und Projektantrag, ist eine elektronische Unterstützung nur für die Verteilung der Information sinnvoll, jedoch nicht für deren Erstellung. Für jedes einzelne Dokument ist demnach zu entscheiden, ob es als Content auf der Plattform oder mit einem externen Programm erstellt wird und danach im Dokumentesystem abgelegt wird. Wichtige Entscheidungshilfen sind folgende:

• Ist eine verbindliche Vorlage vorhanden (z.B. Excel- oder Word-Template), welche aufgrund firmeninterner Richtlinien verwendet werden sollte?

• Arbeitet hauptsächlich nur eine Person an einem Dokument? • Soll ein Dokument auch im Offline-Betrieb vorhanden sein? • Handelt es sich beim Inhalt des Dokuments hauptsächlich um statische Informationen oder solche mit Vertragscharakter? Je mehr dieser Fragen mit „Ja“ beantwortet werden, desto eher sollte ein Dokument mit einer externen Applikation erstellt und im Dokumentesystem abgelegt werden. Für deren Verbreitung kann danach das Projektmanagementsystem verwendet werden. Ebenfalls wird über die Rechteverwaltung der Zugriff eingeschränkt. Die Pläne aus dem Qualitätsmanagement (Kapitel 3.2.3.3, 3.3.1) und dem Risikomanagement (Kapitel 3.2.3.2,3.3.1) gehören gemäss dem Fragekatalog ebenfalls ins DokumentemanagementSystem. Da agile Methoden ein höheres Mass an Zusammenarbeit der einzelnen Teammitglieder und verteilte Verantwortung vorschreiben, ist hier eine vollständige Integration einiger Bereiche in das System sinnvoll und schafft einen echten Mehrwert für Kunden und Entwickler. Zudem wird der Projektleiter 58

4.4. Projektmanagement entlastet, da viele administrative Aufgaben automatisiert ausgeführt werden. Für eine genaue Analyse der Anforderung mit Scrum wird auf Mengelt (2008) verwiesen.

4.4.3. Ressourcenmanagement
Beim Ressourcenmanagement werden Personen, Sachmittel und Räume verwaltet. Die Verwaltung von Personen wird optimalerweise im Zusammenhang mit dem Kontaktmanagement erstellt, um redundante Daten zu vermeiden. Durch die Zuweisung einzelner Personen zu bestimmten Gruppen werden gleichzeitig auch die Berechtigungen für die Ressourcenverwaltung festgelegt. Die Verwaltung von Sachmittel und Räumen ist meist nicht nur auf ein Projekt beschränkt, sondern betrifft alle Projekte und Arbeitsgebiete in einem Unternehmen. Hier kann ein Raum für ein Projektmeeting genauso wie für eine Geschäftsleitungssitzung gebucht werden. Daher ist es dem Unternehmen überlassen, diese Verwaltung in die Projektmanagement-Software zu integrieren oder selbstständig zu führen.

4.4.4. Aufgabenmanagement
Das Aufgabenmanagement ist von der gewählten Projektmanagementmethode abhängig. Bei traditionellen Methoden werden Aufgaben vom Projektleiter an die Teammitglieder delegiert, bei agilen Methoden organisiert sich das Team selbst und entscheidet, wie viele Aufgaben es in einer bestimmten Zeit erledigen kann. Für traditionelle wie auch agile Methoden ergibt sich eine eindeutige Struktur. Ein gesamtes Projekt wird in Teilaufgaben unterteilt, welche wiederum mehrere Arbeitspakete enthalten. Ein Arbeitspaket ist die kleinste Einheit und stellt eine Aufgabe dar, welche nicht mehr weiter zerlegt werden kann. Es muss zudem zuverlässig schätzbar sein und in sich abgeschlossen. Anforderung: es soll möglich sein

• Aufgaben/Tasks strukturiert zu definieren • Tasks zu Personen oder Gruppen zuzuordnen • eigene Tasks auf einem Portal anzeigen zu lassen • Stunden auf einen Task zu buchen • Schätzung und Termine zu einem Task hinzuzufügen • eine automatische Benachrichtigung zu erhalten, wenn ein Task nicht in der vorgegebenen Zeit
abgearbeitet wird Die Möglichkeit, Stunden auf einen bestimmten Task zu buchen, macht ein eigenes Time TrackerSystem überflüssig. Es kann dennoch sinnvoll sein, der Übersicht halber einen eigenen Time TrackerBereich zu erstellen, wo alle Stunden zusammengetragen werden. 59

4. Anforderung an eine moderne PM-Plattform

4.4.5. Änderungsmanagement
Die Produktdefinition und Zielsetzung des Projekts verändert sich während der Entwicklung laufend. Das Änderungsmanagement als Überbegriff ist im Bereich der Systemelemente und der Projektmanagementfunktionen angesiedelt und betrifft das Konfigurations- und Inhaltsmanagement (vgl. Kapitel 3.2.3.5 und 3.3.1). Agile Methoden wie Scrum integrieren das Änderungsmanagement im Hauptprozess (vgl. Kapitel 3.4.3.1). Für das Management und die Nachverfolgung von Änderungen eignet sich ein Tracking-System. Anforderung: es soll möglich sein

• Änderungen von Kunden und Teammitgliedern zu erfassen • die Zuständigkeit an eine Person zu delegieren • Änderungen zu strukturieren und nach Wichtigkeit zu klassifizieren • die richtigen Personen über die Änderungsanträge automatisch zu informieren

4.4.6. Workflows
Das Projektmanagement entwickelte sich vom Chaos hin zur Produktorientierung und wird in modernen Ansätzen durch die Prozesse erweitert (vgl. Kapitel 3). Die Prozesse im Zusammenhang mit dem Projektmanagement spezialisieren sich auf die Informationsverteilung und -strukturierung. Um diese abzubilden, werden während der Projektinstitution (vgl. Kapitel 3.2.1) im Bereich des Kommunikationsmanagements (vgl. Kapitel 3.3.1) der Dokumentations- & Dokumentenablageplan und die Informationsverteilung definiert. Für die Ausführung der automatischen Prozesse wird ein Regelsystem benötigt, welches Inhalte überwacht und gewünschte Aktionen auslöst (vgl. Kapitel 6.3.4). Anforderung: es soll möglich sein

• Objekte zu überwachen • mehrere Bedingungen kumulativ auf ein Objekt anzuwenden • mehrere Aktionen kumulativ auszuführen

4.5. Fazit
Aufgrund der Einzigartigkeit von Projekten und firmeninternen Richtlinien, den Vorlieben und Gewohnheiten der Stakeholder und den Randbedingungen und der Klassifizierung jedes einzelnen Projekts unterscheidet sich die Notwendigkeit und Ausprägung einzelner Funktionen von Projekt zu Projekt. Anhand der grundlegenden Anforderungen aus diesem Kapitel soll es möglich sein, das Grundmodul an unterschiedliche Projekttypen, Stakeholder und Abläufe flexibel anzupassen. Dabei bleibt die gesamte Struktur skalierbar. Das Ziel einer guten Projektmanagement-Plattform liegt also nicht darin, die einzig richtige Lösung abzubilden, sondern eine Vielzahl von Funktionen und dynamischen Prozessen bereitzustellen, um den meisten Anforderungen gerecht zu werden. Bei der Initialisierung und der ersten Planung und Etablierung des Projektes können daraufhin die benötigten Werkzeuge eingerichtet und verbreitet werden.

60

5. Tool-Evaluation
Die Liste verfügbarer Managementplattformen auf dem Markt ist sehr lang. Viele dieser Plattformen fokussieren auf das Dokumente- und Aufgabenmanagement und weisen zum aktuellen Zeitpunkt einen erfolgsversprechenden Stand der Entwicklungen auf. Dieses Kapitel soll Aufschluss darüber bringen, inwiefern sie die Prozessdifferenzierung unterstützen. Der Fokus der meisten Produkte auf den klassischen Managementprozess schränkt die individuelle Anpassung und die Zusammenarbeit ein. Bereiche wie Kommunikation, Abbildung von Arbeitsprozessen und die Integration der Produktentwicklung stehen im Zentrum der Untersuchung. In Anlehnung an Spath u. a. (2007) werden 17 Open Source-Kollaborationsplattformen auf ihre Eignung in den Bereichen Kommunikation, Informations- und Datenmanagement und Projektmanagement untersucht. Sechs davon werden detaillierter beschrieben. Darauf folgen die neusten Entwicklungen aus dem Bereich des File Sharing. Aufgrund der hohen Verbreitung werden anschliessend Produkte aus der Microsoft-Familie auf deren Eignung untersucht sowie Alternativen aufgelistet. Zum Abschluss folgen Systeme für die Produktentwicklung.

5.1. Toolauswahl
Eine Kollaborationsplattform unterstützt die Organisation bei der Kommunikation, Koordination und Kooperation innerhalb eines Projektes. Tabelle D.1 listet die 17 untersuchten OpenSource-Kollaborationsplattformen sowie die dafür benötigte IT-Infrastruktur und die Lizenz. Die meisten dieser Plattformen unterstützen ebenfalls grundlegende Funktionen für das Projektmanagement. Abbildung 5.1 stellt in einem Balkendiagramm alle 17 Tools der Studie mit den erhaltenen Punkten in den Kategorien Kommunikation, Projektmanagement und Informations- und Dokumentemanagement dar. In den folgenden drei Kapiteln werden die drei Kategorien für die Top5 Systeme und Plone genauer untersucht. Das Kivit-Diagramm in Abbildung 5.2 stellt auf übersichtliche Weise die sechs untersuchten Tools und ihre Dimensionen dar. Alle Tools aus den Top5 erlangen bei der Untersuchung in allen Kategorien mindestens 6 von 10 möglichen Punkten und weisen somit in allen Bereichen einen überdurchschnittlichen Funktionsumfang auf. Obwohl „Plone“ im Bereich der Kommunikation und des Projektmanagements nur je 4 Punkte erhält, ist es das einzige Produkt, welches im Informations- und Dokumentemanagement die volle Punktzahl erhält.

5.1.1. PHProject
PHProject ist mit der maximalen Punktzahl in der Kommunikationsunterstützung und im Projektmanagement und 9 von 10 möglichen Punkten im Informations- und Datenmanagement das bestklassierte 61

5. Tool-Evaluation

Abbildung 5.1.: Eignung der Tools nach Spath u. a. (2007) 62

5.1. Toolauswahl

Abbildung 5.2.: Kiviatdiagramm der Top5 Tools und Plone nach Spath u. a. (2007)

Kollaborationssystem nach Spath u. a. (2007). Mit Apache als Webserver, mySql als Datenbank und PHP als Skriptsprache ist es schnell installiert und lauffähig. PHProject ist ein weit verbreitetes und ausgereiftes System, dessen Zukunft optimistisch eingeschätzt werden kann. Neue Releases warten regelmässig mit umfangreichen Erweiterungen und funktionalen Verbesserungen auf. Die Nutzung ist nicht immer intuitiv und benötigt Einarbeitungszeit, dafür stehen auf der Projektseite gute Dokumentationen in verschiedenen Sprachen bereit. PHProject ist ein modulares Werkzeug im Web für Gruppen zur Koordination von Terminen, Informationen und Dokumenten, unter anderem mit Gruppenterminkalender, Projektmanagement, Zeiterfassung, Dokumentenverwaltung, Kontakt Manager, Mail client und vielen weiteren Modulen. PHProject unterstützt viele Protokolle (ldap, soap, webdav u.a.) und ist in 38 Sprachen und für 9 Datenbanken verfügbar. Eine genaue Auflistung aller Funktionalitäten der Version 4.1 befindet sich im Anhang D.2. Test: PHProject 5.2, mySql 5.0.51, PHP 5.2.5 (lokale XAMPP Installation) Nach dem Einrichten einer leeren Datenbank und dem Entpacken der Installationsdatei von der Projektseite1 kann die Installationsroutine über die Datei setup.php aufgerufen werden. In der dialoggeführten Installation können bereits einige Einstellungen gemacht werden, darunter Sprache und die Aktivierung zusätzlicher Module. Nach der Installation können über die Administrationsoberfläche alle Einstellungen sowie neue Benutzer und Projekte erfasst werden. Die Installation ist einfach und stellt schnell eine betriebsfähige Plattform bereit. PHProject kann sowohl im Intranet wie auch im Internet genutzt werden und unterstützt somit auch die Zusammenarbeit mit Kunden und Benutzern, welche von ausserhalb des Firmennetzes zugreifen möchten.
1

http://www.phprojekt.com/index.php?name=Downloads&req=viewdownloaddetails&lid=4

63

5. Tool-Evaluation

5.1.2. Open-Xchange
„Open-Xchange“ gehört zu einer sehr verbreiteten Projektmanagementplattform und ist als freie wie auch kommerzielle Version verfügbar. In der freien Version fehlen die webbasierte Administration und Programme sowie Schnittstellen von Drittanbietern. Ebenso sind einige Erweiterungen kostenpflichtig, zum Beispiel die Integration von Microsoft Outlook über sogenannte Konnektoren. Durch die kommerzielle Version ist die Weiterentwicklung grösstenteils gesichert und über eine Roadmap einsehbar. „Open-Xchange“ kann für Hosting Provider auch als Hosting Package gekauft werden. Dadurch können dem Benutzer nebst dem herkömmlichen Webmail erweiterte Kollaborations-Funktionen bereit gestellt werden. In der Schweiz verfügt „Hostpoint“ über ein „Open-Xchange“ System. Test: „Open-Xchange Express Edition“ mit „VMWare“ Die freie Version „Open-Xchange Express Edition“ kann als Download2 bezogen werden. Das Package mit einer Grösse von rund 600MB stellt das komplette System bereit, ein VMWare Image für einen virtualisierten Server kann ebenfalls auf der gleichen Seite heruntergeladen werden. Zu Testzwecken kann Open-Xchange Outlook OXtender (Integration von Microsoft Outlook) in den Sprachen Deutsch, Englisch und Französisch als Trial-Version getestet werden. Die Installation des VMWare Images ist schnell vollbracht. Das Einrichten der Benutzer und die Konfiguration sind intuitiv, und durch Freigabe des Servers kann aus dem Intranet und dem Internet darauf zugegriffen werden. Mehr Details finden sich auf der Projekthomepage3 und im Anhang D.3.

5.1.3. eGroupWare
„eGroupWare“ ist eine Groupwarelösung mit allen Funktionen einer Kollaborationsplattform. Für die Unterstützung des Projektmanagements steht ein Modul zur Verfügung, mit dem sich auch eine Wissensdatenbank und Workflows erstellen lassen. Für grössere Projektportfolios ist das System gut skalierbar. Hervorzuheben ist die detaillierte Dokumentation, welche die Einarbeitung erleichtert. Eine Stärke liegt darin, dass Funktionalitäten wie Termine, Kontakte und Dokumente untereinander verlinkt werden können. Test: eGroupWare 1.4.004, mySql 5.0.51, PHP 5.2.5 (lokale XAMPP Installation) Mit etwas Vorkenntnissen ist die Installation schnell durchgeführt und das System einsatzbereit. Der Administrator verfügt über ein umfangreiches Einstellungs-Tool zur Einrichtung aller nötigen Funktionalitäten. Neue Benutzer und Projekte sind einfach zu erstellen und benötigen keine grosse Einarbeitungszeit. Das Layout ist sehr benutzerfreundlich und modern aufgebaut. Über die horizontale Navigation ist ein schneller Zugriff auf alle Module möglich, die Seitennavigation wird für jedes Modul neu aufgebaut und stellt alle gewünschten Funktionalitäten bereit. Weitere Informationen können im Anhang D.4 nachgelesen werden.

5.1.4. Simple Groupware
Simple Groupware verfügt über einen beachtlichen Funktionsumfang im Bereich der Kommunikation und Integration externer Anwendungen. Hinter der baumartigen Ordnerstruktur verbergen sich die
2 3

http://www.open-xchange.com/de/produkte/open-xchange-express-edition-de/download http://www.open-xchange.com

64

5.1. Toolauswahl Funktionalitäten der Plattform. Die Möglichkeiten im Bereich des Projektmanagements sind leider etwas eingeschränkt. Ein detaillierter Funktionsbeschrieb befindet sich im Anhang D.5. Test: Simple Groupware 0.414, mySql 5.0.51, PHP 5.2.5 (lokale XAMPP Installation) Die Installation ist einfach und schnell. Danach kommt man direkt in die Administrationsoberfläche. Die Navigation geschieht über eine Baumstruktur wie sie aus dem Windows Explorer bekannt ist. Die Administration geschieht über eine Reiter-Leiste oberhalb des Inhaltes. Zu den einzelnen Einträgen, egal ob Termin, Stundenzettel oder Kontakt, können zahlreiche Informationen hinterlegt werden. „Simple Groupware“ ist von allen untersuchten Tools dasjenige, welches am meisten Formulardaten für die Speicherung von Informationen bereitstellt.

5.1.5. IGSuite
Die „Software Integrated Groupware Suite“, kurz „IGSuite“, stellt eine breite Palette von Funktionalitäten bereit und fokussiert auf das Customer Relationship Management (CRM). Es richtet sich hauptsächlich an Unternehmen mit Schwerpunkt auf Kommunikation, Ressourcen- und Arbeitsteilung und Dokumentemanagement. Die IGSuite schneidet in den untersuchten Bereichen überall mit 7 von 10 möglichen Punkten ab und bietet somit einen ausgeglichenen Mix an Unterstützung und Funktionen. Zu bemängeln ist der fehlende deutschsprachige Support des italienischen Herstellers. Test: IGSuite 3.2.4, Online Demo Für die Tests wurde der Demo-Account der Projekthomepage4 verwendet. Leider stand kein deutsches Sprachfile zur Verfügung. Die Bedienung ist intuitiv und das Layout modern. Man erhält Unterstützung im Projektmanagement, jedoch fehlen die klassischen Projektmanagement-Tools. Auch die Benutzerverwaltung mit den Zugriffsrechten kann noch verbessert werden. Eine kurze Übersicht befindet sich im Anhang D.6.

5.1.6. Plone
„Plone“ gilt als Content Management System mit intuitiver Bedienung und einem sehr ausgereiften Dokumentemanagementsystem. Als einziges Produkt erreicht es in diesem Bereich die volle Punktezahl. Es lassen sich umfangreiche Arbeitsabläufe und -prozesse abbilden und unterstützten den Benutzer auch bei unstrukturierten Aufgaben. Durch die starke Community steht für „Plone“ eine grosse Anzahl von frei verfügbaren Erweiterungen zur Verfügung. Als klassisches CMS kann „Plone“ im Intranet wie auch im Internet eingesetzt werden. Das ausgereifte Benutzerberechtigungssystem regelt alle Zugriffe und kann auch auf Erweiterungen Dritter angewandt werden. Obwohl „Plone“ im Bereich der Kommunikation und des Projektmanagements unterdurchschnittlich abschneidet, eignet sich das CMS durch die Stärke im Dokumentemanagement und dem einfachen Abbilden von Arbeitsabläufen und -prozessen für den Einsatz als Projektmanagement-Plattform. Test: Das Testprojekt mit „Plone“ wird im Kapitel 7 detailliert beschreiben.
4

http://demo.igsuite.org

65

5. Tool-Evaluation

5.2. Kommunikation und Zusammenarbeit
Virtuelle Projektteams, welche räumlich getrennt arbeiten, benötigen vermehrt Techniken zur Kommunikationsunterstützung. Darunter fallen synchrone und asynchrone Kommunikationswege (Mail, Forum, . . . ). Die genauen Anforderungen sind in Kapitel 4.2 definiert.

PHProject
E-Mails können über den Client verwaltet werden. Eine Integration der Daten aus Microsoft Outlook ist ebenfalls möglich. Die asynchrone Kommunikation wird über Nachrichtenboards und ein Forum unterstützt, für direkten Nachrichtenaustausch steht ein Chat zur Verfügung. Für Umfragen steht zusätzlich eine Polling-Funktion bereit. Über die Kontaktverwaltung lassen sich Kontakte in Gruppen zusammenfassen und in Terminen, Aufgaben und Projekten darauf verweisen.

Open Xchange
„Open-Xchange“ verfügt über ein funktional ausgereiftes Kontaktmanagement-Tool, mit welchem Dateien einem Kontakt zugewiesen und Termine, Aufgaben und Projekte direkt verknüpft werden können. Der Zugang zu den Kontaktdetails wird über Berechtigungen geregelt. Die Integration von Microsoft Outlook ist gewährleistet (kostenpflichtig) und bietet mit der Darstellung als Textnachricht eine hohe Sicherheit. Eine zentrale Bookmarkverwaltung, Diskussionsforum und ein Nachrichtenboard sind ebenfalls vorhanden.

eGroupWare
„eGroupWare“ ermöglicht die Integration von externen Kontaktdaten, zum Beispiel aus Microsoft Outlook. Ein E-Mail-Client steht ebenfalls zur Verfügung. Für die asynchrone Kommunikation verfügt das System über ein Forum. Mailinglisten und Umfragen können eingerichtet werden, jedoch steht kein Nachrichtenboard zur Verfügung. Eigene Bookmarks und eine Echtzeit-Kommunikation über Chat fehlen.

Simple Groupware
Im Kontaktmanagement lassen sich viele Angaben sammeln und als Visitenkarten übersichtlich darstellen. Auch Hierarchie-Strukturen lassen sich abbilden. Für die Mail-Kommunikation stehen Verbindungen von IMAP und POP3 zur Verfügung sowie Nachrichtenboards, Foren und Echtzeit-Chats. Bookmarks aus Firefox können ebenfalls integriert werden. Im Bereich der Kommunikation fehlen jedoch Mailinglisten und Umfragen.

IGSuite
Für das Kontaktmanagement stehen umfassende CRM-Funktionalitäten bereit. Es können eine Vielzahl von Informationen und Aufträge bei einem Kontakt hinterlegt werden. Im Zusammenhang mit den dem Kunden zugewiesenen offenen To-Dos ist eine umfassende Historie des Kontakts verfügbar. Für den E-Mail-Verkehr steht ein Webmail-Client zur Verfügung, Echtzeit-Kommunikation wird über den integrierten Chat abgewickelt. Als einziges Tool hat die „IGSuite“ einen Fax-Client integriert, welcher die 66

5.3. Informations- und Datenmanagement Nachverfolgung der Faxkorrespondenz unterstützt. Forum, Mailinglisten, Umfragen-Tool und Nachrichtenboard fehlen.

Plone
Über die Benutzerverwaltung können Kontakte organisiert werden. Jeder Artikel in „Plone“ kann an Mitglieder versendet werden, mit einer Erweiterung ist auch der Versand an ganze Gruppen möglich. Foren und Mailinglisten werden ebenfalls durch Dritte angeboten. Integriert sind eine Chat-Funktion sowie ein Nachrichtenboard und die Möglichkeit, Umfragen zu starten. Als CMS bietet „Plone“ ein benutzerspezifisches Portal, auf welchem Bookmarks hinterlegt werden können. Es gilt anzumerken, dass „Plone“ sich als CMS mit einer starken Community im Hintergrund auf die Verwaltung von Inhalten spezialisiert. Dadurch ist die tiefe Bewertung von 4 Punkten mit Vorsicht zu betrachten. Durch eine grosse Anzahl von frei verfügbaren Erweiterungen können die fehlenden Funktionalitäten nachinstalliert werden. Eine weitere Eigenschaft eines populären Open Source CMS ist die konstante Weiterentwicklung und die Möglichkeit, gewünschte Funktionalitäten für kommende Releases vorzuschlagen. Das modulare Wachstum erstreckt sich in viele Richtungen.

Fazit
„PHProject“ schneidet im Bereich der Kommunikationsunterstützung am besten ab, gefolgt von „Open Xchange“ und „SimpleGroupware“. Sie bieten in diesem Bereich zusätzliche erweiterte Funktionen für individuelle Anpassungen. „eGroupware“, „IGSuite“ und „Plone“ verfügen über Standardanforderungen. Diese Produkte verfügen bereits in den Standardversionen über eine breite Unterstützung im Bereich von asynchronen Kommunikationswegen. Sie integrieren E-Mail-Funktionen, Kontaktmanagement, Bookmarks und Foren. Im Bereich der synchronen Kommunikation können „PHProject“ und „SimpleGroupware“ weitere Punkte holen.

5.3. Informations- und Datenmanagement
In das Informations- und Datenmanagement gehören die Dokumenteablage und -strukturierung, Suchfunktionen, Auswertungs- und Darstellungsfunktionen. Die genauen Anforderungen sind in Kapitel 4.3 definiert.

PHProject
Dateien lassen sich in „PHProject“ zentral speichern und können zu Objekten der Projekthierarchie zugewiesen werden. Für den Datenaustausch ist ein FTP-Client integriert. Der Zugriff auf das Dateisystem wird durch die Benutzerberechtigung gesteuert.

Open-Xchange
„Open-Xchange“ verfügt über ein Dokumentemanagementsystem mit persönlichen und geteilten Ordnern, dem sogenannten „Infostore“. Die öffentlichen Ordner werden auf dem Server freigegeben und sind für alle zugänglich. Dateien können aus E-Mails direkt mittels Drag-n-Drop in die Ordner abgelegt werden. Ebenso steht eine Versionierung zur Verfügung. Ein Wiki ist nicht verfügbar. 67

5. Tool-Evaluation

eGroupWare
„eGrouWare“ speichert Dateien auf dem Webserver. Das Verzeichnis kann während der Installation angegeben und jederzeit geändert werden. Die Dokumente werden in einer Ordner-Hierarchie strukturiert und verfügen über Versionierung, Zugriffsberechtigung und Versandmöglichkeiten. Standardmässig ist zudem ein Wiki und eine durchsuchbare Wissensdatenbank integriert.

Simple Groupware
Die Speicherung von unterschiedlichen Dateitypen ist möglich, bei vielen ist auch eine Vorschau verfügbar. Die Dateien können farblich kategorisiert und durchsucht werden. Ebenso kann ihnen ein Status zugewiesen werden. Ein Dokument wird allgemein als Element interpretiert und kann mehrere Versionen beinhalten. Dazu wird die History jedes Elements festgehalten. Ein Wiki ist nicht vorhanden.

IGSuite
Das System verfügt über ein Wiki und eine Notizfunktion. Dokumente können strukturiert abgelegt und verlinkt werden. Eine Versionierung ist jedoch nicht möglich. Eine Zugriffsbeschränkung auf Dateien im IGFile-Service gibt es nicht. Auf fremde Dateien hat der Benutzer standardmässig Lese-, aber keine Schreibrechte.

Plone
In „Plone“ entspricht eine Datei einem Artikel und unterscheidet sich von den Möglichkeiten her nicht vom übrigen Inhalt. Dadurch sind Arbeitsabläufe und -prozesse auch auf Dateien anwendbar. Die Dateiablage wird über die Navigationsstruktur organisiert. Dabei können die Dateien auf dem Dateisystem oder direkt in die Datenbank gespeichert werden. Der Zugriff wird durch das Benutzerberechtigungssystem organisiert, wobei der Zugriff einzelnen Personen, Rollen oder Gruppen gewährt werden kann.

Fazit
„eGroupWare“ verfügt als einziges System über kein ausgereiftes Dokumentemanagementsystem mit Zugriffsberechtigungen und erweiterten Suchfunktionalitäten, bietet dafür ein Wiki an. Alle Systeme bieten erweiterte Funktionalitäten an und eignen sich für die strukturierte Ablage von Dokumenten.

5.4. Projektmanagement
Für die Untersuchung im Bereich des Projektmanagement zählen Funktionalitäten zur Planung und Ausführung eines Projekts. Funktionen wie Kalender, Ressourcen- und Aufgabenverwaltung gelten als minimaler Standard. Als erweiterte Funktionen gelten Hierarchien der Arbeitspakete (z.B. Taskverwaltung) und visuelle Darstellungen von Plänen. Die genauen Anforderungen sind in Kapitel 4.4 definiert. 68

5.4. Projektmanagement

PHProject
„PHProject“ zeichnet sich durch eine sehr gut strukturierte und umfangreiche Funktionalität für die Verwaltung von Projekten aus. Projekte und Aufgaben können Personen oder Gruppen zugewiesen und die Aufgabenpakete hierarchisch strukturiert werden. Für ein Projekt steht eine Vielzahl von Merkmalen zur Verfügung. Zur Nachverfolgung des aktuellen Projektfortschritts stehen die Verwaltung von Meilensteinen und Gantt-Charts bereit. Für den Ablauf können Workflows definiert werden, welche die Arbeitsschritte der Benutzer begleitet. Der Kalender, welcher auch als Gruppenkalender benutzt werden kann, prüft automatisch auf Terminkollisionen und unterbreitet Alternativvorschläge.

Open Xchange
„Open-Xchange“ verfügt über einen sehr ausgereiften Kalender und über eine Aufgabenverwaltung. Weitere Funktionen sind in der frei verfügbaren Version nicht vorhanden. Die kommerzielle Version verfügt über eine Projektmanagement-Funktionalität zur Überwachung des Projektstands, der Meilensteine und der Zuteilung von Aufgaben an Mitarbeiter.

eGroupWare
In „eGroupWare“ können Projekte angelegt und nachverfolgt werden. Gantt-Charts werden automatisch aus der Projektdefinition erstellt. Über den Stundenzettel können Arbeitsstunden direkt auf das Projekt gebucht werden. Über die gesamten Informationen steht ein CSV Export und eine übersichtliche Druckfunktion zur Verfügung. Für die Terminverwaltung stehen persönliche und Gruppenkalender mit verschiedenen Darstellungsoptionen bereit. Weitere Mitglieder oder Gruppen können zu einem Termin eingeladen und Dokumente angehängt werden. Auch wiederholte Termine sind möglich. Integriert ist eine automatische Überprüfung auf Terminkollisionen.

Simple Groupware
Projekte können bei „Simple Groupware“ mit umfangreichen Informationen angelegt werden. Ebenso stehen ein Kalender für die Verwaltung der Termine und ein Ressourcenplaner zur Verfügung. Eine Aufgabenverwaltung ist nicht vorhanden, daher eignet sich die Plattform nicht für die Zuweisung von Tasks, es können jedoch Stunden auf Projekte gebucht werden.

IGSuite
Die „IGSuite“ fokussiert auf Kundenmanagement und bietet dazu eine umfassende Ablagemöglichkeit von Informationen und Dokumenten. Klassische Projektmanagement-Funktionen fehlen. So können keine eigenen Projekte und projektspezifische Aufgaben erstellt werden. Dafür ist ein übersichtlicher Kalender die Verwaltung von Ressourcen verfügbar.

Plone
Ein Termin ist in „Plone“ ein Artikel und verfügt somit über alle bekannten Funktionalitäten für Inhalte. Weitere Mitglieder können jedoch nicht eingeladen werden. Der Hinweis auf einen Termin kann aber an andere Benutzer oder Gruppen versendet werden. Zur Integration in eine lokale Agenda können Termine als vcs-Datei geöffnet werden. Des Weiteren bietet „Plone“ selbst keine Unterstützung für 69

5. Tool-Evaluation Projektmanagement, dafür steht aber eine kostenlose Erweiterung namens „eXtreme Management“ zur Verfügung, welches den Prozess eines XP-Projektes abbildet. Dadurch können Projekte definiert, Tasks erstellt und an Projektmitglieder delegiert werden. Ebenso können Stunden erfasst und dadurch der Projektfortschritt mitverfolgt werden.

Fazit

Im Bereich des Projektmanagements schneiden „PHProject“, „eGroupware“ und „Open Xchange“ (jedoch nur in der kostenpflichtigen Version) mit erweiterten Anforderungen am besten ab. „IGSuite“, „Simple Groupware“ und „Plone“ verfügen über den minimalen Standard. Durch Produkte von Drittanbietern, welche bei „Plone“ installiert werden können, bietet es die erweiterten Anforderungen an.

5.5. File Sharing
File Sharing-Tools unterstützen den Benutzer bei der Verteilung und Nutzung von gemeinsamen Daten. Sie können zusätzlich zu einer Projektmanagement-Software und als Backup-Funktion genutzt werden. Alle der drei vorgestellten Tools befinden sich noch im Beta-Stadium, können jedoch bereits aktiv genutzt werden. Dropbox Lizenz Kapazität Plattform Abhängigkeit Registrierung Speicherort lokal Einstellung Synchronisation Integration Kontextmenü Versionierung Speziell Private Beta 2GB Win/Mac Private Beta „My Dropbox“ Ordner Automatisch ganzer Ordnerinhalt nur innerhalb „My Dropbox“-Menü x History Syncplicity Beta: unlimitiert Nachher: 2GB .NET Framework 3.0 Frei individuell File Browser „Share“ und „Add“Funktion x Verknüpfung von GoogleDocs und iPaper FolderShare Freeware 2GB Win/Mac Windows LiveID individuell Online oder lokal Integration in Microsoft Dienste

Tabelle 5.1.: Vergleich von File Sharing Tools

Alle Tools laufen im Hintergrund und synchronisieren die verteilten Ordner bei bestehender Internetverbindung. Nebst dem lokalen Ordner befindet sich der komplette Inhalt auch auf dem Repository. Eine kommerzielle Nutzung ist auch nach der Beta-Phase vorgesehen, es bleibt abzuwarten, ob die Dienste dann weiterhin kostenlos zur Verfügung stehen. 70

5.5. File Sharing

5.5.1. Dropbox
Dropbox5 ist eine frei verfügbare Software im Private Beta-Stadium für die verteilte Nutzung von Dateien. Die Installationsdatei für Windows oder Mac ist ca. 7MB gross. Nach der Installation werden alle Dateien im Ordner <EIGENE_DATEIEN>/My Dropbox synchronisiert. Ein bestehender Ordner kann über das Webinterface mit weiteren Benutzern geteilt werden. Hierfür kann die Einladung an eine beliebige Mail-Adresse versendet werden.

Abbildung 5.3.: Online Ordner History von Dropbox

Ein grosser Vorteil von Dropbox ist die History und Versionierung. Während lokal die aktuellsten Versionen der Dateien gespeichert werden, können über das Webinterface auch ältere Dateiversionen heruntergeladen werden. Dropbox fungiert hier als Online-Repository. Die Versionierungsfunktion ist einer der Stärken von Dropbox und beschleunigt das Abgleichen der Dateien, da nur die Dateiveränderung hochgeladen werden muss. Über die History können die neusten Veränderungen schnell nachverfolgt werden.

Abbildung 5.4.: Online Versionierung von Dropbox

Im Internet Explorer wird der aktuelle Status der Dateien angezeigt, wobei zwei weisse Pfeile auf blauem Hintergrund bedeuten, dass der Ordner oder die Datei sich noch in der Synchronisation befindet.

5

www.getdropbox.com

71

5. Tool-Evaluation

Abbildung 5.5.: Lokale Ordner-Markierung von Dropbox

5.5.2. Syncplicity
Syncplicity6 liegt aktuell im Beta-Stadium vor. Für die Installation der 2.2MB grossen Datei wird das .NET Framework 3.0 benötigt. Lokale Ordner können bei Syncplicity über das Kontextmenü oder den integrierten File Browser registriert werden. Bei der Einladung weiterer Benutzer können für die Ordner Lese- und/oder Schreibrechten gesetzt werden. Die lokale Installation bietet einen eigenen File Browser für die Verwaltung aller freigegebenen Dateien.

Abbildung 5.6.: Online File Browser von Syncplicity

Obwohl die aktuelle Version bereits stabil läuft, sind viele der verfügbaren Funktionen noch schwer zu gebrauchen. Beispielsweise kann der lokale File Browser nur genutzt werden, wenn eine Verbindung zum Server besteht. Ohne verfügbare Internetverbindung ist es somit nicht möglich, Administrationsaufgaben auszuführen. Im Beta-Stadium sind der Datentransfer und der verfügbare Speicherplatz unbeschränkt. Danach wird er auf 2GB und 2 Computer limitiert. Syncplicity stellt auch ein Modell für die kommerzielle Nutzung zur
6

www.syncplicity.com

72

5.5. File Sharing Verfügung. Hierbei können für 99$ pro Jahr total 40GB Datenspeicher und unlimitierte Computer konfiguriert werden. Mit zusätzlichem Versand von Einladungen an Freunde können pro Annahme weitere 250MB freigeschaltet werden, dies bis zu 10GB zusätzlich.

Abbildung 5.7.: Ordner Kennzeichnung mit Syncplicity Wie auch bei Dropbox werden die in der Synchronisation eingeschlossenen Ordner durch ein Symbol markiert (siehe Abbildung 5.7). Die abgeglichen Dateien erhalten durch einen grünen Haken eine entsprechende Kennzeichnung (siehe Abbildung 5.8). Die Kennzeichnung ist nur im Online-Modus verfügbar.

Abbildung 5.8.: Lokale Datei-Markierung von Syncplicity Hervorzuheben ist die gute Navigation durch einen intuitiven Browser im Webinterface. Der lokale und der Online File-Browser sind die Stärken von Syncplicity. Ebenso ist Online eine Versionierung aller Dateien abzurufen, um Zugriff auf ältere Dateien zu erhalten (siehe Abbildung 5.9). Dem gegenüber lässt das Benutzermanagement in der aktuellen Version noch zu wünschen übrig.

Abbildung 5.9.: Online Versionierung von Syncplicity Als einziges untersuchtes Tool bietet Syncplicity eine Schnittstelle zu Produkten von Drittanbietern. Darunter hervorzuheben sind GoogleDocs, Scribd, Zoho und picnik. Über GoogleDocs können Dokumente aus dem Repository von GoogleDocs durch hinterlegen der Anmeldedaten im Webinterface hinzugefügt werden. Die Dateien werden danach in das File Repository 73

5. Tool-Evaluation von Syncplicity hinzugefügt und bei der Synchronisation lokal gespeichert. Eine gute Möglichkeit, alle Dateien aus GoogleDocs auch im Offline-Modus verfügbar zu machen. Für die Ansicht und Bearbeitung von Dateien stehen Scribd, Zoho und picnik zur Verfügung. Über das Kontextmenü können alle synchronisierten Dateien online mit Scribd betrachtet werden. PDFs, Word, Excel, PowerPoint, Bilder und Text-Dateien können in ein iPaper konvertiert und wie ein Buch durchgeblättert werden. Für das Editieren von Dateien stehen Zoho für Dokumente und picnik für Bilder zur Verfügung. Nach dem Bearbeiten werden die Dateien wieder zurück ins Repository von Syncplicity gespeichert und bei der nächsten Synchronisation lokal heruntergeladen.

5.5.3. Windows Live FolderShare
FolderShare7 ist nicht nur eine Synchronisationssoftware, sondern vereinfacht den Zugriff auf verteilte Daten und bietet zusätzlich Remote-Verbindungen. Benötigt man ein Dokument, welches auf einem anderen Rechner liegt, so kann man mit FolderShare jederzeit darauf zugreifen. Somit kann man zum Beispiel ein gespiegeltes Abbild wichtiger Dateien auf mehreren Computern erzeugen. Die Synchronisierung erfolgt hierbei automatisch oder auf Anfrage, sobald die Datei benötigt wird.

Abbildung 5.10.: Online Ordner-Administration von FolderShare

Dateien werden online auf dem Server von FolderShare gespeichert. Kostenlos stehen 2GB Datenplatz zur Verfügung. Hat man einen persönlichen Ordner eingerichtet, so kann man diesen mit weiteren Benutzern teilen. Hierfür wird eine Einladung an die betreffende LiveID versendet. FolderShare bietet sogar ein Benutzerberechtigungssystem mit folgenden Berechtigungen: Leser können Dateien in der Bibliothek anzeigen, jedoch keine Dateien hinzufügen oder ändern. Mitwirkende können Dateien anzeigen und hinzufügen, jedoch nicht ändern oder löschen. Editoren können Dateien in dieser Bibliothek anzeigen, ändern, löschen und zu ihr hinzufügen. Verwalter haben die gleichen Möglichkeiten wie Editoren und können ausserdem Bibliotheksberechtigungen ändern.
7

www.foldershare.com

74

5.6. Microsoft Produkte und Alternativen FolderShare kann auch als Remoteverbindungs-Tool verwendet werden, um von jedem mit dem Internet verbundenen Computer auf alle eigenen Dateien zugreifen zu können. Für die Benützung von Windows Live FolderShare wird eine Windows LiveID benötigt. Nach der Installation der Software (Grösse ca. 1MB) unter Windows oder Mac, können persönliche Bibliotheken erstellt werden. Eine Bibliothek entspricht einem lokalen Ordnern sowie allen darin enthaltenen Unterordner und Dateien. Werden weitere Benutzer dazu eingeladen, so können diese den Inhalt des freigegebenen Ordners lokal an einem beliebigen Ort hinzufügen. FolderShare steht in verschiedenen Sprachen zur Verfügung, darunter auch als deutsche Version.

5.6. Microsoft Produkte und Alternativen
Microsoft ist als Hersteller von Software im Bereich von Office- und Server-Anwendungen im privaten wie kommerziellen Bereich stark verbreitet. Sie stellen auch Produkte im Bereich der Zusammenarbeit und des Projektmanagements zur Verfügung. Alle diese Produkte sind weder frei verfügbar noch legen Sie den Quellcode offen. Zur Vervollständigung der Auflistung von verfügbaren Softwaretools werden im Folgenden drei Produkte von Microsoft auf deren Eignung in den Bereichen Kommunikation/Zusammenarbeit, Informations-/Datenmanagement und Projektmanagement untersucht.

5.6.1. Kommunikation und Zusammenarbeit
„Groove“ ist ein neues Produkt in der Office-Reihe, welches in den Office-Produkten Ultimate 2007 und Enterprise 2007 enthalten ist. Es wird von Microsoft als Kollaborationssoftware angepriesen, damit Teams dynamisch in kollaborativen Arbeitsbereichen zusammenarbeiten können, und dies von verschiedenen Standorten aus. 5.6.1.1. Office Groove 2007 Die Groove-Technologie macht es möglich dass die einzelnen Client-Rechner untereinander kommunizieren, und über eine sichere Internet-Verbindung Daten austauschen können8 . Nebst dem Stammbereich können weitere Tools integriert und auf das einzelne Projekt zugeschnitten werden. Groove steht auch als Server-Version für den Einsatz innerhalb eines Unternehmens bereit und kann vollständig und mit verhältnismässig wenig Aufwand in eine Microsoft-Server-Umgebung integriert werden. Es ist für die Zusammenarbeit mit Microsoft SharePoint vorbereitet. Groove deckt in der Office-Version standardmässig viele gängige Funktionalitäten ab. Weitere können selbst mit dem Formulareditor hinzugefügt werden, welcher JavaScript, VBScript und Makros unterstützt. Fazit Mit Office Groove versucht Microsoft, im Bereich der Kollaborationssoftware Fuss zu fassen, welches jedoch noch in den Kinderschuhen steckt. Es sind gute Ansätze vorhanden, man setzt auf bewährte Technologien und erlaubt es dem Benutzer, mittels des Formulareditors individuelle Erweiterungen hinzuzufügen. Die einzelnen Komponenten von Groove sind jedoch noch nicht so ausgereift. Zum Beispiel kann man keine ganzen Ordnerstrukturen importieren und diese einem Projekt anfügen. Ebenso
8

Office2007 Blog (2008)

75

5. Tool-Evaluation werden nicht genügend Projektmanagementfunktionen abgedeckt. Was die Kommunikation betrifft, so werden nur wenige Kanäle bereitgestellt. Kontaktmanagement, Forum, Mailinglisten und Umfragen fehlen. Dafür deckt es auch einige Punkte aus dem Daten- und Projektmanagement ab. 5.6.1.2. Alternative zu Groove Wenn man genau betrachtet, wofür Groove genutzt werden kann, so fallen die Bereiche Kommunikation, Datenaustausch und Informationsspeicherung auf. Die im Kapitel 5.1 gelisteten Produkte, insbesondere die genauer untersuchten „Open-Xchange“, „eGroupWare“, „Simple Groupware“ und „Plone“, decken zu einem grossen Teil dieselben Funktionen ab. Sie verfügen in gleicher oder ähnlicher Form über ein Benutzermanagement mit unterschiedlichen Rollen, eine Dokumenteverwaltung, Kommunikation und ein Aufgaben-, Ressourcen- und Kostenmanagement. Dadurch, dass sie frei verfügbar und ihr Quellcode offen ist, können sie zudem frei angepasst und erweitert werden.

5.6.2. Informations- und Datenmanagement
„Windows SharePoint Services“ stellt eine robuste, erweiterbare Plattform bereit, welche gleichzeitig umfangreiche Funktionalitäten bietet, um Teams die Zusammenarbeit und Kommunikation zu erleichtern. Durch umfangreiche Listen werden Dokumente und Informationen geteilt. 5.6.2.1. Microsoft Windows SharePoint Services (WSS) Obwohl „WSS“ mehr bietet als nur Datenmanagement, möchte ich hier nur auf diesen Aspekt eingehen (siehe auch das offizielle Datenblatt von Microsoft im Anhang D.8). „WSS“ ist nicht zu verwechseln mit MOSS („Microsoft Office SharePoint Server“). „WSS“ bietet veränder- und anpassbare Listenansichten von Aufgaben, Dateien und weiteren Informationen. Es ist eine Webanwendung, welche asynchrone Kommunikation unterstützt. „WSS“ bietet als grosses Plus eine vollständige Integration in die Microsoft-Anwendungen. Dokumente können geöffnet und wieder abgelegt werden, Listen können in „Excel“ oder „Access“ bearbeitet werden und Kontaktdaten sind in „Outlook“ verfügbar. Für die Betreibung muss das Betriebssystem Windows Server 2003 mit ASP.NET und der Internet Information Services (IIS) vorhanden sein. Als Datenbank wird die SQL Server Desktop Engine (MSDE 2000) verwendet. Mitgeliefert wird der WMSDE SQL Server, der jedoch keine Replikation und Volltextsuche unterstützt. Wie es sich für Microsoft gehört, wird als Browser nur der Internet Explorer unterstützt, weitere Browser wie Firefox, Safari und Opera stellen die Webanwendung ebenfalls korrekt dar und verfügen seit „WSS“ Version 3 über Basisfunktionen. Wird für die Bearbeitung der OfficeDokumente die aktuelle Office-Version 2007 verwendet, so bietet „WSS“ eine Vielzahl von Zusatzfunktionen.

Fazit Windows SharePoint Services ist eine flexible Technologie, mit der Organisationen und Geschäftseinheiten aller Grössen die Effizienz von Geschäftsprozessen und die Teamproduktivität steigern können. 76

5.6. Microsoft Produkte und Alternativen Windows SharePoint Services ermöglicht den Zugriff auf wichtige Informationen, indem Tools für die Zusammenarbeit über Organisations- und Ländergrenzen hinweg zur Verfügung gestellt werden9 . Windows SharePoint Services basiert auf Microsoft Windows Server 2003 und bietet eine gemeinsame Plattform zum Erstellen von webbasierten Geschäftsanwendungen, die einfach angepasst werden können, um den sich ändernden und wachsenden Bedürfnissen von Unternehmen gerecht zu werden10 . 5.6.2.2. Alternative zu Sharepoint Betrachtet man bei „Sharepoint“ den Bereich des Datenmanagements, so bietet sich für den Austausch von Daten alternativ ein File Sharing-Tool aus Kapitel 5.5 an. Fasst man die zentralen Gedanken hinter „WSS“ zusammen, so kommt man auf folgende Punkte:

• Zentrale Organisation der Dateien • Speicherort der Dateien auf einem Server, dadurch Aktualisierung in Echtzeit • Regelung der Zugriffe über Benutzerverwaltung • Benachrichtigung über veränderte Daten per Mail an ausgewählte Benutzer
All diese Aspekte können mit einem geeigneten File Sharing-Tool ebenfalls berücksichtigt werden. Die Synchronisation der Daten, die zentrale Verwaltung und das Zugriffsmanagement sind in den in Kapitel 5.5.1, 5.5.2 und 5.5.3 beschriebenen Tools ebenfalls vorhanden.

5.6.3. Projektmanagement
„Project“ von Microsoft ist das Standard-Tool für Projektleiter. Es besticht durch schnelle Bedienung und umfangreiche Reportmöglichkeiten, um die Arbeit des Projektleiters zu automatisieren und somit zu erleichtern. 5.6.3.1. Microsoft Project „Project“ ist ein Projektmanagementtool, verfügbar in zwei Versionen. Die Standard-Version kann StandAlone auf einem Client genutzt werden, die Professional-Version wird benötigt, um an eine ProjectServer-Umgebungen angebunden zu werden. Wir beschränken uns hier auf die Standard-Version ohne Verbindungen zu einem Server. „Project“ fokussiert auf das Management von Terminen und Ressourcen, die Projektüberwachung und Berichterstattung. Die zu erledigenden Arbeiten werden als Vorgänge bezeichnet, wobei ein Vorgang eine Arbeitseinheit oder eine Paket von Vorgängen darstellen kann. Ein Vorgang verfügt über mehrere Eigenschaften, darunter Anfang- und Endtermin, Dauer, Priorität, Status in %, Vorgänger, Ressourcen, Einschränkungen und frei definierbare Felder. Die erstellten Vorgänge können als Balkendiagramm (siehe Abbildung 5.11) oder als Netzplandiagramm dargestellt werden. Im Gantt-Chart können die Beschriftungen gewählt und die Balken unterschiedlich eingefärbt werden, um Zugehörigkeiten darzustellen. Durch die Ressourcenzuweisung wird automatisch ein Ressourcen Einsatz-Bericht und eine Grafik dazu erstellt. Mit den Informationen zu Vorgängen und Ressourcen können 24 vordefinierte Ansichten erstellt werden. Zudem stehen 22 grafische Berichte bereit, welche die Informationen in „MS Visio“ oder
9 10

http://www.microsoft.com http://www.microsoft.com

77

5. Tool-Evaluation

Abbildung 5.11.: Arbeitsbereich mit Vorgängen und Gantt-Diagramm in „MS Project 2007“

78

5.6. Microsoft Produkte und Alternativen „MS Excel“ exportieren. Durch die Zuweisung von personellen Ressourcen zu Vorgängen können auch die Kosten überwacht werden. Fazit Project“ ist ein umfangreiches Projektmanagement-Tool für die Verwaltung von Arbeitspaketen, Ressourcen, Terminen und Kosten. Durch die Integration in die Microsoft Office-Familie können umfangreiche Reports automatisch erstellt und weiterverarbeitet werden. Die Planung mit „Project“ eignet sich für kleine wie auch für grosse und komplexe Projekte, da ein Projekt schnell eingerichtet und die Anwendung gut skalierbar ist. 5.6.3.2. Open Workbench

Abbildung 5.12.: Ansicht der importierten XML-Datei aus „MS Project 2007“ Im Gegensatz zu „Groove“ und „Sharepoint“ deckt keine der bisher genannten frei verfügbaren Tools den Bereich von „Microsoft Project“ ab. „Open Workbench“11 ist eine OpenSource Projektplanungs- und Projektmanagement-Software als Alternative zu Microsoft „Project“. Es unterstützt in der Projektplanung Gantt-Diagramme, Vorgangserstellung, Abhängigkeiten von Vorgängen, Ressourcenzuweisung, Kalenderverwaltung für spezielle Ferien- und Abwesenheitszeiten und Grundlinienerstellung sowie in der Projektverfolgung Aufzeichnung erwarteter Vorgänge, Aufzeichnung aktueller Vorgangsdaten und die Darstellung des aktuellen Projektstands in Prozent. Bereits der Arbeitsbereich hat eine grosse Ähnlichkeit mit dem Produkt von Microsoft. Werden „MS Project“-Dateien im XML-Format gespeichert, so können diese mit „Open Workbench“ geöffnet wer11

www.openworkbench.org

79

5. Tool-Evaluation den. Abbildung 5.12 zeigt die gleiche Datei wie in Abbildung 5.11 durch die Übertragung der XMLDatei, welche über rund 6’500 Zeilen verfügt. Vorgänge, Ressourcen, Abhängigkeiten und Termine werden übergeben. Der XML-Export ist jedoch nicht geeignet, um das Projekt mit beiden Systemen zu betreiben, da dennoch Informationen verloren gehen. Fazit „Open Workbench“ ist eine starke Alternative in der Planung von Projekten und Ressourcen, verfügt jedoch in der Berichterstattung nur über begrenzte Funktionalitäten. Wer an die umfangreichen Templates und Berichte aus „Project“ gewöhnt ist, wird hier enttäuscht werden. „Open Workbench“ deckt in der aktuellen Version 1.1.6 die meisten der benötigten Planungsvorgänge ab, hat aber keine Schnittstelle zu externen Programmen.

5.7. Produktentwicklung
Für den Bereich der Produktentwicklung im engeren Sinne, also die Implementierung des Codes selbst, können eine Reihe unterschiedlicher Tools benutzt werden. Diese stellen dem Entwickler eine Vielzahl von Unterstützungsmöglichkeiten und Dienste bereit, um die verteilte Produktentwicklung zu begleiten. Das einfachste Tool ist ein Editor, welcher im Minimum über Codevervollständigung und Syntaxhervorhebung verfügt. Integriert sind auch die Standardfunktionen wie Suchen/Ersetzen und diverse Darstellungsund Formatierungsoptionen. Etwas umfangreichere Editoren verfügen zusätzlich über weitere Dienste für die schnelle und fehlerfreie Codeentwicklung. Dem gegenüber stehen Entwicklungstools, welche nebst dem Erstellen von Code auch die Steuerung von Applikationsservern, Debugging und Compilieren sowie das Entwickeln im Team unterstützen. Für diese sogenannten IDEs (Integrated Development Environments) stehen meist auch Module zur Erweiterung bereit. Der folgenden Tabellen gehen auf die Anforderungen an eine IDE ein und stellen vier IDEs für Python in den Bereichen Editing und Debugging gegenüber. Danach folgt die genauere Untersuchung drei dieser IDEs.

5.7.1. Eclipse IDE mit PyDev

Abbildung 5.13.: Code-Vervollständigung in PyDev 80

5.7. Produktentwicklung

Editing Syntax Fehler Tastatur Makros Tastenkürzel Tab Hilfe Automatisches Einrücken Code Vervollständigung Aufrufs-hinweise Sprung zu Definition Templates Code Kontrolle

PyDev Ja Nein Ja Nein Ja Bescheiden Ja Ja Ja Ja (Eclipse)

SPE Ja Nein Ja Ja Ja Schlecht Ja Ja Nein Nein

Komodo Ja Ja Ja Ja Ja Gut Ja Nein Ja CVS, SVN

Wing IDE Ja Ja Ja Ja Ja Hervorragend Ja Ja Ja CVS, SVN

Perforce,

Perforce,

Tabelle 5.2.: Python IDE Übersicht Editing-Funktionen nach Ellis (2006)

Debugger Breakpoints Integrierte Konsole Debug externer Programme

PyDev Ja Ja Ja

SPE Ja (via winpdb) Ja Ja

Komodo Ja Ja Ja

Wing IDE Ja Ja Ja

Tabelle 5.3.: Python IDE Übersicht Debugger-Funktionen nach Ellis (2006)

Diverses GUI Builder Emulation Dokumentation Memory Weiteres

PyDev Nein Emacs Schwach 150MB Code Analyse Refactoring

SPE Ja (via WxGlade) Nein Bescheiden 10MB UML Diagramme PyChecker Integration

Komodo Ja Emacs Hervorragend 50MB Mehrsprachig RegEx Builder

Wing IDE Nein Emacs Gut 50MB Scriptable Python

mit

Tabelle 5.4.: Python IDE Übersicht Diverse Funktionen nach Ellis (2006)

81

5. Tool-Evaluation PyDev ist ein Plugin für Eclipse für die Unterstützung von Python-Projekte. Das Plugin wird über „Help > Software Updates > Find and Install“ mit der Remote Site http://pydev.sourceforge.net/updates/ automatisch installiert. In den Einstellungen kann danach der Python Interpreter ausgewählt werden, für die Programmierung steht auch eine eigene Python Perspektive zur Verfügung.

Abbildung 5.14.: Syntax-Hervorhebung und Navigator in PyDev PyDev unterstützt den Entwickler und vereinfacht die Implementierung. Nebst Syntax-Highlighting und Code-Vervollständigung werden fehlerhafte Codesegmente markiert sowie Warnung ausgegeben (zum Beispiel nicht verwendete Importe und Variablen). Auch das Debugging hilft bei der Suche nach Fehlern. Zudem können alle Funktionen und Erweiterungen aus Eclipse genutzt werden. Für die Versionskontrolle seien hier „Subversion“ und „CVS“ genannt, welche gewohnt zur Verfügung stehen und auch mit Python-Projekten einwandfrei funktionieren. Fazit Da „PyDev“ als Plugin in „Eclipse“ funktioniert, ist die Lernkurve für Entwickler, welche sich nicht mit „Eclipse“ auskennen, hoch. Der Einsatz lohnt sich daher nur für komplexere Projekte oder für Entwickler mit Erfahrung im Umgang mit „Eclipse“. In Anbetracht dessen, dass „Eclipse“ zu einem Standardwerkzeug für Entwickler gehört und die Weiterentwicklung von „PyDev“ daher als sehr zukunftsträchtig erachtet werden kann, ist dieses Tool bestimmt eine gute Wahl. „PyDev“ ist, im Gegensatz zu den folgenden IDEs, nicht in Python, sondern in Java geschrieben. Eine Übersicht über die Haupt-Features von „PyDev“ gemäss der Projekthomepage befindet sich im Anhang D.10.

5.7.2. WingIde

Abbildung 5.15.: Code-Vervollständigung in Wing IDE WingIde wird von der Firma Wingware12 entwickelt und kommerziell vertrieben. Die frei verfügbare
12

http://www.wingware.com

82

5.7. Produktentwicklung „WingIDE 101“ kommt ohne Lizenz aus und kann auf der Homepage des Herstellers als Installationspaket bezogen werden. Eine detaillierte Beschreibung der Funktionen befindet sich im Anhang D.11.

Abbildung 5.16.: Syntax Hervorhebung und Tabs in Wing IDE Der Editor verfügt über eine schnelle Code-Vervollständigung, aber leider über keine Metainformationen (Klasse, Variable, Konstante, . . . ), wie man es sich aus „Eclipse“ gewohnt ist. Die Hervorhebung der Syntax stellt den Code übersichtlich dar. Ganze Code-Fragmente lassen sich bei vielen Codezeilen einund ausklappen. Eine nützliche Funktion sind die automatischen Tabs, welche während der Programmierung erstellt werden. Sie enthalten Klassen und Funktionen und ermöglichen einen raschen Zugriff darauf. „Wing IDE“ unterstützt die verteilte Entwicklung mit CVS, Subversion und Perforce SCM. Fazit „Wing IDE“ ist ein mächtiges Entwicklungswerkzeug für Python-Programmierer mit Stärken in der CodeVervollständigung und dem Debugging. Für Neueinsteiger existiert gutes Informationsmaterial13 , damit man sich schnell zurecht findet. Der grosse Nachteil ist die Lizenzierung, da einige interessante Features der kostenpflichtigen kommerziellen Version vorbehalten sind14 .

5.7.3. Komodo Edit

Abbildung 5.17.: Code-Vervollständigung in Komodo-Edit „Komodo Edit“ bietet mehr als ein reiner Editor. Es ist intuitiv zu bedienen und besticht durch ein angenehmes Look and Feel. Es verfügt über eine Code-Vervollständigung mit Metainformation und dezente Code-Hervorhebung. Es unterstützt eine Vielzahl verschiedener Sprachen, darunter JavaScript, Perl, PHP, Python, Ruby, Tcl, HTML und diverse XML-Formate. Wie „Wing IDE“ unterstützt „Komodo Edit“ die verteilte Entwicklung mit CVS, Subversion und Perforce SCM, jedoch nur in der kostenpflichtige Version.
13 14

http://wingware.com/pub/wingide-personal/2.1.4/doc http://www.wingware.com/wingide/features

83

5. Tool-Evaluation

Abbildung 5.18.: Code-Hervorhebung in Komodo Edit

Fazit „Komodo Edit“ ist ein einfach zu bedienendes Tool mit einer breiten Unterstützung von diversen Programmiersprachen. Es eignet sich optimal für kleine und mittlere Projekte, da schnell produktiv gearbeitet werden kann.

84

6. Software Plattform
Um mit „Plone“ arbeiten zu können, braucht man nicht zwingend Kenntnisse über den Applikationsserver oder die Programmiersprache. Für die Konfiguration stellt „Plone“ eine eigene Konfigurationsoberfläche bereit, über welche jedoch nicht alle Anpassungen gemacht werden können. Hierfür verfügt der Applikationsserver über das so genannte „Zope Management Interface“. Für eigenen Erweiterungen wird die Programmiersprache „Python“ benötigt. Das vorliegende Kapitel gibt eine kurze Einführung in „Python“ und „Zope“, und stellt zum Abschluss das CMS „Plone“ vor.

6.1. Programmiersprache Python

Python wurde 1990 von Guido van Rossum in Amsterdam als Programmier-Lehrsprache entwickelt. Der Fokus lag hierbei auf einer leicht zu erlernenden und übersichtlichen Sprache. Durch den grossen Funktionsumfang wurde Python bald in der Entwicklung von grösseren Systemen eingesetzt. Python vereinfacht es, gut lesbaren und wiedervewendbaren Code zu schreiben. Sie wurde absichtlich zur Verbesserung der Entwicklungsqualität in der Skript-Welt entworfen. Python ist eine Very-High-Level Language (VHLL) und benutzt somit ein höheres Level an Abstraktion als beispielsweise C++ (Martelli, 2006).

6.1.1. Vorteile von Python
Die wichtigsten Gründe für die Benutzung von Python sind Qualität, Produktivität, Portabilität und Integration.(Lutz, 2006) Software Qualität: Pythons klare Syntax und das kohärente Design bringt Programmierer dazu, gut lesbaren Code zu schreiben, ein kritisches Feature für Softwarecode, welcher zukünftig verändert und weiterentwickelt werden muss. Die Sprache wurde von Grund auf designt und hat ein orthogonales und klares Design, um Code schnell zu verstehen und leicht vorauszusagen. Der Kern der Sprache wurde einfach gehalten und kann durch modular aufgebaut Libraries erweitert werden. Die Einschränkung der möglichen Beeinflussung im Code reduziert die Programmkomplexität wie auch das Fehlerpotential. Ebenso kann Python die modernen Methoden der Softwareentwicklung abbilden, strukturierte, modulare wie auch objektorientierte Programmierung sind möglich. 85

6. Software Plattform Produktivität: Mit Python kann die Anzahl Codierzeilen in einem Programm deutlich verkürzt werden, da der Interpreter sich um viele Details kümmert, welche in andere Sprachen expliziet auscodiert werden müssen. Auch die Wiederverwendbarkeit von Codefragmenten ist aufgrund der fehlenden Abhängigkeit des Codes von der Typdefinition des Objektes gewährleistet, denn es kann einaml geschriebener Implementations-Code auf weitere Typen angewendet werden, wenn diese daselbe Interface implementieren. Ein weiterer Grund für die Produktivität von Python ist die Einfachheit der Struktur des Codes. Durch die minimierte Anzahl Codezeilen wird der Code übersichtlicher und somit leserlicher für Programmierer, welche bestehenden Code überarbeiten und weiterentwickeln müssen. Diese können sich schneller einarbeiten und werden somit auch schneller produktiv. Portabilität: Programme, welche in Python geschrieben wurde, sind auf unterschiedlichen Plattformen lauffähig. Somit kann ein Code, der auf einer Windows-Installation geschrieben wurde, ohne Änderungen direkt auf einem Linux-Rechner, auf einem Macintosh oder einem PDA in Betrieb genommen werden.

6.1.2. Grundlagen
Python ist eine imperative Programmiersprache, mit welcher objektorientiert wie auch funktional programmiert werden kann. Wie Java, wir der Programmiercode durch einen Compiler in Byte-Code übersetzt, welcher danach im Python-Interpreter ausgeführt wird. Der entstandene Byte-Code ist plattformunabhängig und unterstützt insbesondere die Betriebssysteme Windows, Linux und Mac OS X. Im Lieferumfang von Python ist nebst dem Interpreter und dem Compiler eine umfangreiche Standardbibliothek vorhanden, welche es dem Programmierer erlaubt, schnell komplexe Aufgaben zu lösen. Interner Ablauf Python kann als interpretierte Programmiersprache in einer beliebigen Entwicklungsumgebung geschrieben werden und mit jedem Texteditor geöffnet werden. Die Endung einer Python-Datei ist *.py. Der Compiler übersetzt danach die Programmdatei in Byte-Code, der entweder im Arbeitsspeicher bleibt oder als ausführbarer Code mit der Endung *.pyc auf die Festplatte geschrieben wird. Der übersetzte Byte-Code wird danach in einer virtual machine, dem sogenannten Interpreter, ausgeführt. Abbildung 6.1 zeigt das Kompilieren und Ausführen einer Programmdatei.

Abbildung 6.1.: Ablauf einer Programmdatei

Ausführung in der Kommandozeile Python kann über die Kommandozeile im sogenannten interaktiven Modus ausgeführt werden. Nach der Eingabeaufforderung »> des Interpreters kann beliebiger Code eingegeben werden. Abbildung 6.2 zeigt die Kommandozeile unter Windows. 86

6.1. Programmiersprache Python

Abbildung 6.2.: Eingabeaufforderung in der Kommandozeile

6.1.3. Konzept und Syntax
Die gute Lesbarkeit von Python ist zu einem grossen Teil der strengen Syntax zu verdanken. Eine Anweisung besteht im einfachsten Fall aus einer Zeile. Das Ende der Anweisung wird mit einem Zeilenumbruch gekennzeichnet. Anweisungen, welche sich in einen Kopf und einen Körper unterteilen lassen, werden durch Doppelpunkt am Ende des Anweisungskopfs und Einrückung des Anweisungskörpers um 4 Leerzeichen festgelegt. Eine Kennzeichnung eines Körpers durch geschweifte Klammer {...}, wie bei vielen Programmiersprachen üblich, existiert in Python nicht.

Abbildung 6.3.: Anweisungen in Python

Fallunterscheidungen Fallunterscheidungen sind Konstrukte, welche dazu dienen, einen Anweisungsblock unter bestimmten Bedingungen ausführen zu lassen. Ein Fallunterscheidungs-Block beginnt immer mit dem Schlüsselwort if. Weitere Unterscheidungen können durch elif erzeugt werden. Eine Default-Anweisung wird durch das Schlüsselwort else eingeleitet.

Abbildung 6.4.: Fallunterscheidung in Python

Conditional Expression Bedingte Ausdrücke sind Anweisungen in der Form A if Bedingung else B, wobei Bedingung ein beliebiger logischer Ausdruck sein kann. Die Auswertungsreihenfolge unterscheidet sich insofern vom herkömmlichen Ablauf, dass zuerst die Bedingung ausgewertet wird, danach die Anweisung A für eine wahre Bedingung, und sonst die Anweisung B. 87

6. Software Plattform

Abbildung 6.5.: Conditional Expression in Python

Schleifen Schleifen ermöglichen es, einen bestimmten Codeblock mehrmals auszuführen. Dabei stehen dem Programmierer die while- und die for -Schleife zur Verfügung. Eine while-Schleife wird ausgeführt, sofern die Bedingung „true“ ist. Mittels „continue“ kann ein Schleifendurchlauf vorzeitig beendet werden, durch „break“ wird die ganze Schleife verlassen.

Abbildung 6.6.: For-Schleife in Python

Die for -Schleife dient dazu, einen Codeblock eine genau definierte Anzahl Mal zu durchlaufen. Dabei durchläuft die for -Schleife ein beliebiges iterierbares Objekt, zum Beispiel eine Zeichenkette oder einen Zahlenbereich. Wir ein Zahlenbereich verwendet, so stehen zu dessen Definition drei Varianten zur Verfügung:

range(stop) - range(start, stop) - range(start, stop, step)
Module In Modul ist ein Code-Fragment, welches in einer eigenen Datei steht und von anderen, mehreren Dateien importiert und verwendet werden kann. Sie tragen ebenfalls die Endung *.py und können somit als Modul oder als eigenständige Programme verwendet werden. In einem Modul definierte Variabeln können durch den Befehl

from <Modulname> import <Variable>
importiert werden. Der Befehl

from <Modulname> import *
importiert alle Variabeln und Funktionen, welche nicht mit einem „_“ beginnen. Diese sogenannten Membervariabeln sind nur innerhalb des Moduls sichtbar und können nicht von aussen aufgerufen werden. (Schwarzer, 2006) 88

6.1. Programmiersprache Python Objektorientierte Programmierung Eine Klasse in Python wird mit der Anweisung class erzeugt. Eine neue Instanz wird mit dem Konstruktor __init__ erzeugt, welcher die neue Instanz mit Werten initialisieren kann. Auch die Vererbung von einer oder mehreren Klassen ist in Python möglich. (Schwarzer, 2006)

6.1.4. Fazit
Die Einfachheit von Python, seine Flexibilität und Erweiterbarkeit lässt die Sprache für kleine wie auch grosse und komplexe Projekte interessant werden. Grosse Firmen wie Google oder die NASA schätzen die Vorteile von Python in ihren Projekten. Auch die Online Plattform YouTube wurde fast vollständig in Python programmiert. Die einfache Installation, die Plattformunabhängigkeit, die grosse Standard Bibliothek sowie der offene Quellcode machen Python zu einer mächtigen Sprache. Arbeiten mehrere Programmierer am selben Quellcode, soll dieser leicht erlernbar, verständlich und überschaubar sein, so ist Python eine optimale Wahl. Die Ausnahmebehandlung von Python erlaubt es, die Zeit für Fehlersuche wesentlich zu verringern.

89

6. Software Plattform

6.2. Applikationsserver Zope
Zope ist ein objektorientierter Open-Source-Applikationsserver für datenbankgestützte dynamische Internetanwendungen wie z. B. Content- und Dokumenten-Management Systeme oder ERP- und eCommercePlattformen (Zope Group, 2008). Es erlaubt und erleichtert Entwicklern mit unterschiedlichen Levels und Fähigkeiten die Entwicklung von sogenannten Web Applikationen. Web Applikationen sind Programme, welche über das Internet erreichbar sind und eine oder mehrere der folgenden Bedingungen erfüllen:

• • • •

Speicherung der Daten in einer Datenbank (z.B. MySql) Entwicklung mit Hilfe eines Applikationsentwicklungstools (z.B. eclipse) Dauerhaft laufender Server-Prozess für Erreichung der Applikation Speicherung der Daten über Eingabescreens oder Formulare

6.2.1. Konzept von Zope
Zope erweitert als Web Applikationsserver, als ein Framework, um Web Applikationen zu entwerfen, die Standard-Fähigkeiten der Programmiersprache Python um Dienste wie Templating, Security Model, Datenpersistenz, Sessions und weitere nützliche Features. Die Vorteile von Zope als Applikationsserver und Grundsteine für den Betrieb eines WCMS sind (Zope Community, 2008): Dynamischer Inhalt: Dynamische Inhaltsbereitstellung sowie Personalisierung, Datenbankintegration, Inhaltsindexierung und Suchfunktionalität Content Management System: Erstellen und editieren von Inhalten auch für nichttechnische Editoren dank entsprechender Tools Zugangskontrolle und Sicherheit: Abgestufte Benutzerberechtigungen für unterschiedliche Benutzer und Benutzergruppen Aufruf von Objekten Zope übernimmt von der Programmiersprache Python die Objektorientierung. Somit werden Daten und Methoden in einem Objekt zusammengefasst. Die Klasse definiert das Verhalten einen Objekts und dient als Konstruktor. Für Grundlagen zur Objektorientierung im Zusammenhang mit Zope sei auf (Zope Community, 2008) verwiesen. Wie dies bereits von Webserver wie Apache oder Microsoft IIS bekannt ist, welche die URL auf Verzeichnisse und Dateien abbilden, wird dies auch von Zope in ähnlicher Weise umgesetzt. Die über den Webbrowser aufgerufene URL wird von Zope in seine Bestandteile in der Form

protocol://host:port/path?querystring
aufgeteilt. Zope lokalisiert das Objekt in der Objektdatenbank anhand des Pfades und führt darauf die Parameter des Abfragestring aus. Ist die Ausführung erfolgreich, so wird das Resultat an den Browser zurückgesendet. Meist sind dies Daten in HTML, Dateien oder Bilder. Sicherheit Zope wurde von Beginn an mit Fokus auf das Webentwicklungsmodell und die Sicherheitsabstufung 90

6.2. Applikationsserver Zope designt. Eine erfolgreiche Webseite benötigt eine flexible Rechteverwaltung, um die Sicherheit der Applikation zu gewährleisten. Die Objekte in Zope stellen eine umfangreichere Zugriffsbeschränkung als herkömmliche Dateisysteme bereit. Die Zugriffskontrolle wird über das Objekt selbst geregelt und erlauben somit eine feine Abstufung der Zugriffe. Dieses Grundkonzept, welches im Applikationsserver selbst implementiert ist, kann von jedem Objekt innerhalb des Applikationsservers verwendet werden. Entwickler haben somit als Basis eine ausgereifte Grundlage für ihr Berechtigungskonzept. Akquisition Die Akquisition ist eine Spezialform der Vererbung. Bei dem herkömmlichen Vererbungskonzept erbt eine Klasse die Eigenschaften der Vaterklasse. In Zope kann ein Objekt zusätzlich von einem übergeordneten Objekt in der Objekthierarchie erben. Dieses Vererbungskonzept ist einzigartig und wird hauptsächlich für die gemeinsame Nutzung von Informationen, zum Beispiel einen gemeinsamen Header eines ganzen Ordners einer Webseite, verwendet. Seine Mächtigkeit zeichnet sich dadurch aus, dass Definitionen an einer einzigen zentralen Stelle verwaltet und ohne explizite Einbindung verwendet werden können, und dies auf unterschiedlichen Objekten. Die Akquisition kommt erst nach der Vererbung zum tragen. Ein Beispiel: Das Objekt Sub(SuperA, SuperB) erbt von der Klasse SuperA sowie der Klasse SuperB. Zudem liegt es im Ordner SuperFolder. Wird in einer Instanz des Objektes Sub nun die Methode

instance.method() aufgerufen, so werden der Reihe nach SuperA > SuperB > SuperFolder
nach der aufgerufenen Methode durchsucht.

6.2.2. Grundlagen
Die grundlegende Architektur und der Aufbau von „Zope“ ist objektorientiert. Es bietet ein Managment Interface und eine eigene Datenbank. 6.2.2.1. ZMI - Zope Management Interface Auf Zope-Objekte kann vollständig über den Brwoser zugegriffen werden. Somit kann die gesamte Entwicklung und Administration über den Browser abgehandelt werden. 6.2.2.2. ZODB - Zope Object Database Objekte in Zope werden in einer performanten Objektdatenbank gespeichert. Jede Anfrage über das Web wird als eigene Transaktion behandelt und ist vollkommen atomar. Entwickler brauchen sich bei der Programmierung nicht auf die Atomarität ihrer Datenbankmanipulationen zu konzentrieren. Die Persistenz für die Objekte und Objekt-Instanzen wird kann von Zope übernommen werden. 6.2.2.3. Architektur Zope besteht als Web Applikationsserver aus unterschiedlichen Komponenten, welche die Entwicklung von Webapplikationen unterstützen. ZServer: Der integrierte ZServer empfängt Inhalte via FTP, WebDAV, XML-RPC und über den Browser und stellt Inhalte dem Benutzer zur Verfügung. 91

6. Software Plattform

Abbildung 6.7.: Zope Architektur (Zope Community, 2008)

92

6.2. Applikationsserver Zope

Abbildung 6.8.: Root-Objekte in Zope

Web Server: Für die Benutzung von Zope kann anstelle des eigenen Web Servers auch ein alternatives Produkt wie Apache oder Microsoft IIS verwendet werden, sowie weitere Web Server, welche das Common Gateway Interface (CGI) unterstützen. Zope Core: Der Kern von Zope koordiniert die Zusammenarbeit der Datenbank, des Web Servers und den Erweiterungen und stellt die Kernfunktionalitäten bereit. Object Database: Die Zope Object Datenbank ZODB speichert die von Zope verwendeten Objekte. Relationale Datenbanken: Zope unterstützt die Verwendung von relationalen Datenbanken wie Oracle, PostgreSQL, Sybase oder MySQL. Man ist somit nicht an die Verwendung der ZODB gebunden, um die Objekte zu speichern. File System: Dateien können in Zope entweder in der ZODB oder auf dem Dateisystem abgelegt werden. Dies ermöglicht die Verknüpfung von lokalen Dateien und den Zugriff darauf, ohne von Zope abhängig zu sein. ZClasses: ZClasses sind zustätzliche Objekttypen, welche über das Zope Management Interface ZMI hinzugefügt wurden. Products: Zustätzlich zu den ZClasses können externe Produkte auf dem Dateisystem des ZopeServers installiert werden und als Objekte in Zope eingebunden werden.

6.2.3. Zope Services
Einige Zope Objekte sind Service-Objekte, welche verschiedene Dienste bereit stellen. Eine nicht abschliessende Liste (Zope Community, 2008): Access Rule Services: Zugangsregeln ermöglichen es, beim öffnen eines bestimmten Ordners eine Aktion auszulösen. Temporary Storage Services: In Zope können Objekte temporär in entsprechenden Ordnern gespeichert werden. Diese Ordner unterscheiden sich von den „normalen“ Ordnern in dem Sinne, dass die Objekte bei einem Neustart des Zope-Servers gelöscht werden und Änderungen nicht durch die Undo-Funktion rückgängig gemacht werden können. Die temporären Objekte werden im RAM und nicht in der ZODB gespeichert. Standardmässig ist im Root ein temporärer Ordner

temp_folder enthalten. In temporären Ordnern werden hauptsächlich kleine Objekte mit vielen Zugriffen gespeichert, ein Beispiel dafür sind Daten über Benutzersessions. Für grössere Objekte sind temporäre Ordner weniger geeignet. 93

6. Software Plattform Caching Services: Im Cache werden Objekte nach dem ersten Rendering gespeichert und so die Zeit für die Bereitstellung des Inhaltes bein nächsten Aufruf bedeutend verringert. Vorwiegend für komplexere Abfragen mit komplizierten Abfragen, wie sie auf Internetseite oftmals vorkommen, steigern Caching Dienste die Performance der Webseite. Error Logging Services: Zope stellt einen Logging-Dienst für Fehlermeldungen bereit, der bei der Fehlersuche und deren Behebung behilflich sein soll. Searching und Indexing Services: ZCatalog ist die in Zope integrierte Suchmaschine, mit deren Hilfe alle Zope-Objekte durchsucht werden können. Für eine detaillierte Beschreibung zu den Suchund Indexierungsmöglichkeiten in Zope sei auf (Zope Community, 2008) verwiesen. Session Services: Sitzungsdaten eines Benutzers werden in Plone registriert und erlauben es den Entwicklern, diese Daten für ihre Webanwendung weiter zu verwenden.

6.2.4. Fazit
Zope stellt als Web Applikationsserver eine grosse Menge an Grundfunktionalitäten und Diensten zur Verfügung, welche von Entwicklern für die Programmierung von Webseiten verwendet werden kann. Da Zope von Grund auf mit Fokus auf Web Anwendungen entwickelt wurde, unterstützt es die Bedürfnisse optimal und erleichtert das Fehlerhandling sowie verringert den Programmieraufwand. Zope ist Open-Source und kann individuell angepasst werden. Die mitgelieferten Komponenten wie eigene Datenbank ZODB kann ebenso durch eine eigene Datenbank ersetzt werden wie der in Zope integrierte Web Server, der durch Apache oder Microsoft IIS getauscht werden kann.

94

6.3. CMS Plone

6.3. CMS Plone
Plone ist ein auf ZOPE basierendes Enterprise Content Management System, welches zum grössten Teil in der Programmiersprache „Python“ geschrieben ist.

6.3.1. Installation
Für Windows und Mac stehen einfach Installationsprogramme zur Verfügung, für Linux werden RPMPakete vertrieben, Debian installiert „Zope“ und „Plone“ über den apt-get-Befehl. Bei der Installation werden bereits einige Erweiterungen sowie alle Sprachdateien mitinstalliert. Somit steht das System von Anfang an in über 25 Sprachen bereit. Das Grundsystem wird mit zwei verschiedenen Templates ausgeliefert, weitere Skins können nachinstalliert werden.

6.3.2. Grundlagen
Nach der Installation kann „Plone“ über den Webbrowser unter http://localhost aufgerufen werden. Sie wird mit den Standard-Layout geliefert und enthält initial bereits einige erstellte Texte und Ordner. 6.3.2.1. Artikel In „Plone“ gibt es verschiedene Artikeltypen, durch welche der Verwendungszweck und die Eigenschaften festgelegt werden. Initial werden folgende Artikeltypen mitgeliefert: - Seiten - Nachrichten und Termine - Bilder und Dateien - Links und Lesezeichen - Ordner und Kollektionen Der Status, in welchem sich der Artikel befinden kann, regelt die Sichtbarkeit und die Zugriffe der Benutzer. Ebenso werden dadurch die Aktionen (kopieren, einfügen, löschen) eingeschränkt. 6.3.2.2. Ansichten „Plone“ kennt für Artikel unterschiedliche Ansichten. Die häufigste davon ist die Anzeige, welche den Artikel so darstellt, wie ihn auch Besucher der Webseite sehen. Für angemeldete Benutzer stehen je nach Berechtigungsstufe weitere Ansichten zur Verfügung, welche unterschiedlichen Zwecken dienen. Die Ansicht der Inhalte listet alle Artikel der Seite mit Titel, Grösse, dem letzten Änderungsdatum, dem aktuellen Status und der Möglichkeit, die Reihenfolge via Drag and Drop zu verändern. Befindet man sich in der Ansicht Bearbeiten, so können alle Inhalte des Artikels editiert werden. In dieser Ansicht stehen zudem weitere so genannte Tabs zur Verfügung, in welchen Kategorien und Metadaten, Freigabedatum, Urheber und Einstellungen wie Kommentare, Sichtbarkeit im Navigationsmenü und Seitennavigation zwischen einzelnen Artikeln innerhalb eines Ordners eingestellt werden können. Handelt es sich um einen Ordner oder um einen Container, so steht auch die Ansicht Regeln zur Verfügung. Hier können die in Kapitel 6.3.4 vorgestellten Workflows eingerichtet werden. Die letzte Anzeige trägt den 95

6. Software Plattform Namen Zugriff und regelt die Berechtigungen bezogen auf den aktuellen Artikel. Zusätzliche Berechtigungen können an einzelne Mitglieder oder an ganze Gruppen vergeben werden. Kollektionen verfügen auch über eine Ansicht Kriterien, welche den Filtern für die Kollektion entsprechen. Seite, Nachricht und Termin speichern alle Änderungen ab, welche danach über die Versionen abgerufen werden können. Nicht jeder Artikeltyp verfügt über alle Anzeigemöglichkeiten. Alle Artikeltypen stellen mindestens die Reiter Anzeigen, Bearbeiten und Zugriff zur Verfügung, sofern der Benutzer über genügend Berechtigungen verfügt („Lesen“ resp. „Bearbeiten“). Anzeige und Bearbeiten sind für alle Artikeltypen gleich. Eine detaillierte Auflistung aller verfügbaren Reiter und Einstellungen gibt Tabelle 6.1.
arb eite n Re gel n Zug riff Kri teri en Un terk olle ktio Ver nen sio nen Tra nsf orm iere Da n rste llun g Sta tus

An zei g

Inh

alte

en

Ordner Kollektionen Seite Bild Datei Nachricht Termin

x x

x x x x x x x

x x x x x x x

Be

x x

x x x x x x x

x

x x x x x

x x

x x x

x x

Tabelle 6.1.: Verfügbare Ansichten in „Plone“

Benutzer und Gruppen „Plone“ stellt als Content-Management-System eine Benutzerverwaltung zur Verfügung, welche Mitglieder mit unterschiedlichen Rollen auszeichnet und sie in Gruppen gliedern kann. Je nach Rolle haben Benutzer zusätzliche Rechte auf Artikel. So können Sie diese bearbeiten, veröffentliche, kopieren oder löschen. Ebenso können Benutzer in ihrem eigenen Ordner Dateien ablegen und diese mit weiteren Benutzern teilen. Neue Benutzer können sich entweder selbst registrieren oder werden vom Administrator erfasst. Automatisch wird ein persönlicher eine persönliche Seite und falls so eingestellt ein persönlicher Benutzerordner erstellt. Die persönliche Seite kann selbst editiert werden, wodurch durch eigene gewünschte Inhalte eine Art Portalseite erstellt werden kann. Im persönlichen Ordner kann der Benutzer beliebige Artikel erstellen und pflegen und diese den Besuchern der Webseite anzeigen lassen. Mehrere Benutzer können in einer Gruppe zusammengefasst werden. Für Gruppen kann ein Gruppenarbeitsplatz eingerichtet werden, in welchem alle Mitglieder der Gruppe Artikel anlegen und veröffentlichen können.

6.3.3. Arbeitsablauf
„Plone“ kennt unterschiedliche Arbeitsabläufe, welche einem Artikeltyp zugewiesen werden können. Die Arbeitsabläufe bestimmten die verfügbaren Statuse und deren mögliche Übergänge. 96

6.3. CMS Plone Kein Arbeitsablauf Hat ein Artikeltyp den Status „kein Arbeitsablauf“, so wird die Sichtbarkeit des Artikels durch den Ordner bestimmt, in welchem er sich befindet. Initial ist dies dem Typ „Bild“ und „Datei“ zugewiesen. Bei der Erstellung wird der Artikel nach dem Speichern gleich publiziert und kann eingesehen werden, wenn man für den übergeordneten Ordnen die entsprechenden Berechtigungen hat. Es gibt somit keinen eigenen Zustand für den Artikel und keine Übergänge. Arbeitsablauf mit einem Zustand Artikeltypen mit einem Zustand verfügen nur über den Status „veröffentlicht“. Statusübergänge sind nicht möglich. Der Unterschied zum Typ „kein Arbeitsablauf“ besteht darin, dass die Berechtigungen nicht vom Ordner vererbt werden, sondern für den Artikeltyp selbst bestimmt werden. Einfacher Publikationsarbeitsablauf Dies ist der Standard-Ablauf. Nach dem Erstellen eines Artikels erhält dieser den Status „privat“. Danach kann er zur Veröffentlichung an die Redaktion eingereicht oder direkt für alle Benutzer veröffentlicht werden. Er verfügt über drei Zustände und sieben Übergänge (siehe Abbildung 6.9).

Abbildung 6.9.: Einfacher Publikationsarbeitsablauf in Plone Intranet Arbeitsablauf Beim Intranet-Arbeitsablauf sind Inhalte nur sichtbar, wenn man angemeldet ist. Neu erstellte Artikel erhalten den Status „Interner Entwurf“. Die grundlegenden Zustände sind: Interner Entwurf, Zur Prüfung eingereicht, Intern veröffentlicht und Privat. Es gibt auch den Status „extern veröffentlicht“, sodass Sie ausgewählte Inhalte Personen ausserhalb des Intranets zugänglich machen können. Es sind gesamt fünf Zustände und 13 Übergänge möglich. Auffallend am Intranet Arbeitsablauf ist die Sichtbarkeit. Fast alle angemeldeten Benutzer (ausser die 97

6. Software Plattform Rolle „Benutzer“, welcher keine privaten Artikel sehen kann) können die Artikel und Ordner betrachten. Ebenso können Sie intern veröffentlichte und extern sichtbare Artikel zurückziehen. Der Intranet Arbeitsablauf ist der komplizierteste mit den meisten Abstufungen. Zusätzlich gibt es einen Intranet Arbeitsablauf für Ordner, welcher nur über die Zustände „Interner Entwurf“ und „Privat“ verfügt. Community Arbeitsablauf Benutzer können Inhalte erzeugen, die sofort öffentlich zugänglich sind. Inhalte können veröffentlicht werden, wenn Sie zur Redaktion eingereicht werden, was typischerweise gemacht werden sollte, damit Termine und Nachrichten auf der Startseite erscheinen. Während der Inhalt der Redaktion zur Prüfung vorliegt, kann ihn jeder lesen. Sobald der Inhalt veröffentlicht ist, kann er nur vom Administrator und von Benutzern mit Veröffentlichungsrechten zurückgezogen werden. Total sind vier Zustände und zehn Übergänge verfügbar.

6.3.4. Workflows
In der Konfiguration von Plone können vier verschiedene Regeln für Ordner und Container definiert werden (siehe Abbildung 6.12). Jede Regel verfügt über eine beliebige Anzahl Bedingungen und darauf folgende Aktionen. Werden die Regeln aktiviert, sind diese danach für die Ordner innerhalb der Daten- und Navigationsstruktur von „Plone“ verfügbar. Der Effekt wirkt sich dabei auf alle Artikel innerhalb eines Ordners aus. Das Zuweisen geschieht über den Reiter „Regeln“ innerhalb eines Ordners. Dabei können Regeln an Unterordner weiter vererbt werden. Die Bedingungen aus Abbildung 6.13 bezeichnen die Eigenschaften des Objektes innerhalb des Ordners oder Containers, welchem die Regel zugeordnet wurde. Sie können kumulativ angewendet werden. Zuletzt folgen die Aktionen, welche ausgeführt werden, sobald die Bedingungen für einen Artikel innerhalb des Ordners zutreffen. „Plone“ kennt standardmässig die in Abbildung 6.14 beschriebenen Aktionen mit den entsprechenden Einstellungen und Angaben. Hierzu ein Beispiel: Man fügt dem Ordner myFolder die Regel Objekt verändert hinzu. Als Bedingung wählt man folgendes: - Content Type: Seite - Workflow State: Interner Entwurf - User’s Role: Administratoren Darauf werden folgende Aktionen definiert: - Move to Folder: myFolder/subFolder - Logger: myLog, 1000, Seite wurde verschoben - Mail Action: Seite wurde verschoben, sender@mail.com, receipient@mail.com, Die Seite wurde verschoben und hat nun den Status privat - Statuswechsel: privat 98

6.3. CMS Plone

Abbildung 6.10.: Intranet Arbeitsablauf in Plone

Abbildung 6.11.: Community Arbeitsablauf in Plone

99

6. Software Plattform

Abbildung 6.12.: Regeln für Ordner und Container in Plone

Abbildung 6.13.: Bedingung für eine Regel

Abbildung 6.14.: Ausführbare Aktionen für eine Regel

100

6.3. CMS Plone Dies bedeutet nun: Ändert ein Administrator eine Seite innerhalb dieses Ordners, welche den Status „Interner Entwurf“ besitzt, so wird diese Seite in den Unterordner verschoben und erhält den Status „Privat“, es wird ein Eintrag in ein Logfile geschrieben und ein Mail an die Adresse „sender@mail.com“ versendet.

6.3.5. Benutzerberechtigungen und Funktionen
Nicht angemeldete Besucher der Seite oder Benutzer ohne Berechtigungen sehen alle Inhalte der Seite, welche den Status „Veröffentlicht“ besitzen. Für die Zusammenarbeit mehrerer Personen können Berechtigungen für jeden einzelnen Benutzer oder für ganze Gruppen vergeben werden. Diese Berechtigungen können dann auf alle Artikeltypen angewandt werden. Wer standardmässig für welchen Artikelstatus und für welche Übergänge die Berechtigung hat, ist in den Abbildungen zum Arbeitsablauf 6.9, 6.10 und 6.11 ersichtlich. Genügen diese vordefinierten Abstufungen nicht aus, so können im ZMI weitere Funktionen definiert werden. Das ZMI listet unter acl_users im Bereich Security alle Rollen und deren Berechtigungen. Da das ZMI vollständig in Englisch aufgebaut ist, werden hier auch die englischen Funktionen gelistet: Contributor (Hinzufügen), Editor (Bearbeiten), Member (Benutzer), Reader (Lesen), Reviewer (Veröffentlichen) und Manager (Verwalten). Eine weitere Rolle ist der Besitzer (Owner). Als Besitzer eines Artikels hat man darüber zusätzliche Rechte, darunter bearbeiten und löschen, unabhängig von der zugehörigen Rolle. Die Funktion bezeichnet in diesem Zusammenhang die Zugriffsrechte einer Rolle. Initial werden die Rollen Administrator (mit der Funktion „Verwalten“), Redakteure (mit der Funktion „Veröffentlichen“) und angemeldete Benutzer erstellt.

6.3.6. Erweiterungen
Plone-Produkte sind Erweiterungen, welche die Basis-Funktionalität erweitern. Ein grosses Repository von frei verfügbaren Produkten findet man auf der Seite der Zope-Community1 . Die Produkte werden in gezippter Form zum Donwload zur Verfügung gestellt und sind entweder als normale Pakete oder als sogenannte „Eggs“ verfügbar. Plone-Produkte werden entpackt und der Ordner in den Produkte-Ordner <PLONE_HOME>/ Data/Products kopiert. Nach einem Neustart des Applikationsservers, können die Produkte in der Konfiguration unter „Zusatzprodukte“ installiert werden. Die Installation von Produkte ist oftmals aufwendig, weil diverse Abhängigkeiten zwischen von anderen Produkte bestehen, welche zusätzlich installiert werden müssen. Seit der Version 3 verfügt Plone über ein Skript mit dem Namen „easy_install“. Die „Eggs“ werden mit diesem Skript installiert, welches im selben Schritt alle Abhängigkeiten prüft und diese bei Bedarf mitinstalliert. Zusätzlich können über das Installationsskript bereits diverse Einstellungen an der Konfiguration vorgenommen werden. Das Skript befindet sich im Ordner <PLONE_HOME>/ Python/Scripts/. Möchte man „easy_install“ unter Windows über die Kommandozeile aufrufen, muss der Ordner als Umgebungsvariable hinzugefügt werden.
1

http://www.plone.org

101

6. Software Plattform

6.3.7. Plone Roadmap
Die Community stellt auf der Webseite die Roadmap von „Plone“ zur Verfügung. Plone 3.2 Das Release der Version 3.2 fokussiert auf die Verbesserung der Installationsroutinen (eggs) und basiert auf „Plone 3.1“. Ansonsten sind keine grosse Änderungen zu erwarten, so dass die Produkte der Version 3.0 und 3.1 auch mit diesem Release weiterhin voll funktionstüchtig bleiben. Plone 3.3 In der Version 3.3 werden zusätzliche Features integriert. Die Abwärtskompatibilität zu Produkten der Versionen 3.0, 3.1 und 3.2 bleibt bestehen. Plone 4.0 „Plone 4.0“ wird auf der Version 3.x basieren und listet zurzeit erst einige Ideen, welche zum jetzigen Zeitpunkt jedoch nicht verpflichtend sind, darunter folgende:

• • • • • •

Besseres Benutzerhandling mit Teambereichen für Projektarbeitsbereiche Ersetzen der Disskusionsarchitektur „Ploneboard“ Besseres Handling von Medien wie Video und Audio Erweiterte Dokumentemanagement Fähigkeiten Verbessertes Export- und Importhandling Verbessertes E-Mail-Handling, auch Posteingang

102

7. Implementierung, Konfiguration
In der Sitzung vom 4. März wurde als Grundsystem für eine neue Projektmanagement-Plattforme das OpenSource ECMS „Plone“ gewählt (vgl. auch Kapitel 1.3). Im Folgenden Kapitel soll untersucht werden, wie die Anforderungen aus Kapitel 4 in „Plone“ umgesetzt werden können. Sofern das Basissystem die Funktionalitäten nicht bereitstellt, werden bestehende Erweiterungen von Drittanbietern benutzt. Aus dem Projekt „mioBook“ und den Arbeiten von Mengelt (2008) und Heuberger (2008) ergeben sich weitere Anforderungen an die Konfiguration des Systems. Diese Konfiguration wird mit Beteiligten des Projekts „mioBook“ in einem Feldtest erprobt und ausgewertet. Für jene Aspekte, welche zurzeit nicht über Produkte von Drittanbietern abgedeckt werden können, wird im letzten Kapitel eine Roadmap erstellt, welche die Weiterentwicklung dieses Grundmoduls aufzeigt.

7.1. Erfüllung der Anforderungen
Für die in Kapitel 4 aufgelisteten Anforderungen in den Bereichen Kommunikation und Zusammenarbeit, Informations- und Datenmanagement und Projektmanagement wird die Möglichkeit der Umsetzung mit „Plone“ untersucht.

7.1.1. Kommunikation und Zusammenarbeit
E-Mail Plone bietet in der Core-Version die Möglichkeit, den Link zu einem Artikel zu versenden und dabei Empfänger-, Absenderadresse und Kommentar hinzuzufügen. Mit der Erweiterung ARMailServices 0.6 können die gewünschten Funktionen bereitgestellt werden. ARMailServices 0.6 wird als Produkt installiert und erweitert jeden Artikel um eine Aktion zum erweiterten Versenden. Standardmässig können nur Benutzer mit Verwaltungsrechte Mails versenden, diese Einstellung kann über das ZMI oder das Installationsfile angepasst werden. Zusätzlich ist ein Portlet (Classic Portlet > „portlet_mailservices“) verfügbar. Nach Installation können Mails an Benutzer und Gruppen versendet werden können. Wird ARMailServices über die Aktion aufgerufen, so wird der Link zum akutellen Artikel gleich in den Body-Text des E-Mails eingefügt. Somit können Hinweise auf neue Informationen schnell an eine ganze Gruppe versendet werden. Kontaktmanagement Plone bietet nur eine sehr oberflächliches Kontaktmanagement durch die Erfassung der Benutzer, welche eine E-Mail-Adresse erhalten und zu einer oder mehreren Gruppen zugewiesen werden können. Der Benutzer und die Gruppe dient zur Zugriffsregelung, ist jedoch nicht als Kontaktverwaltung vorgesehen. Benutzer verfügen, falls freigegeben, nach der Registrierung über einen eigenen Ordner. In diesem Ordner können sie Artikel anlegen und für weitere Benutzer freigeben. 103

7. Implementierung, Konfiguration

Abbildung 7.1.: Benutzerauswahl von ARMailServices 0.6

Bookmarks/Portal Als klassisches CMS liefert Plone eine Portalseite mit, welche nach dem Einloggen die benutzerspezifischen Inhalte anzeigt. Nebst der Inhaltsseite in der Mitte, gibt es verschiedene Portlet-Positionen, auf welchen dynamische Erweiterungen angezeigt werden können. Jeder angemeldete Benutzer verfügt über eine eigenen Portal-Seite, welche er nach seinen Wünschen einrichten kann. Auch das Erstellen von Artikeln und die Öffnung für weitere Benutzer ist möglich. Forum und Nachrichtenboard In „Plone“ ist kein Forum integriert. Als Erweiterung stehen verschiedene Tools bereit. Da viele der

Abbildung 7.2.: Ploneboard 2.0 mit 2 Kategorien und 3 Foren Foren-Produkte („SC Auditorium 0.4“, „SimpleForum 1.1“, „CMFpgForum 1.0.0 beta“ und „NunBB 0.2“) zurzeit noch nicht für die Version 3.x verfügbar sind, kann „Ploneboard 2.0“ verwendet werden. Nach 104

7.1. Erfüllung der Anforderungen der Installation (benötigt zusätzlich „SimpleAttachment 3.0.1“) kann das Forum hinzugefügt werden. Bei der Erstellung können unbegrenzte Kategorien angegeben werden, unter welchen danach neue Foren und die Anfragen in sogenannten „Gesprächen“ erfasst werden. Es ergibt sich daraus eine dreistufige Hierarchie. „Ploneboard“ spezialisiert sich auf den Austausch von Gesprächen und kommt mit wenig Zusatzfunktionalität aus. Instant Messaging Als CMS bietet „Plone“ nur asynchrone Kommunikation an. Umfragen Als Produkt für Umfragen kann „PlonePopoll 2.6.1“ verwendet werden. Eine erstellte Umfrage kennt den Status aktiv oder inaktiv, das entsprechende Resultat kann als sichtbar oder nicht sichtbar definiert werden. Zu einer Frage können mehrere Antworten erstellt und die Anzahl der Auswahl deklariert werden.

7.1.2. Informations- und Datenmanagement
Dokumentemanagement Das Dokumente-Management ist die grosse Stärke von „Plone“. Dokumente können in auf dem Dateisystem oder direkt in der Datenbank gespeichert werden. Wird die Variante über das Dateisystem gewählt, so bildet „Plone“ im Hintergrund für die Ablage die Objektstruktur nach. „Plone“ unterscheidet Dokumente von Bildern mithilfe von Artikeltypen (vgl. Kapitel 6.3.2.1). Beide Typen verfügen über die Reiter Anzeige, Bearbeiten und Zugriff. Für den Bild-Typ stehen zusätzlich Transformations-Werkzeuge zur Verfügung. Zu den Dokumenten und Bildern können Beschreibungen hinzugefügt werden. Versionierung Für die Artikeltypen Seite, Nachricht und Termin (vgl. Tabelle 6.1) ist eine Versionierung integriert. Jede

Abbildung 7.3.: Versions-History einer Seite in „Plone“ Änderung erzeugt nach dem Speichern eine neue Version. Die Versionshistory kann über den Reiter Versionen aufgerufen werden. Jede ältere Version kann mit der aktuellen und mit ihrem Vorgänger 105

7. Implementierung, Konfiguration verglichen werden. Dabei werden neuer und entfernter Text sowie Veränderungen gelb, grün oder rot markiert (siehe Abbildung 7.4). Es ist ebenfalls möglich, zu einer früheren Version zurückzukehren.

Abbildung 7.4.: Änderungen zwischen zwei Versionen in Plone

Stukturierung „Plone“ übernimmt die Ordnerstruktur anhand der Objekthierarchie. Wir ein Objekt, in diesem Fall ein Ordner, neu erzeugt, so wird dieser als Kindobjekt seines Vaters abgelegt. Gleich verhält es sich auch für die weiteren Artikeltypen (Datei oder Bild), welche selbst keine Kindobjekte mehr besitzen. Wissenserhaltung und Wissensfindung Im Bereich der Wissensfindung verfügt „Plone“ über den Artikeltyp Kollektion. Kollektionen können über den Reiter Kriterien mit Filtern ausgestattet werden, um ähnliche Artikel zu gruppieren. Als Filterkriterium gelten Kategorien, Erstellungs-, Freigabe-, Ablauf-, End- und Änderungsdatum, Titel, Beschreibung, Inhalt, Ersteller, Artikeltyp, Stelle auf der Webseite und Status, welche kumulativ gesetzt werden könne. Ebenfalls kann anhand der gleichen Kriterien sortiert werden. Die Kollektion ist ein optimales Werkzeug, um ähnliche Inhalte in einem Ordner zusammenzutragen. Für eine explizite Wissensdatenbank eignet sich ein Wiki. Als Erweiterung kann hier „Zwiki 0.60“ verwendet werden. Durch die Installation wird der Datentyp Wiki Page hinzugefügt. Die Wiki Page verfügt über Titel und Inhalt sowie die Möglichkeit, Hierarchien zu bilden, indem Wiki-Artikel als Eltern definiert werden. Auch Verlinkungen untereinander sind möglich.

7.1.3. Projektmanagement
Termine Mit der Grundkonfiguration hat man bereits die Möglichkeit, Termine zu erfassen. Ein Termin ist ein Artikel und besitzt somit die bisher bekannten Eigenschaften aus Kapitel 6.3. Er verfügt nebst den Ansichten „Anzeigen“ und „Bearbeiten“ über „Zugriff“, „Versionen“ und „Status“. Als vorbereitete Felder werden Beschreibung, Datum und Uhrzeit, Teilnehmer, Kontaktdaten und das Hinzufügen einer URL bereitgestellt. Nach dem Speichern kann der Termin als VCS- oder ICS-Datei heruntergeladen und in den eigenen Kalender importiert werden. Dank der Erweiterung „ARMailServices“ aus Kapitel 7.1.1 kann der Link zum Termin an Benutzer oder ganze Gruppen versendet werden. Ressourcen- und Aufgabenmanagement Teams, welche agil entwickeln, könne für die Koordination der Arbeitspakete und der Aufgaben die Er106

7.1. Erfüllung der Anforderungen weiterung „eXtremeManagement 1.5.2“ verwenden1 . Es ist optimal auf die Entwicklungsmethode „XP“ (vgl. 3.6.4) zugeschnitten. Neue Projekte können von den Mitarbeitern hinzugefügt werden. In jedem Projekt können Kontaktinformationen der Teammitglieder, Iterationen und Stories von den Teammitgliedern wie auch den Kunden erfasst werden. Ein Projekt wird mit Iterationen geplant, welche optimalerweise eine Zeitspanne von 2-4 Wochen besitzt. In dieser Zeit werden mehrere Stories abgearbeitet. Anträge kann der Kunde über die Offers stellen. Dies kann zu Beginn des Projekts wie auch während den laufenden Arbeiten der Fall sein. Werden diese Anträge genehmigt, so wird das Feature als Story erfasst. Das Team kann daraufhin die aufzuwendenden Arbeiten für eine Story auf mehrere Tasks aufbrechen und jeden Task einzeln schätzen, woraus sich ein Schätzwert für die gesamte Story ergibt. Die Erweiterung installiert acht neue Artikeltypen: ProjectMember, Story, Iteration, Customer, Booking, CustomerFolder, ProjectFolder und PoiTask.

Abbildung 7.5.: My to-do tasks aus „eXtremeManagement 1.5.2“

Als erstes wird ein ProjectFolder erstellt, in welchem ein neues Projekt erstellt werden kann. Im Projekt können Iterations und darin Stories erfasst werden. Eine Iteration verfügt bereits über einen ungefähren Schätzwert in „Man hours“. Für die Schätzung der Stories werden die einzelnen Aufgaben in Tasks aufgebrochen. Die Tasks können den Projektmitgliedern, welche für das Projekt definiert wurden, zugewiesen werden. Sobald ein Task erledigt werden muss, kann dieser auf „activate“ gesetzt werden und erscheint in der „My to-do tasks“-Liste des Benutzers (vgl. Abbildung 7.5). Jedes Projektmitglied kann seine Stunden auf den Task buchen.

Abbildung 7.6.: Fortschrittsbalken, Tasks und Taskfolder in „ProjectProgress 1.4“ Für die Überwachung des Fortschritts existiert eine eigene Erweiterung mit den Namen „ProjectProgress 1.4“. Es fügt die Artikeltypen Task, ProgressProject 2 und Taskfolder hinzu. Der Einstieg wird
1 2

als Abhängigkeit muss das „Poi 1.1.1 Bundle“ vorgängig installiert werden In der Originalversion heisst der Typ Project. Da dieser Artikeltyp bereits in der Erweiterung „eXtremeManagement 1.5.2“ verwendet wird, musste er umprogrammiert werden und heisst nun ProgressProject.

107

7. Implementierung, Konfiguration über den Artikeltyp Project erstellt. Einem ProgressProject können danach Tasks oder Taskfolder hinzugefügt werden. Project und Taskfolder verfügen über die Reiter Inhalte, Bearbeiten, Anzeigen, Eigenschaften, Regeln und Zugriff. Für einen Task stehen Anzeigen, Bearbeiten, Eigenschaften und Zugriff zur Verfügung. Der Artikeltyp Task verfügt über geschätzte und verbrauchte Stunden sowie eine Beschreibung und ein Titel. Der Fortschritt wird anhand der Stunden in einem Fortschrittsbalken dargestellt. Wird durch mehrere Taskfolder eine mehrstufige Hierarchie erstellt, so werden alle geschätzten und geleisteten Stunden summiert und zusätzlich tabellarisch aufgelistet (vgl. Abbildung 7.6). Für die Erweiterung von „Plone“ durch ein „Scrum Product“ sei auf die Arbeit von Mengelt (2008) verwiesen.

7.1.4. Änderungsmanagement

7.2. Feldtest
Der Feldtest mit dem Grundmodul konnte nicht auf dem Server durchgeführt werden, da während der Durchführung bereits produktiv am MIO-Projekt gearbeitet wurde und Seiteneffekte durch die Installation neuer Erweiterungen nicht auszuschliessen waren. Am 19. August wurde daher entschieden, den Feldtest lokal innerhalb einer Staging-Umgebung durchzuführen. Kern des Tests waren folgende Punkte:

• Performanz und Skalierbarkeit • Erfüllung der Anforderungen aus Kapitel 7.1

7.2.1. Testumgebung
Für den Feldtest wurde folgende Umgebung verwendet:

• OS: Windows XP Professional • Zope: 2.10.5-final auf Windows • Python: 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] • Plone: 3.0.6

7.2.2. eXtreme Management 1.5.2
Im Bereich des Projektmanagement wurde die Erweiterung „eXtremeManagement 1.5.2“ aus Kapitel 3.6.4 und 7.1.3 verfwendet. Aus der Sicht des Teams

Aus der Sicht des Kunden

Anforderungenserfüllung

108

7.3. Roadmap Anforderung Aufgaben/Tasks definieren Tasks an Personen eigene Tasks anzeigen Stunden auf Task buchen Schätzung des Tasks Info kritischer Tasks Tabelle 7.1.: Erfüllung der Anforderung im Bereich des Aufgabenmanagements erfüllt nicht erfüllt: Mangel

7.3. Roadmap

109

7. Implementierung, Konfiguration

110

8. Ausewrtung / Ausblick
Ideen für die Weiterentwicklung. Möglichkeiten. Das Tool wird getestet und ausgewertet. Die beteiligten Personen werden befragt. Hier wird auch erläutert, welche Erweiterungen noch implementiert werden müssen, damit das Tool den Anforderungen einer modernen PM Plattform entspricht (und auch wie das gemacht werden muss).

111

8. Ausewrtung / Ausblick

112

9. Schlussbemerkung
...

113

9. Schlussbemerkung

114

A. Literaturverzeichnis
[Agiles Manifest 2001] AGILES M ANIFEST: http://agilemanifesto.org [AIIM 2008] AIIM: What is ECM? 08.06.2008, 2008. – Manifesto for Agile Software Development. 2001. –

http://www.aiim.org.uk/publications/roadmap/index.asp [Alpar u. a. 2005] A LPAR, Paul ; G ROB, Heinz L. ; W EIMANN, Peter ; W INTER, Robert: Anwendungsorientierte Wirtschaftsinformatik. Vieweg Friedr. + Sohn Ver, 2005. – ISBN 978–3528356569 [Applegate 2005] A PPLEGATE: Corporate Information Strategy and Management. Boston, 2005 [Bamberger 2005] B AMBERGER, Ingolf: Strategische Unternehmensberatung. Gabler Verlag, 2005. – ISBN 978–3409430654 [Beck 2005] B ECK, Kent: Extreme Programming Explained: Embrace Change. Addison-Wesley Longman, 2005. – ISBN 978–0201616415 [Biethahn u. a. 2004] B IETHAHN, Jörg ; M UCKSCH, Harry ; RUF, Walter: Ganzheitliches Informationsmangement - Band I: Grundlagen. Oldenbourg, 2004. – ISBN 978–3486200201 [Borghoff u. Schlichter 1998] B ORGHOFF, Uwe M. ; S CHLICHTER, Johann H.: 3540628736 [Brugger u. Soltermann 2004] B RUGGER, Marcel ; S OLTERMANN, Caroline: Informationsmanagement bei technisch-organisatorischen Veränderungen. Vdf Hochschulverlag, 2004 [Bundesamt für Statistik 2008] B UNDESAMT FÜR S TATISTIK: 30.06.2007, 2008. – http://www.bfs.admin.ch [Chen u. a. 2002] C HEN, Fang ; J AY F. N UNAMAKER , J R ; N ICHOLAS C. R OMANO, J R ; R OBERT O. B RIGGS: A Collaborative Project Management Architecture. IEEE, 2002 (Proceedings of the 36th Hawaii International Conference on System Sciences) [Cooper 1978] C OOPER, John D.: Corporate Level Software Management. http://ieeexplore.ieee.org : IEEE Journal, 1978 (IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 4) [Daenzer 2002] DAENZER, W: Systems Engineering. Zürich : Verlag industrielle Organisation, 2002 [Ellis 2006] E LLIS, Jonathan: Spyced - Python IDE review. http://spyced.blogspot.com, 2006 115 Unternehmen Indikatoren. Stand Rechnergestützte

Gruppenarbeit: Eine Einführung in verteilte Anwendungen. Springer Verlag, 1998. – ISBN 978–

A. Literaturverzeichnis [Feldmüller u. a. 2004] F ELDMÜLLER, Dorothee ; F RICK, Andreas ; S EIBERT, Siegfried: Was müssen IT-Projektmanager wirklich können? In: projekt MANAGEMENT (2004) [Ferstl u. Sinz 2006] F ERSTL, Otto ; S INZ, Elmar: Grundlagen der Wirtschaftsinformatik. Oldenbourg, 2006. – ISBN 978–3486579420 [Fischer 2002] F ISCHER, Joachim: Bausteine der Wirtschaftsinformatik. 3. Schmidt (Erich), 2002. – ISBN 978–3503066100 [Frühauf u. a. 2001] F RÜHAUF, Karol ; L UDEWIG, Jochen ; S ANDMAYR, Helmut: ISBN 978–3728128225 [Gaulke 2004] G AULKE, Markus: Risikomanagement in IT-Projekten. Oldenburg Wissenschaftlicher Verlage, 2004. – ISBN 3–4862–7599–2 [Gloger 2008] G LOGER, Boris: Scrum. Produkte zuverlässig und schnell entwickeln. Hanser Fachbuch, 2008. – ISBN 978–3446414952 [Heuberger des 2008] H EUBERGER, Schreibens, Daniel: Universität Authoring Zürich, Tools zur Unterstützung 2008. – Software-

Projektmanagement und -Qualitätssicherung. 4. Auflage. Zürich : vdf Hochschulverlag, 2001. –

kollaborativen

Diplomarbeit,

http://www.ifi.uzh.ch/mio/schwerpunkt/services/forschung/projects/studenttasks/index.html [Hohmann 2007] H OHMANN, Luke: Innovation Games - Creating breakthrough Products through collaborative Play. Addison Wesley, 2007. – ISBN 978–0321437297 [Huber 2007] H UBER, Andreas: Führung und Management von IT-Projekten: Projektetablierung, Schaffung eines Projektrahmens. Vorlesung vom 31.10.2007, 2007 [Jankulik u. a. 2005] J ANKULIK, Ernst ; K UHLANG, Peter ; P IFF, Roland: Projektmanagement und Prozessmessung. Wiley-VCH, 2005. – ISBN 978–3895782510 [Jenny 2005] J ENNY, Bruno: Projektmanagement - Das Wissen fur eine erfolgreiche Karriere. vdf Hochschulverlag AG an der ETH Zürich / 2. Auflage, 2005. – ISBN 978–3–7281–3004–4 [Jung 2006] J UNG, Hans: Personalwirtschaft. Oldenbourg, 2006. – ISBN 978–3486580488 [Kampffmeyer 2006] K AMPFFMEYER, Ulrich: ECM Enterprise Content Management. Project Consult, 2006. – http://www.project-consult.net/Files/ECM_White%20Paper_kff_2006.pdf [Kessler u. Winkelhofer 2004] K ESSLER, Heinrich ; W INKELHOFER, Georg A.: Projektmanagement Leitfaden zur Steuerung und Führung von Projekten. Springer-Verlag GmbH, 2004. – ISBN 3–5402– 0444–X [König 2008] KÖNIG, Jean-Pierre: scrum.blogspot.com [Kuhnt 2007] K UHNT, Beate: Führung und Management von IT-Projekten / Schwerpunkt mensch informatik organisation, Institut für Informatik, Universität Zürich. 2007. – Forschungsbericht [Lutz 2006] L UTZ, Mark: Programming Python. O’Reilly, 2006. – ISBN 978–0596009250 116 Warum machst DU Scrum? Online, 2008. – http://inside-

A. Literaturverzeichnis [Mangold 2002] M ANGOLD, Pascal: IT Projektmanagement kompakt. Spektrum Akademischer Verlag, 2002. – ISBN 3–8274–1338–9 [Martelli 2006] M ARTELLI, Alex: Python in a Nutshell - A Desktop Quick Reference. O’Reilly, 2006. – ISBN 978–0596100469 [Mengelt 2008] M ENGELT, Flurin: Zusammenarbeit nach Scrum, Universität Zürich, Diplomarbeit, 2008. – http://www.ifi.uzh.ch/mio/schwerpunkt/services/forschung/projects/studenttasks/index.html [Noack 2007] N OACK, Sascha: ECM - Enterprise Content Management. GRIN Verlag, 2007. – ISBN 978–3638644631 [Office2007 Blog 2008] O FFICE 2007 B LOG: Projekte managen, mit MS Office Groove 2007. online, 2008. – http://www.office2007-blog.de [Pichler 2007] P ICHLER, Roman: Scrum - Agiles Projektmanagement erfolgreich einsetzen. dpunkt Verlag, 2007. – ISBN 978–3898644785 [Schiestl 1996] S CHIESTL, Josef: Groupware-Software für die Teamarbeit der Zukunft. Tectum Verlag, 1996. – ISBN 978–3896089250 [Schopp 2008] S CHOPP, Bernd: Intranet Projekte mit SCRUM. Online, 2008. – http://blog.namics.com [Schwarzer 2006] S CHWARZER, S.: http://www.sschwarzer.net/python/perlpy_vortrag.html. 17.05.2008, 2006 [Spath u. a. 2007] S PATH, Dieter ; S CHIMPF, Sven ; K UGLER, Andreas: Webbasierte Open Source Kollaborationsplattformen / Frauenhofer Institut für Arbeitswirtschaft und Organisation. 2007. – Forschungsbericht [Specker 2004] S PECKER, Adrian: Modellierung von Informationssystemen. Ein methodischer Leitfaden zur Projektabwicklung. Vdf Hochschulverlag, 2004. – ISBN 978–3728129840 [Sörensen 2007] S ÖRENSEN, Sven: Extreme Programming und Software-Qualität. GRIN Verlag, 2007. – ISBN 978–3638655279 [Standish Group 2008] S TANDISH G ROUP: Chaos Report. Online, 2008. –

http://www.standishgroup.com/sample_research/PDFpages/extreme_chaos.pdf [Stoyan 2004] S TOYAN, Robert: Management von Webprojekten. Heidelberg : Springer Verlag, 2004. – ISBN 3–540–00582–X [Thayer u. Yourdon 1997] T HAYER, Richard H. ; YOURDON, Edward: Software Engineering Project Management. 1. IEEE Computer Society Prress, 1997. – ISBN 0818680008 [Vetter 1998] V ETTER, Max: Objektmodellierung. Teubner Verlag, 1998. – ISBN 978–3519121435 [Wegmann u. Winklbauer 2006] W EGMANN, Christoph ; W INKLBAUER, Holger: Projektmanagement für Unternehmensberatungen. Gabler Verlag, 2006. – ISBN 978–3834902955 [Westphal 2001] W ESTPHAL, Frank: Extreme Programming. online, 2001. –

http://www.frankwestphal.de/ExtremeProgramming.html 117

A. Literaturverzeichnis [Zope Community 2008] Z OPE C OMMUNITY: Zope Book. Online, 2008. –

http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition [Zope Group 2008] Z OPE G ROUP: http://www.zope.de/ueber-zope. Online, 2008

118

Abbildungsverzeichnis
1.1. Erfolg von IT-Projekten (Standish Group, 2008) . . . . . . . . . . . . . . . . . . . . . . . 2.1. Aspekte der Qualität (Jankulik u. a., 2005) . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Techniken der Kommunikation nach Kuhnt (2007) . . . . . . . . . . . . . . . . . . . . . 2.3. Die 5 Komponenten von ECM (Kampffmeyer, 2006) . . . . . . . . . . . . . . . . . . . . 2.4. Enterprise Content Management House nach Kampffmeyer (2006) . . . . . . . . . . . . 2.5. Marktwirtschaftliche Unternehmen und Beschäftigte nach Grössenklassen in der Schweiz, 2005 (Bundesamt für Statistik, 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6. Projektklassifikation anhand eines Kiviat-Diagramms nach Jenny (2005) . . . . . . . . . 10 2.7. Teufelsquadrat nach (Daenzer, 2002) und (Jenny, 2005) . . . . . . . . . . . . . . . . . . 13 3.1. Projektmanagement-System nach Jenny (2005) . . . . . . . . . . . . . . . . . . . . . . 20 3.2. Projektmanagementprozesse mit Schwerpunkten nach Specker (2004) . . . . . . . . . . 26 3.3. Scrum-Prozess nach Gloger (2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4. Organisation und Scrum nach Gloger (2008) . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5. Drei parallele Prozesse nach Kuhnt (2007) . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6. Lebensphasen eines Projektteams nach Brugger u. Soltermann (2004) . . . . . . . . . . 38 3.7. Wasserfallmodell nach Specker (2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.8. Spiralmodell nach Specker (2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.1. Eignung der Tools nach Spath u. a. (2007) . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.2. Kiviatdiagramm der Top5 Tools und Plone nach Spath u. a. (2007) . . . . . . . . . . . . . 63 5.3. Online Ordner History von Dropbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4. Online Versionierung von Dropbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 . . . . . . . . . . . . . . . . . . . . . . . . . . 72 . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.5. Lokale Ordner-Markierung von Dropbox 5.7. Ordner Kennzeichnung mit Syncplicity 1 4 5 6 7

5.6. Online File Browser von Syncplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.8. Lokale Datei-Markierung von Syncplicity . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.9. Online Versionierung von Syncplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.10.Online Ordner-Administration von FolderShare . . . . . . . . . . . . . . . . . . . . . . . 74 5.11.Arbeitsbereich mit Vorgängen und Gantt-Diagramm in „MS Project 2007“ . . . . . . . . . 78 5.12.Ansicht der importierten XML-Datei aus „MS Project 2007“ . . . . . . . . . . . . . . . . 79 5.13.Code-Vervollständigung in PyDev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.14.Syntax-Hervorhebung und Navigator in PyDev . . . . . . . . . . . . . . . . . . . . . . . 82 5.15.Code-Vervollständigung in Wing IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.16.Syntax Hervorhebung und Tabs in Wing IDE . . . . . . . . . . . . . . . . . . . . . . . . 83 119

Abbildungsverzeichnis 5.17.Code-Vervollständigung in Komodo-Edit . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.18.Code-Hervorhebung in Komodo Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.1. Ablauf einer Programmdatei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.2. Eingabeaufforderung in der Kommandozeile . . . . . . . . . . . . . . . . . . . . . . . . 87 6.3. Anweisungen in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.4. Fallunterscheidung in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.5. Conditional Expression in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.6. For-Schleife in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.7. Zope Architektur (Zope Community, 2008) . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.8. Root-Objekte in Zope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.9. Einfacher Publikationsarbeitsablauf in Plone . . . . . . . . . . . . . . . . . . . . . . . . 97 6.10.Intranet Arbeitsablauf in Plone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.11.Community Arbeitsablauf in Plone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.12.Regeln für Ordner und Container in Plone . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.13.Bedingung für eine Regel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.14.Ausführbare Aktionen für eine Regel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.1. Benutzerauswahl von ARMailServices 0.6 . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.2. Ploneboard 2.0 mit 2 Kategorien und 3 Foren . . . . . . . . . . . . . . . . . . . . . . . . 104 7.3. Versions-History einer Seite in „Plone“ . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.4. Änderungen zwischen zwei Versionen in Plone . . . . . . . . . . . . . . . . . . . . . . . 106 7.5. My to-do tasks aus „eXtremeManagement 1.5.2“ . . . . . . . . . . . . . . . . . . . . . . 107 7.6. Fortschrittsbalken, Tasks und Taskfolder in „ProjectProgress 1.4“ . . . . . . . . . . . . . 107 C.1. Product Backlog (grün: Items für Sprint 1) . . . . . . . . . . . . . . . . . . . . . . . . . 123

C.2. Burndown Chart von Sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 C.3. Impediment List nach Sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 C.4. Product Backlog (grün: Items für Sprint 2) C.6. Product Backlog (grün: Items für Sprint 3) . . . . . . . . . . . . . . . . . . . . . . . . . 125 . . . . . . . . . . . . . . . . . . . . . . . . . 127 C.5. Burndown Chart von Sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

D.1. Dateiverwaltung in Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 D.2. Kalender in Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 D.3. Issue & Task Tracker in Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 D.4. Proposal Tracker in Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 D.5. Project Status Report in Groove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

120

B. Innovationsspiele
Innovationsspiele werden dazu verwendet, auf spielerische Art und Weise Informationen zu erarbeiten und die Bedürfnisse der Kunden besser zu verstehen. Diese Spiele können in Zusammenarbeit mit den Teammitgliedern oder mit den Kunden erprobt werden. Sie werden benutzt, um Produkt-Roadmaps zu erstellen, Verkauf und Marketing zu verbessern, Kundenbeziehungen zu stärken, neue Geschäftsmöglichkeiten zu erforschen und um strategisch zu planen (Hohmann, 2007). Für die Erarbeitung der Anforderungen im Kapitel 4 wurden folgende Innovationsspiele verwendet: Buy a Feature: Ziel ist die Priorisierung der Features einer Software durch den Kunden. Vorgehen: Eine Liste mit potentiellen Features wird erstellt und jedem Feature wird ein Preis zugeordnet. Der Preis basiert zum Beispiel auf Entwicklungskosten oder auf Kundennutzen. Die anwesenden Kunden können danach diese Features kaufen, haben aber nur eine beschränkte Menge Geld zur Verfügung. Einige Features kosten jedoch mehr, als ein einzelner Kunde zur Verfügung hat. Um dieses zu kaufen, müssen mehrere Kunden ihr verfügbares Geld zusammenlegen. Somit wird die Verhandlung innerhalb der Kunden und die Kommunikation gefördert. Ideal ist eine Gruppe von ca. sieben Personen aus verschiedenen Aufgabenbereichen des Kunden. Product Box: Ziel ist es, die wichtigsten Features eines Produkts zu erarbeiten. Vorgehen: Alle Kunden erhalten eine leere Kartonbox und sollen sich vorstellen, sie müssten diese Box, welche das System repräsentiert, nun verkaufen. Als Hilfe soll die Box so verändert werden, dass der Kunde selbst sie kaufen würde. Danach muss er, wie an einer Tradeshow oder auf dem öffentlichen Markt, seine eigene Box den übrigen Anwesenden verkaufen. Der Projektleiter achtet hierbei auf die Fragestellungen, welcher Kunde die Box kaufen würde, und warum. Remember the Future: Ziel ist es, den Begriff des Erfolgs für den Kunden zu verstehen. Jeder Kunde erhält ein paar Blätter Papier und soll sich vorstellen, er befinde sich in der Zukunft - ein paar Monate, ein paar Jahre, je nachdem was der Projektleiter herausfinden möchte. Nun soll er so detailliert wie möglich aufschreiben, was das Produkt dazu beigetragen hat, dass sich der Kunde gut fühlt (dieses Spiel kann mit diversen Adjektiven gespielt werden, z.B. erfolgreich, glücklich, sicher, . . . ). Wichtig ist die Art der Fragestellung: es ist ein grundlegeneder Unterschied ob man fragt „Was soll das System tun?“ oder „Was hat das System getan?“. Spider Web: Ziel ist es, Beziehungen des Produktes zu verstehen. Auf einer grossen leeren Fläche wird der Produktname in die Mitte geschrieben. Nun sollen alle Kunden weitere Stichwörter hinzufügen, die in irgend einer Beziehung zum Produkt stehen (Dienste, Firmen, Personen, physische Objekte, . . . ). Dabei sollen wichtige Verbindungen durch 121

B. Innovationsspiele unterschiedlich starke Linien hervorgehoben werden oder ähnliche Verbindungen, z.B. gewinnbringende, durch einheitliche Farben markiert werden. Alle Beziehungen werden danach in der Gruppe erläutert. 20/20 Vision: Ziel ist es, die Features nach Wichtigkeit zu ordnen. Vorgehen: Der Projektleiter notiert alle Features eines Produktes auf Karten, eine Karte pro Feature. Er durchmischt den Stapel und hängt das erste Feature an eine Pinnwand. Für das zweite Feature muss der Kunde entscheiden, ob dieses wichtiger oder weniger wichtig als das erste Feature ist. Der Projektleiter hängt das Feature danach oberhalb (wichtiger) oder unterhalb (weniger wichtig) der ersten Karte auf. Sind alle Karten durchgespielt, resultiert daraus eine Reihenfolge aller Features nach Wichtigkeit geordnet.

122

C. Planung mit Scrum
C.1. Sprint 01
Beginn: Ende: Retrospektive: Durchschnittliche Velocity: Anzahl Story Points: ID: 04.08.2008 10.08.2008 10.08.2008 30 Points 28 Points 1-7,9,10

Abbildung C.1.: Product Backlog (grün: Items für Sprint 1)

123

C. Planung mit Scrum

Abbildung C.2.: Burndown Chart von Sprint 1

Abbildung C.3.: Impediment List nach Sprint 1

124

C.2. Sprint 02

C.2. Sprint 02
Beginn: Ende: Retrospektive: Durchschnittliche Velocity: Anzahl Story Points: ID: 11.08.2008 17.08.2008 17.08.2008 29 Points 31 Points 8a-c,11-13,19

Abbildung C.4.: Product Backlog (grün: Items für Sprint 2)

125

C. Planung mit Scrum

Abbildung C.5.: Burndown Chart von Sprint 2

126

C.3. Sprint 03

C.3. Sprint 03
Beginn: Ende: Retrospektive: Durchschnittliche Velocity: Anzahl Story Points: ID: 18.08.2008 24.08.2008 24.08.2008 30 Points 31 Points 13,14,20

Abbildung C.6.: Product Backlog (grün: Items für Sprint 3)

127

C. Planung mit Scrum

C.4. Agiles Manifest
Das agile Manifest beschreibt die Grundprinzipien der agilen Entwicklung (Agiles Manifest, 2001):

• Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.

• Welcome changing requirements, even late in development. Agile processes harness change for
the customer’s competitive advantage.

• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

• Business people and developers must work together daily throughout the project. • Build projects around motivated individuals. Give them the environment and support they need,
and trust them to get the job done.

• The most efficient and effective method of conveying information to and within a development
team is face-to-face conversation.

• Working software is the primary measure of progress. • Agile processes promote sustainable development. The sponsors, developers, and users should
be able to maintain a constant pace indefinitely.

• • • •

Continuous attention to technical excellence and good design enhances agility. Simplicity–the art of maximizing the amount of work not done–is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

128

D. Toolspezifikation
D.1. Toolauswahl
Toolauswahl nach Spath u. a. (2007):

129

D. Toolspezifikation

Open Group-ware

Open-Xchange

Kompatible Betriebssysteme Windows, Linux, Mac OSX, Solaris Windows

Webserver (empfohlen) Apache

Datenbanken PostgreSQL, FrontBase, Open-LDAP PostgreSQL, DBServer mit JDBC MySQL, PostgreSQL, Oracle MySQL, PostreSQL, Oracle, Sybase, MSQL, MSSQL MySQL, PostreSQL, Oracle, Informix MySQL, PostgreSQL, Oracle, Borland, Interbase 5 MySQL, PostgreSQL, MaxDB, MSSQL, Oracle MySQL, PostgreSQL, ODBC MySQL, PostgreSQL

Skriptsprachen Objective-C

Lizenz

GNU GPL, LGPL

Simple Groupware

phpGroupWare

Windows, Linux, Solaris, Mac OS, Novell Netware Windows, Linux, Mac OSX

SUSE LINUX Enterprise Server Apache

Java, C

GNU GPL

PHP, XML, SQL, HTML, CSS, sgsML PHP

GNU GPL

Apache

GNU GPL

PHProject

Windows, Linux, Mac OS, Solaris Windows, Linux, Solaris

Apache, IIS, Sambar

PHP

GNU GPL

TUTOS

Apache

PHP

GNU GPL

eGroupWare

Windows, Linux, Mac OSX

Apache, IIS, Roxen

PHP

GNU GPL

NullLogic Groupware

Windows, Linux

IGSuite

Windows, Linux

standalone Server oder Apache, IIS, u.v.a. k.A.

C

GNU GPL

Perl

GNU GPL

130

D.2. PHProject Kompatible Betriebssysteme Windows, Linux, Mac OSX Windows, Linux Windows, Linux, Mac OSX k.A. Windows, Linux Linux, Windows, Mac OS Linux Linux Webserver (empfohlen) Apache Datenbanken MySQL, PostgreSQL MySQL ZODB Skriptsprachen PHP Lizenz

more.groupware

GNU GPL

Silk Plone

k.A. Zope

Java Python

GNU GPL GNU GPL

netOffice dotProject Web Collab

JavaScript, PHP Apache, IIS Apache

MySQL MySQL MySQL, PostgreSQL k.A. Open-LDAP

PHP PHP PHP

GNU GPL GNU GPL GNU GPL

Scalix Kolab

Apache Tomcat Apache

k.A. C, Perl

SPL GNU GPL

Tabelle D.1.: Technische Daten zu den Plattformen nach Spath u. a. (2007)

D.2. PHProject

Stichwortartige Liste des Funktionsumfangs von PHProjekt1 : Allgemein:

• • • • • • • • •

Modularer Aufbau Mehrstufige Privilegienvergabe, Gruppensystem Sprachendatei für 35 Sprachen Anpassung an eigenes Corporate Design Mehrere Skins verfügbar Unterstützt 6 Datenbanksysteme und LDAP Zugriff Dialoggeführte Installation, Update und Konfiguration API zum Einfügen eigener Module Export von Objekten und Listen in pdf, xml, csv, xls, rtf, doc, html, print

Terminkalender

• Ansichten im Einzelmodus: Tag, Woche, Monat, Liste • Gruppenmodus: Terminplan mehrerer User nebeneinander
1

http://www.phprojekt.com/documentation/manual_de_41.pdf

131

D. Toolspezifikation PHProjekt Handbuch Einleitung

• • • • • • • • • •

Anderen Usern Termine eintragen Profilbildung für häufige Personenkombinationen Serientermine täglich, wöchentlich, monatlich, jährlich Terminen Anmerkungen, Kontakte und Projekte zuweisen Termine als privat oder öffentlich kennzeichnen Buchung von Ressourcen (z.B. Räume, Fahrzeuge) Email / SMS Reminder als Addon Start- und Endzeit anklickbar Zeitunabhängige Tagestermine Sekretariatsfunktion: Kollegen Zugriff auf eigenen Kalender erlauben

Zeiterfassung

• • • • • • • •

Schnelle An- & Abmeldung am Hauptbildschirm Täglich mehrmals Kommen und Gehen Nachträgliche Eintragung möglich monatliche Listendarstellung mit Summenbildung Zuweisung von Arbeitszeit auf mehrere Projekte Anzeige der nicht zugewiesenen Arbeitszeit Termine manuell nachtragen Anzeige aller Kollegen, die sich angemeldet haben

Projekte

• • • • • • • • • •

Unterprojekte beliebiger Tiefe Listendarstellung von Projekten in Baumstruktur Historie durch zugewiesene Notizen dokumentieren Anzeige aller zugehörigen Dateien Eigenschaften: Dauer, Leiter, Kontakt, Teilnehmer u.a. Akualisierung des Projektstands durch Projektleiter Zuweisung von Arbeitstunden auf laufende Projekte Statistikauswertung über gebuchte Stunden als Matrix Kostenauswertung, Warnung bei Budgetüberschreitung Gantt Diagramm (Zeitlinien)

Kontakt Manager

• • • • • • • •

Vorgänge zu Kontakt über Notizen festhalten Import/Export verschiedener Formate Profile für häufig zusammengestellte Kontakte Persönliche Ansicht oder Freigabe für alle Übersicht über alle Gruppenmitglieder Sortierung nach Spaltenköpfen auf- und absteigend Volltextsuche und Filter Zuweisung von Kontakten zu Profilen

Anfragesystem (Help Desk)

• • • •
132

Strukturiertes Supportcenter/Help Desk Anfrageformular auf eigener Seite mit optionaler Fristsetzung Kunde kann in Wissendatenbank selbst suchen

D.2. PHProject

• • • • • •

automatische Empfangsbestätigung per Mail automatische oder manuelle Zuweisung auf User Listen- und Formulardarstellung Umfangsreiche Sortier- und Filterfunktionen Definition einer Anfrage als Unterprojekt Zuweisung von Arbeitszeiten auf ein Request

Dateiablage

• • • • • • • • • • •

Elemente: Dateien, Links und Verzeichnisse Baumartige Verzeichnisstruktur beliebiger Tiefe Zugriffsregelung für eigene Dateien Filter für Kategorien und User Listendarstellung mit Sortierfunktion Sortierung nach mehreren Kategorien, auf- und absteigend Uploadformular Dateien für Download temporär sperren Passwordgeschützte Verschlüsselung Automatische Versionszählung Möglichkeit zur Versionierung

Mail Modul

• • • • • • • • • •

Mails senden und empfangen ASCII oder HTML-Format, Attachment anhängen Mehrere Konten abfragen POP3 oder IMAP Zugang Baumartige Verzeichnisstruktur in beliebiger Tiefe Mails durch Regeln in Verzeichnisse sortieren Anzeige ungelesener Mails pro Verzeichnis Mehrere Absender und Signaturen pro User Fax und SMS Support Direct Mailing Option - personalisierte Serienmails verschicken

Notizen

• • • • • •

Eingabe von Gedanken, Memos etc. Listendarstellung mit Änderungsmöglichkeit- Kontakte und Projekte zuweisen Notizen privat halten oder freigeben Anzeige des Erstellungdatums u. letzten Änderung Notizen anderen Usern kopieren oder mailen Zuweisung zu Kontakten und Projekten

Admininistration

• • • • • • • • •

Berechtigung für Administrator durch Passwort in DB. Zugriff durch Superadmin (root) oder Gruppenadmin (beschränkt auf eigene Gruppe) Berichtigung fehlerhafter Zeitkarteneinträge User-, Projekt-, Ressourcen- & Lesezeichenverwaltung Anlegen neuer Kategorien für Helpdesk Check auf tote Links mit Löschoption Löschen alter Forumsbeiträge Aktuelles Chat-Skript sichern, Chat-Leichen beseitigen 133

D. Toolspezifikation Umfragen

• Auswahl beliebiger Gruppenmitglieder • Umfrageeditor • Bis zu drei Antwortmöglichkeiten, alternativ oder mehrfach • Option, nicht abzustimmen • Übersicht/Statistik über aktuelle und frühere Umfragen
Forum

• Darstellung der Beiträge in Baumstruktur • Beiträge mit neuen Antworten an erster Stelle • Limitierte Anzahl von Beiträgen pro Seite • Volltextsuche und Filter • Optionale Benachrichtigung bei Kommentaren • Optionale Benachrichtigung aller Gruppenmitglieder über Posting
Ressourcen

• Ressourcenübersicht mit Kategorie und Beschreibung • Buchung über die Zuweisung zu Terminen • Wochen- oder Listenansicht über gebuchte Ressourcen • Warnung bei Ressourcenkonflikt
Reminder

• Kleines Fenster, das die aktuellen Termine anzeigt • prüft periodisch auf Aktualisierungen • Optional erinnert eine Alertbox an einen Termin • Alle Postfächer werden auf neuen Posteingang überprüft
Lesezeichen

• Gemeinsame Verwaltung von Lesezeichen für die Gruppe • Lesezeicheneditor mit Überprüfung auf Dubletten • Listendarstellung mit Sortierung auf- & absteigend • Volltextsuche
Todo-Liste

• Direkte Eingabe einzeiliger Memos • Listendarstellung mit Löschmöglichkeit
Chat

• Darstellung der Nutzer, die online sind • Mitschnitt und Export als Text-Datei
Suche

• Volltextsuche über ausgewählte oder alle Module • Verknüpfung mehrerer Suchwörter mit AND • Listenanzeige mit direktem Link zum Eintrag
134

D.3. Open-Xchange

D.3. Open-Xchange
Open-Xchange Express Edition2 ist die ideale Lösung für alle kleinen und mittelständischen Unternehmen, die selbst einen E-Mail- und Dokumenten-Server betreiben wollen - ohne dabei auf einen IT-Fachmann angewiesen zu sein.

• E-Mail • Terminverwaltung • Adressverwaltung • Aufgabenlisten • Dokumentenspeicherung • Dokumentenmanagement • Zentrale Bookmarks • Zentrale Wissensdatenbank • Übersichtliche Portalseite • AJAX-basierter Webclient • Anbindung an MS Outlook • Administrationsmodul • Serverbetriebssystem • Webserver • Datenbank • Import von CSV-, iCal- und vCard-Dateien • Backup (Snapshot/Recovery) • Anti-Virus • Anti-Spam
Folgende Funktionen und Leistungsmerkmale sind nicht in der Open-Xchange Express Edition enthalten und bleiben der kostenpflichtigen Version vorbehalten:

• Updates für den Groupware-Server • Zusätzliche Dokumentation • Antivirus/Anti-Spam-Updates • Updates für das Linux-Betriebssystem • Performance-Updates
2

http://www.open-xchange.com/de

135

D. Toolspezifikation Vorteile für IT-Entscheider Open-Xchange Express Edition ist die „Rundum- Sorglos-Lösung“ für E-Mail und Teamarbeit - ohne versteckte Zusatzkosten. Open-Xchange Express Edition erfordert keine weitere Software und ist mit wenigen Schritten installiert. Zusätzliche Kosten für Wartung und Systempflege entfallen dank des automatischen Update-Services von Open-Xchange. Schaffen Sie für Ihre Mitarbeiter die Voraussetzungen, ihre Teamarbeit effizient zu organisieren. Mit dem intuitiven Webclient haben Sie an jedem Rechner mit Internetanschluss Zugriff auf E-Mails, Adressen, Termine, Aufgaben und Dokumente. Kosten für Schulungen und Administration von Clientsoftware enfallen somit. Darüber hinaus können Sie alternativ oder auch parallel Microsoft Outlook als Client einbinden. Vorteile für Administratoren Open-Xchange Express Edition ist komplett und enthält neben dem Betriebssystem auch Mailserver, Collaboration-Server, Web-Server, Datenbankserver, Dokumentenverwaltung, Viren- und SpamSchutz. Open-Xchange Express Edition benötigt kein spezielles Linux-Know-how - weder für die Installation noch für die spätere Administration. Ein grafischer Assistent begleitet Sie in wenigen Schritten sicher durch die Installation. Mit der komfortablen Adminstrationsoberfläche lassen sich Nutzer und Gruppen im Handumdrehen anlegen und bearbeiten. Das Systemmonitoring informiert Sie mit einfach zu lesenden Grafiken über Zustand und Auslastung Ihrer Kommunikationslösung. Das Beste: Die einfache und nahtlose Pflege dieser unternehmenskritischen Anwendung stellt Open-Xchange in Form von geprüften und zertifizierten Updates sicher, die Sie einfach auf Knopfdruck einspielen. Vorteile für Endanwender Open-Xchange Express Edition bietet eine neue, intuitive Benutzeroberfläche, welche die Vorzüge der universellen Verfügbarkeit einer Web-Applikation mit dem Benutzerkomfort einer installierten DesktopAnwendung verbindet. Egal ob unterwegs oder zu Hause: Sie haben über jeden Rechner mit Internetverbindung schnellen und sicheren Zugriff auf Ihre aktuellen E-Mails, Adressen, Termine, Aufgaben und Dokumente. Klare, kontextbezogene Grafiken und Befehle sorgen für Übersichtlichkeit und beschleunigen Ihre Arbeit entscheidend. Die einfache Bedienung mittels vertrauten Funktionen wie „Drag & Drop“ und Kontext-Menüs auf der rechten Maustaste machen den Ein- und Umstieg zum Kinderspiel. Darüber hinaus können Sie mit dem OXtender für Microsoft Outlook E-Mails, Adressen, Termine und Aufgaben mit Outlook synchronisieren - und haben so wichtige Informationen zur Hand, auch wenn Sie einmal offline sind.

D.4. eGroupWare

Hier zuerst die Anwendungen, die jeder in einer Groupware zu finden erwartet

• Kalender: Umfangreicher Kalender der auch die Terminierung von Gruppen, Ressourcen und
Kontakten unterstützt.

• Adressbuch: Adressenverwaltung mit SQL oder LDAP • FelaMiMail: Benutzerfreundlicher IMAP E-mail Client • InfoLog: Sehr umfangreicher Ersatz für ToDo, Notizen und Telefonnotizen, CRM (customer relationship management). Weitere Anwendungen

• Projektmanager: Elementbasirende Projektverwaltung mit sehr tief gehenden Verknüfungsmöglichkeiten mit allen anderen eGW Anwendungen. 136

D.4. eGroupWare

• Ressourcen: Ressourcenverwaltung (Inventar) und Buchungssystem, in den eGW Kalender integriert.

• Dateiverwaltung: Verwaltet Dateien, die im VFS (virtual file system) gespeichert sind, basiert auf
files, sql-db oder webdav.

• SiteMgr: Benutzerfreundliches intuitives Webseiten Bearbeitungssystem mit fein abgestufter Zugriffskontrolle.

• Stundenzettel:Anwendung zur Zeiterfassung, die sehr gut in den Projektmanager integriert ist. • Verfolgungssystem: Verfolgen von Fehlern oder ähnlichem, mit dem Projektmanager integrierbar. • Wiki: eGW’s Tavi:WikkiTikkiTavi clone. • Wissensdatenbank: Wissensarchiv. • Work-flow engine: portiert von Galaxia/Tikiwiki und stark modifiziert verfügbar in eGroupWare
1.2.

• Nachrichten: Nachrichten eingeben und ansehen
Werkzeuge

• Online Hilfe aka Manual • Einstellungen
Administrations Werkzeuge

• Setup: Installation und Update von eGroupWare und seinen Anwendungen • Admin: internes Administrations Interface • Backup: Frontend für einen cron basiertes Backup Script • phpSysInfo: zeigt Systeminformationen auf Linux, Windows und anderen *nix Systemen: load,
Benutzer, freier Speicher, . . .

• Registration: erlaubt es, sich selbst für eGW zu registrieren
Entwickler Werkzeuge

• phpgwapi: unsere API (application programming interface) • eTemplate: new widget based template system, rapid prototyping and db-table designer • Übersetzungswerkzeuge • JiNN: drop-in content management solution for databased websites • soap: test for eGW’s soap interface • xmlrpc: Testanwendung für eGW’s XML-RPC Interface
Verschiedenes

• Umfragen: zeigt Umfragen an und wertet sie aus • Lesezeichen: verwaltet Lesezeichen • Chatty: Chat System für eGroupWare • FTP: basic ftp client
137

D. Toolspezifikation

D.5. Simple Groupware
General

• 100% web-based application (no special client applications or plugins required) • Cross-platform client available as an optional program to keep all data offline on workstations and
mobile devices and make downloads/uploads easier

• Complete secure communication using SSL • Easy and intuitive user interface • One platform for managing, controlling and developing business processes • Autonomy: Simple Groupware is fully driven with open technologies • Individuality: All hierarchical organization structures and responsibilities can be represented and
managed in the application • Intelligent knowledge management: e.g. find everything faster using phonetic fulltext search algorithms and automatic file / content indexing

• Multi-language support (your help is welcome to provide other translations) • Support for working in different time zones • Unicode: Simple Groupware fully supports Unicode characters using UTF-8 • Notifications: get notified by E-mail or RSS when entries are created, changed or deleted, get
reminders for appointments, tasks, birthdays, etc. • Content management with the PmWiki engine and Smarty templates • Mass edit for any subset of entries • All information can be easily sorted and filtered by any custom criteria

• • • •

Support for MySQL, Oracle and PostgreSQL Automatic update management for database structures Integrated update procedure with just 4 clicks to update to the latest version Open source: Free Software, Free Support, released under the GPLv2

Modules included Modules can be assigned to every folder in the tree structure. For example, you can have as many calendars as you like. Individual permissions (read, write, admin) can be assigned to users and/or groups for every folder. If required, rights can be also assigned to single entries. Every user can create his own folder structure. By assigning individual rights you can share any information among all users and groups.

• • • • • • • • • • •
138

Calendar Contacts E-mails Tasks Files Notes Passwords Bookmarks Portal Chat FAQ

D.5. Simple Groupware

• News • Forum • Gallery • Projects • Statuses • Templates • Categories • Inventories • Resources • Brands • Locations • Distributors • Device types • HTML docs • Wiki docs • Offices • Positions • Companies • Departments • Contact groups • Contact activities • Spreadsheets • Users • Groups • Events • Backups • Rights • Search • Statistics • Mail identities • IMAP, POP3, SMTP • RSS • vCard • iCalendar (iCal) • LDIF, LDAP, XML, CSV contacts • Firefox bookmarks • CSV calendar • Local Files • Helpdesk / TTS • Expenses • Timesheets (new in 0.412) • CMS (PmWiki)
139

D. Toolspezifikation The portal module serves as a customizable overview page which can hold summaries of other folders, webpages or Google Widgets. The search module offers a global (phonetic) search through all folders for all kinds of items. The calendar module offers day, week, month, year and Gantt views, recurring events, customizable categories, file attachments, etc. The tasks module automatically highlights late tasks and offers open, closed and calendar views including Gantt diagrams as well as file attachments. The IMAP, POP3 and SMTP modules turn Simple Groupware into an E-mail client for an unlimited number of accounts. Simple Groupware supports server based sorting and searching in IMAP folders. Also, mails can be efficiently shared by copying them from IMAP/POP3 to the database and back. The users and contacts module also offer calendar views for displaying birthdays and anniversaries. Personalization

• • • • •

create his own folder structure create customizable overview pages integrate his own RSS feeds define individual notifications merge other (public) folders with his personal folders

Languages

• • • • • • • • • • • • • • • •

English English (UK) German Brazil/Portuguese Croatian Czech Danish Dutch French Hungarian Italian Russian Slovak Spanish Swedish Turkish

Synchronization of contacts, tasks, notes and appointments

• Synchronization using free SyncML clients on Windows Mobile, Blackberry, Outlook, Palm, iPod,
Thunderbird, Evolution

• Synchronization using a free JavaME client (supported by most newer phones from Motorola,
Nokia and Sony Ericsson) Also available: A Java/SWT based client to use all Simple Groupware contents offline on the Desktop or any Windows Mobile phone. Security Features

• Download restriction for bad file extensions (.exe, .com, .hta, .cpl, etc.) • Automatic filter for bad HTML (Javascript, ActiveX, Java Applets, etc.) and Cross-site scripting
(XSS) 140

D.5. Simple Groupware

• Protection against new methods like Zero-Byte masking, Email header injection, Session hi• • • • • • •
jacking Integrated Denial of Service (DoS) protection IP blocking in case of too many bad login attempts User authentication and possibility to prohibit non-SSL requests Individual rights for every folder given to users and/or groups Special algorithms and design to protect against SQL injections Installation not possible with Register_Globals=on All files can be automatically checked by a virus scanner (e.g. using BitDefender, McAfee, F-Prot, etc.)

Data Integration / Import With Simple Groupware you can seamlessly integrate any existing infrastructure:

• Keep your mail-system using IMAP, POP3 and SMTP accounts (including SSL/TLS) • Mail servers tested with Simple Groupware: Courier-IMAP, Cyrus IMAP, Dovecot, Postfix, qmail, • • • • • • • •
Gmail, UW IMAP, hMailServer, MS Exchange Integrate appointments from iCalendar files Access your file-servers directly within Simple Groupware (e.g. Samba, Windows, NetApp) Integrate contacts from vCard files, Thunderbird, Outlook, LDAP / Active Directory Integrate news using RSS feeds Integrate PmWiki page stores Integrate Firefox bookmarks Integrate data from CSV files using Simple Spreadsheet Integrate external services like Google Maps or Skype

Once integrated, data can be exported again to XML, CSV, HTML, RSS, iCalendar, vCard, LDIF. For example, you can directly view your Calendar with Mozilla Sunbird. Integration with other relational databases or other data sources can be done using the data handlers api. Flexible User Authentication

• Keep your old system(s) and manage only one user database • Authenticate using built-in methods of Apache (e.g. Basic, NTLM, etc.) • Use NTLM (Single sign-on), LDAP (incl. groups), Active Directory (incl. groups), IMAP, POP3 and
SMTP to authenticate users (including SSL/TLS) • User self registration (not enabled by default) • Others (like ODBC) can be added using the authentication api Content Management

• • • • •

Enterprise content management with the PmWiki engine and Smarty templates Very easy and highly extendable Wiki markup Individual templates for every page Static caching: best performance for handling high traffic web sites Multi-user authentication: individual permissions for every page, ideal for Intranets or Extranets pages • Media file management with Simple Groupware document management (incl. WebDAV server) • Full support for the PmWiki plugin architecture Document Management The files module makes it possible to share files, keep versions of files, manage folders with individual permissions for users/groups, etc. If required, permissions can be also set to single files as an addition to folder permissions. Files can be locked/unlocked for exclusive editing (checkin / checkout). 141

D. Toolspezifikation

• All kinds of documents can be managed centralized and secure • WebDAV server: map a drive letter in Windows explorer and create or edit files directly with any
application on your desktop, including folder summaries in HTML and Excel as well as automatic versioning without manual check-in or check-out Special text indexing algorithms and external converting tools offer automatically searching through MS Office and OpenOffice documents as well as PDF documents and media files (e.g. exif headers in images, id3 tags in mp3) Typical files from Open Office and Microsoft Office can be previewed in the web-browser (.pdf, .doc, .xls, .ppt, .odt, .ods, .odp, .docx, .xlsx, .pptx, etc.) Typical images can be previewed in the web-browser (.tif, .bmp, .eps, etc.) All files can be automatically checked by a virus scanner (e.g. using BitDefender, McAfee, F-Prot, etc.) Files from existing file servers can be directly accessed (Samba, Windows, NetApp, etc.) Custom meta data can be saved along with all kinds of files on an existing file server Special handlers offer common file conversions (e.g. compressing, image manipulation)*

• • • • • •

GUI components

• • • •

TinymCE: HTML editor, enabling WYSIWYG Simple Spreadsheet: Spreadsheet editor and data import tool EditArea: Code editor Tigra Calendar: Date pickup

Customizing

• Theme support: layout customization of colors, text styles, etc. • Existing Modules can be expanded and fully customized using sgsML (simple groupware soluti• • • •
ons Markup Language = XML-based language for defining web applications at lowest expenses) New Modules can be easily created using sgsML New handlers for indexing, converting and previewing can be easily added using the file-handler api Custom PHP functions can be used directly to display content Layout can be customized with Smarty templates

Personal Knowledge Management

• • • • •

Personal and Global bookmark management Individual composing of small notes Add comments and extra files to your e-mails Private, public and team calendars Mark special entries with colors

Administrative Workflows

• Manage resources like rooms, computers, beamers, etc. inside one application • Administrate a complete IT-Support using the ticket-, resource- and inventory-system • Future: Represent all kinds of administrative workflows
System management

• • • • •
142

Create and restore backups of folders Manage open user sessions View all kinds of system events (logins, performance and system problems) Get statistics about page views, uploads, downloads, logins, etc. View database processes, table sizes and status variables

D.6. IGSuite

• Manage the trash folder (deleted datasets, deleted files)

D.6. IGSuite

Die Projekthomepage3 listet die detaillierten Funktionsbeschreibungen leider nur in Italienisch. Daher werden nur die Kern-Funktionen aufgelistet.

• • • • • • • • • • • • • • • • • •

IGWebmail - Advanced webmail client IGCalendar - Advanced shared calendar IGTodo - Shared todo system IGFile - Web filemanager IGWiki - Versioning Wiki clone IGFax - HylaFax management IGMsg - Intranet short message system IGChat IGContact Vendors list management Advanced report maker Quality System management Documental System Direct mailing tools Users management Auto upgrade Searching Engine IGSuite Environment

D.7. Microsoft Groove
Rollen Der Projektleiter startet einen Arbeitsbereich und lädt hierzu weitere Teilnehmer ein. Diese erhalten im Teambereich folgende Berechtigungen zugewiesen: weitere Teilnehmer ein- und ausladen, Tools hinzufügen und löschen sowie ausstehende Einladungen abbrechen. Vordefiniert sind die drei Rollen Manager, Teilnehmer und Gast. In der Office-Version können keine weiteren Abstufungen erstellt werden, jedoch können die Berechtigungen dieser drei Rollen selbst gesetzt werden. Dokumente Im Bereich Dateien werden rojektspezifische Dateien verwaltet. Das Hinzufügen von neuen Datein

Abbildung D.1.: Dateiverwaltung in Groove
3

http://www.igsuite.org

143

D. Toolspezifikation geschieht über das Dateibrowsing und legt die Dateien im Workspace ab. Die Dokumente werden über die Groove-Oberfläche gestartet, nach dem Beenden automatisch wieder im Workspace abgelegt und eingeckeckt, sobald eine Internetverbindung besteht. Die Verfügbarkeit aller Dateien ist somit auch im Offline-Betrieb gewährleistet. Die Struktur wird dabei wie gewohnt über Ordner organisiert. Für die Verwaltung von Bildern steht eine eigene Oberfläche zur Verfügung, welche eine Vorschau sowie die Verlinkung von Bildern, zum Beispiel zur Integration in eine Besprechungs-Einladung, ermöglicht. Für das schnelle Aufnehmen von Informationen steht eine Notiz- und Skizzenfunktion zur Verfügung. Kalender Für die Terminverwaltung steht in Groove ein Gruppen-Kalender zur Verfügung. Wünscht man mehr

Abbildung D.2.: Kalender in Groove Funktionalitäten, so steht ein Besprechungs-Tool zur Verfügung. Ein Besprechungs-Eintrag kann hier an mehrere Mitglieder zugewiesen werden (und nur diese sehen den Eintrag dann auch), es können Anhänge mitgeben, Traktanden erfasst und Protokolle abgelegt werden. Im Beschreibungstext können hier auch Links zu Bildern, Kalendereinträgen und Dokumenten erstellt werden. Kommunikation Integriert ist das Versenden von Nachrichten an die Projektmitglieder sowie eine Chat-Funktion, zu welcher alle aktiven Mitglieder Zugang haben. Der Chat verfügt nebst dem Textmodus auch über einen Zeichnungsmodus. Aufgaben Micorosoft stellt online eine Reihe von vordefinierten Formularen bereit, welche in Groove importiert

Abbildung D.3.: Issue & Task Tracker in Groove werden können. Darunter ist auch ein Issue & Task Tracker verfügbar, mit welchem offene Aufgaben und Tasks nachverfolgt werden können, welche über ein Start- und Enddatum verfügen und einem Owner zugewiesen werden. Kosten Über den Time Tracker können die aufgewendeten Stunden und somit die Kosten überwacht werden. Projekte können in Phasen zerlegt werden und einzelne Aktivitäten zur Bearbeitung an andere Teammitglieder delegiert werden, welche danach ihre Arbeitszeiten auf diesen Aktivitäten erfassen können. Ressourcen Microsoft stellt einen Asset Tracker zur Verfügung, mit welchem materielle Ressourcen verwaltet und auch verrechnet werden können. Änderungen Über den Proposal Tracker können Änderungen und Wünsche eingereicht werden, denen danach Tasks 144

D.7. Microsoft Groove

Abbildung D.4.: Proposal Tracker in Groove

und Personen zugewiesen werden können. Ebenfalls steht ein Problemverfolgungsbereich standardmässig zur Verfügung. Berichte Mit Project Status Reports kann der Projektstand überwacht werden. Die einzelnen Status Reports

Abbildung D.5.: Project Status Report in Groove können einer Kategorie zugewiesen und von den Projektmitgliedern kommentiert werden. Sicherheit Alle Arbeitsbereiche werden in einer verschlüsselten Datei auf der Festplatte gespeichert, auf die der Zugriff nur mit dem dazugehörigen Konto und über Groove möglich ist. Für die Synchronisation werden die Dateien ebenfalls verschlüsselt. Es folgt das offizielle Datenblatt von Microsoft:

145

Microsoft Office Groove 2007
Microsoft® Office Groove® 2007 is a collaboration software program that teams can use to work together dynamically in collaborative workspaces from virtually any location. Word document or new Microsoft Office Outlook® e-mail message. • Customize workspaces to meet your project needs. Choose from more than 10 included workspace tools, such as file sharing, threaded discussions, team meetings, shared calendar, and more. Add content to workspace tools right from your computer or other systems.

Work Together Effectively with the Team, Tools, and Information in One Place—Right on Your Desktop Office Groove 2007 meets the needs of today’s teams that must form quickly to get work done regardless of location or organizational affiliation.

Example of Office Groove 2007 interface.

Create workspaces with two clicks without IT help or server space. Office Groove 2007 is software that runs on your computer like other Microsoft Office system applications. Creating a new workspace is as easy as creating a new Microsoft Office

www.microsoft.com/office/groove

Invite the team across departments, offices, and organizations. Inviting a partner, supplier, or customer to your Groove workspace is as easy as inviting a colleague. And you can share your workspace with confidence as Office Groove 2007 encrypts data on computers and as it travels across networks and firewalls.

Share your document updates smoothly. When your documents are in a Groove workspace, you never have to worry about attaching, uploading, or copying updated documents to share them with your team. Groove automatically sends just your changes to your team members. Share and revise large files with ease.

Automatic synchronization keeps you and the team up to date. Office Groove 2007 keeps everyone up to date by automatically synchronizing each and every change made within the workspace.

Keep multiple computers in sync. If you have multiple computers—a portable computer and desktop, for example—Office Groove 2007 can keep a copy of all your workspaces and data synchronized on each computer, even if they’re never online at the same time.

Create and Manage Content More Effectively Office Groove 2007 helps streamline the process of creating and managing content—both unstructured and structured—by enabling teams to share and work together on information from existing business systems and applications and easily publish their final deliverables.

Work with familiar Microsoft Office system applications.

Increase Your Personal Impact on Team Projects Because all your Groove workspaces are stored right on your computer, you can stay productive anywhere you need to work. • Work effortlessly anywhere—online or offline. You don’t have to lose valuable work time just because a network connection is unavailable. Any changes you make in Groove workspaces while offline will be synchronized automatically the next time you connect.

Groove Alerts appear conveniently in the Windows Taskbar.

Simplify document publishing and workflows with SharePoint® document library integration. You can now work smoothly with SharePoint document libraries, which enables you and your team members to share and iterate documents in a Groove workspace. Then, publish final versions to Microsoft Windows® SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007 for workflows, storage, and retrieval.

working on what, when. And with Microsoft Office Communicator 2007 integration, you can launch a real-time chat or phone call at just the right time. • Extend just the right data at the right time. Project teams work on both unstructured and structured data, some of which comes from line-of-business applications. But when teams manually export data, redundancy and errors can result. With SharePoint Server and InfoPath integration, and a services-based integration platform, IT organizations can extend “live” data into Groove workspaces at just the right time. And Office Groove 2007 makes sure any changes are updated in the business systems— automatically. For More Information Learn more about Office Groove 2007 and the Microsoft Office system at www.microsoft.com/office/groove.

Extend structured business processes into Groove workspaces with Microsoft Office InfoPath® 2007 integration. Now you can import your InfoPath forms into a Groove workspace to quickly and easily collect and track structured data among your distributed team. You can also integrate the data captured with back-end systems using Microsoft Office Groove Server 2007.

Help shorten cycle times with built-in communication tools. If you’re working with your team in a Groove workspace, the integrated presence awareness and alerts tell you who’s online and who’s For complete system requirements, visit www.microsoft.com/office/groove.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Groove, InfoPath, the Office logo, Outlook, SharePoint, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are property of their respective owners.

D.8. Microsoft Windows SharePoint Services (WSS)

D.8. Microsoft Windows SharePoint Services (WSS)
Eigenschaften Funktionen der Windows SharePoint Services aus Benutzersicht können mit folgenden Eigenschaften zusammenfassend beschrieben werden4 :

• Zentrale Datenablage: Informationen werden zentral und nach individuell vorgegebenen Strukturen in Listen abgelegt.

• Aktualität von Informationen: Änderungen erfolgen i. d. R. in Echtzeit und stehen berechtigten
Benutzern sofort zur Verfügung.

• Benachrichtigung: Benutzer können über Änderungen sofort, einmal täglich oder wöchentlich per
E-Mail benachrichtigt werden. • Suche: Es kann nach allen in SharePoint abgelegten Informationen gesucht werden. • Integration: Listen sind in den korrespondierenden Microsoft-Anwendungen direkt verfügbar. Beispiel: alle Listen können in Microsoft Excel und Microsoft Access bearbeitet werden, Adresslisten sind als Kontaktlisten in Outlook verfügbar und Dokumentenbibliotheken (Dokumentenlisten) können als Ort zum Öffnen und Speichern von Dateien aus allen Microsoft Office-Anwendungen verwendet werden. Merkmale Wesentliche Merkmale der Windows SharePoint Services in der Anwendung sind:

• Webbasierter Zugriff per Browser wie Firefox, Internet Explorer, Netscape Navigator. • Strukturierung: Informationen können in Abhängigkeit zueinander hierarchisch gespeichert werden.

• Darstellung: Informationen können ganz oder auszugsweise nach vorgegebenen Kriterien (Filtern, Gruppierung) und bedarfsweise in gegenseitiger Abhängigkeit dargestellt werden.

• Freiheitsgrad: Benutzer können Listen erstellen, anpassen oder löschen. • Integration zu Microsoft Office. Windows SharePoint Services und Microsoft Office erweitern ihre
Funktionen gegenseitig. Beispiele sind Teamkalender und Teamaufgabenlisten in Outlook oder Erweiterungen der Windows SharePoint Services durch Microsoft Frontpage. • Integration zu weiteren Microsoft-Produkten: Exchange, BizTalk, SQL-Server und Project-Server. • Integration: Es können weitere digitale Datenquellen angebunden werden. • Erweiterbarkeit und Anpassbarkeit. Im Anschluss folgt auf den nächsten drei Seiten das offizielle Datenblatt von Microsoft zu „Windows SharePoint Services“.

4

http://de.wikipedia.org/wiki/Microsoft_Windows_SharePoint_Services

149

Windows SharePoint Services 3.0
actions are required or important changes are made to existing information or documentation, including announcements, sophisticated alerts, surveys, discussion boards, and (new for 3.0) RSS. • New! Provide creative forums for brainstorming ideas, building knowledge bases, or simply gathering information in an easy-to-edit format with new templates for implementing blogs (also known as weblogs) and wikis (Web sites that can be quickly edited by team members—no special technical knowledge required). • New! Stay productive while mobile with enhanced support for offline synchronization through Microsoft Office Outlook® 2007, which enables users to manage document libraries, lists, calendars, contacts, tasks, and discussion boards even offline, and to synchronize changes when reconnected to the network.

Microsoft® Windows® SharePoint® Services combines a robust, extensible platform with rich, out-of-the-box functionality to make it easier for teams to work together, communicate, and collaborate. Windows SharePoint Services is a versatile technology in Microsoft Windows Server™ 2003 that organizations and business units of all sizes can use to help increase the efficiency of business processes and improve team productivity. With tools for collaboration that help people stay connected across organizational and geographic boundaries, Windows SharePoint Services gives people access to the information they need. Built on Windows Server 2003, Windows SharePoint Services also provides a foundation platform for building Web-based business applications that can flex and scale easily to meet the changing and growing needs of your business. Robust administrative controls for managing storage and Web infrastructure give IT departments a costeffective way to implement and manage a high-performance collaboration environment. With a familiar, Web-based interface and with the ability to work smoothly with everyday tools including those available in the 2007 Microsoft Office system, Windows SharePoint Server is easy to use and can be deployed rapidly.

Collaborate Easily and Effectively
Windows SharePoint Services helps teams stay connected and productive by providing easy access to the people, documents, and information they need to make more informed decisions and get the job done. Enhancements in Windows SharePoint Services 3.0 make it easier than ever to share documents, track tasks, use e-mail efficiently and effectively, and share ideas and information. • Provides a single workspace for teams to coordinate schedules, organize documents, and participate in discussions—within the organization and over the extranet. • Enhanced Easily author and manage documents, and help to ensure their integrity with enhanced features including the option to require document check-out before editing, the ability to view past revisions and restore to previous versions, and the ability to set document-specific security controls. • Enhanced Help people and teams stay on task with a variety of communication features that let users know when

Synchronize information with Office Outlook 2007, or syndicate via RSS.

Get Started Quickly
As a built-in component of Windows Server 2003, Windows SharePoint Services makes it easy for IT departments to implement a dependable, scalable collaboration infrastructure with minimal administrative time and effort. The ability for Windows SharePoint Services to work smoothly with familiar tools for authoring, publishing, organizing, and finding information, including those within the Microsoft Office system, helps users get up to speed quickly. • Enhanced Simplify the creation and navigation of workspaces with the improved user interface and site

creation tools in Windows SharePoint Services 3.0 that provide easy-to-use templates, professional-looking site themes, and the ability to rearrange site navigation from within the browser.

manage the participation and access of others, all within parameters set by IT. • New! Provide a more robust document storage environment with document storage, Recycle Bin item retrieval, and version control features built in to team workspaces. • Enhanced Easily manage and configure Windows SharePoint Services by using a Web browser or commandline utilities, and enable a variety of custom and third-party administration solutions using the Microsoft .NET Framework.

Provide a Foundation for Web-Based Applications
With Windows SharePoint Services 3.0, IT professionals can tailor or extend the Windows SharePoint Services foundation to create new, efficient, Web-based tools and services specific to the organization, department, business process, or industry vertical. Through a highly customizable and extensible platform, companies can tie these new tools and services to existing line-of-business applications, capitalizing on existing IT investments and valuable information stored in back-end systems. • Enhanced Manage business documents more easily with enhanced document library support and a common repository for document storage. • Enhanced Take advantage of the ability to work smoothly with Microsoft Office SharePoint Server 2007, which expands the platform services and common framework for document management exposed by Windows SharePoint Services to offer enterprise-wide functionality for records management, search, workflows, portals, personalized sites, and more. • New! Use Microsoft Office SharePoint Designer 2007 to quickly and easily customize SharePoint sites and build reporting tools and applications tailored to specific tasks without writing or deploying new code. • New! Content types enable you to define custom metadata for documents. Working smoothly with 2007 Microsoft Office system client applications enables you to edit metadata through the Document Information Panel.

Enhanced user interface assists in site navigation.

• Enhanced Make it easy for users to get up to speed quickly by providing them with the ability to work with familiar productivity tools such as those found in the Microsoft Office system. Users can create workspaces, post and edit documents, and view and update calendars on SharePoint sites, all while working within Microsoft Office system files and programs. • Enhanced Customize workspaces with new application templates that provide custom scenarios for building workflows on the Windows SharePoint Services platform that address specific business processes or sets of tasks.

Deploy a Manageable Infrastructure
Deployment of Windows SharePoint Services 3.0 increases control over and enhances security of your organization’s data and information resources. Help reduce the dependency of business units on your company’s IT department for site provisioning, implementation, backup, and support. Whether you’re a contributor to a team site, a site owner, or a server administrator, Windows SharePoint Services 3.0 provides exceptional administrative controls for managing content, users, and sites so that individuals and teams can operate efficiently and effectively. • Enhanced Increase the security of business information with enhanced administrative controls that help decrease cost and complexity associated with site provisioning, management, support, operations, and backup and restore. • New! Give IT better control over your organization’s infrastructure with new and improved services for controlling access to information and setting policies for site creation that enable security controls to be set as deep down as the item level. • New! Empower site managers and teams without compromising security by enabling them to initiate and control their own self-service workspaces and tasks, and

System requirements
Before you install and configure Windows SharePoint Services 3.0, make sure your server computer has the recommended hardware and software. For both singleserver and server farm deployments, your computers must meet the following hardware and software requirements: Hardware requirements Single Server Deployment: A computer with processor clock speeds of 2.5 gigahertz (GHz) or higher; a minimum of 1 gigabyte (GB) of RAM, 2 GB of RAM recommended; disk space up to 2 GB for installation minimum, 5 GB or more minimum for data. You will

also require fast broadband Internet access for downloads and activation. Server Farm Deployment: Computers with processor clock speeds of 2.5 gigahertz (GHz) or higher; a minimum of 1 gigabyte (GB) of RAM, 2 GB of RAM recommended; SQL Server 2000 SP3 (or later) or SQL 2005 system with dual processors of 2.5 GHz and 2 GB RAM minimum; disk space up to 2 GB for installation minimum, 5 GB or more minimum for data. You will also require fast broadband Internet access for downloads and activation. Software requirements Computer running Microsoft Windows Server 2003 with Service Pack 1 (SP1) or Windows Server 2003 x64; Microsoft .NET Framework 3.0. The computer must be configured as a Web server running Microsoft Internet Information Services (IIS) 6.0 with common files, Simple Mail Transfer Protocol (SMTP) service, and World Wide Web service. The computer must be using the NTFS file system. Windows Server 2003 includes a conversion utility (Convert.exe) that you can use to convert an existing file allocation table (FAT) volume to NTFS without losing data.

Web browsers: Any Microsoft Windows, Macintosh, or UNIX client computer can use Windows SharePoint Services provided it runs one of the following Web browsers: Level 1 Web Browsers - Level 1 Web browsers take advantage of advanced features provided by ActiveX controls and provide the most complete user experience. Level 1 browsers offer full functionality on all SharePoint sites, including the Central Administration Web site. • For Windows systems: Microsoft Internet Explorer 6.0 or later; Windows Internet Explorer 7.0 or later

Level 2 Web Browsers - Level 2 Web browsers provide basic functionality, so that users can both read and write in SharePoint sites and perform site administration. However, because ActiveX controls are supported only in Level 1 browsers, and due to the functionality differences within different browsers, a different user experience might be provided and there could be some variances from the user experience from the Level 1 browsers. • • • For Windows systems: Firefox 1.5 or later; Mozilla 1.7 or later; Netscape Navigator 8.1 or later For UNIX/Linux systems: Firefox 1.5 or later; Netscape Navigator 7.2 or later For Macintosh systems: Firefox 1.5 or later; Safari 2.0 or later

For more information about Microsoft Windows SharePoint Services, visit http://www.microsoft.com/sharepoint or contact your local Microsoft Certified Solutions Partner.
© 2006 Microsoft Corporation. All rights reserved. This datasheet is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, OR IMPLIED, IN THIS SUMMARY. Microsoft, Internet Explorer, Outlook, SharePoint, Windows, the Windows logo, Windows Server, and Windows Server System are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. PSN-WSS-DS-1-1-10.

D.9. Microsoft Office Project 2007

D.9. Microsoft Office Project 2007
Das offizielle Datenblatt von Microsoft zu Project:

153

Microsoft Office Project Standard 2007
Microsoft® Office Project Standard 2007 gives you robust project management tools with the right blend of usability, power, and flexibility so you can manage projects efficiently and effectively. You can stay informed and control project work, schedules, and finances; keep project teams aligned; and be more productive through integration with familiar Microsoft Office system programs, powerful reporting, guided planning, and flexible tools. Understand and Control Project-Related Schedules and Finances Better organize your projects and people with the scheduling power of Office Project 2007. • Trace the source of issues. Using the Task Drivers feature, you can determine prerequisites and resource constraints that drive the start date of a selected task. With Task Drivers, you can easily trace critical paths in project plans to find the root cause of a particular delay.

Example of the Task Drivers pane.

• Reverse changes. Experiment with what-if scenarios by using Multiple Level Undo. This enables you to undo and redo changes to views, data, and options. You can undo actions or sets of actions from macros or compliant, third-party customizations www.microsoft.com/office/project

to fully understand the implications of each change. • See the effects of a change. Determine the impact of a change on all other dependent tasks with Change Highlights. Project automatically highlights all items that shift as a result of the most recent change you make.

track resources, maintain costs, and communicate progress to your team. You can also adapt these reports to present the specific information you want to display. • Use Project views to convey information. Updated views and visual capabilities allow for better reports. The Background Cell Highlighting feature enables you to change the color of a cell or row to convey additional meaning.

Green highlights indicate effects of edits.

• Control project finances. Assign budgets to projects and programs to allocate funds and track costs. • Assign costs to tasks. Assign multiple arbitrary costs (not based on work time) with the new Cost resource type. Also, new fields for cost information enable better project accounting. You can more accurately monitor project financials and keep your project in sync with data in your accounting system. Effectively Communicate Project-Related Information Communicate your progress and issues effectively with Office Project 2007. • Use predefined reports. Select, preview, and print the most frequently used information needed to manage projects,

Example of Background Cell Highlighting.

• Capitalize on charts and diagrams. Easily create charts in Microsoft Office Excel® 2007 or 2003 and diagrams in Microsoft Office Visio® Professional 2007 of your project data with the Visual Reports feature. This feature creates report templates that may be reused with different projects. These reports support PivotTable® views versus the static snapshots of Project information that the Copy Picture to Office Wizard creates in Excel, Microsoft Office Word, or Microsoft Office PowerPoint®.

• Save time with project templates. Project provides many out-of-the-box templates to help speed the project creation process. A Project template prepopulates task and resource information, formatting, macros, and other project-specific settings. You can send templates to other users via e-mail to share best practices and create consistency. You can also download additional templates from the evolving Microsoft Office Online gallery. • Create your own template. Take advantage of your own best practices by creating your own custom templates. This enables you to reuse an existing project as the basis for future projects. • Tap Office Online Help and training. Get Productive Quickly Easily assign resources, control finances, and help improve cost estimation. • Follow the Project Guide. Learn to use Project by following the Project Guide, an interactive step-by-step planning aid that helps you quickly master the project management process. Get Help quickly while you work. Project provides a wealth of assistance, from a robust Help search engine and wizards to online access to training courses, templates, and more (requires Internet connection).

The Visual Reports window with an Excel report.

The Gantt view with the Project Guide task pane.

D.10. PyDev

D.10. PyDev
Auf der Projekthomepage5 werden die wichtigsten Features und die Features-History von „PyDev“ gelistet. Editor

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

Package Explorer showing outline for python modules Mylyn integration (separate feature: org.python.pydev.mylyn.feature) Jython and Python support! Support for scripting Pydev with Jython Nice PYTHONPATH configuration! Project and module creation wizards Ctrl+Shift+O: Organizes imports or sorts selection alphabetically Ctrl+Shift+F: Autoformat your code (preferences can be set) Python 2.4 syntax supported Python 2.5 syntax supported PyDev builders can be disabled Syntax highlighting Spell checking (depends on JDT for Eclipse 3.3) Hovering in errors shows descriptions Matching brackets highlighted. Parser errors marked in the task list Outline view with imports/functions/classes Tabs or spaces preference Smart indentation (indent and dedent) Navigation: keyboard shortcuts to previous or next function. Default: (Ctrl+Shift+Up and Ctrl+Shift+Down) Comment and uncomment commands (on the popup menu) and keybindings. Default: (Ctrl+3 and Ctrl+Shift+3) hyperlinks over functions//import statements Code folding Refactoring with bicycle repair man. Code Completion (Ctrl+Space) Templates Completion (Ctrl+Space Too) Go to definition with F3 (powered by bicycle repair man) Content Assistant (Ctrl+1) Code Coverage Pylint TODO tasks Background and current line color chooser.

Debugger

• • • • • • •
5

Python and Jython support Watch Breakpoints Step in/out/over Multiple threads Variable display File hyperlinks in the console output (you can click on stack traces)

http://pydev.sourceforge.net

157

D. Toolspezifikation

Interactive Console View

• Code Completion
Context sensitive with shell completions Qualifier matches as case insensitive Templates Repeating the activation changes from templates to default completions Console Configurations Initial commands for starting the console Colors for the console Vmargs can be specified for jython Auto-indent Auto-edits Context info on hover Up / Down Arrows cycles through the history (and uses the current text to match for the start of the history command) Page Up: shows dialog with console history (where lines to be re-executed can be selected) Esc: clears current line ctrl+1 works for assign quick-assist Hyperlinks addedd to tracebacks in the console Paste added directly to the command line Cut will only cut from the command line Copy does not get the prompt chars Home goes to: first text char / prompt end / line start (and cycles again) Cursor automatically moved to command line on key events Multiple views of the same console can be created Limitations Output is not asynchonous (stdout and stderr are only shown after a new command is sent to the console)

• • • • • • • • • • • • • • •

D.11. Wing IDE 101
Auf der Projekthomepage6 sind die Unterschiede der einzelnen verfügbaren Editionen abgebildet. Hier folgt die Features-Liste der frei verfügbaren Version. Editor

• • • • • •
6

Syntax highlighting Visual Studio style key bindings VI/Vim key bindings Emacs key bindings Brief key bindings OS X style key bindings

http://www.wingware.com

158

D.11. Wing IDE 101

• • • • • • • • • • • •

Block indentation Indentation guides Adapts to file indent style Adapts to file EOL style Block commenting Rectangular and line selection Brace matching Visible white space Detect and load external changes Editor splits & tabs Configurable tab key Print file or selection

Code Intelligence

• • • • • •

Goto-definition Source index menus Auto-indent Code-aware line wrapping Error indicators Scans for sys.path changes in main debug file

Search

• Basic search • Toolbar quick search • Search in Selection
Unit Testing

• nur in der kommerziellen Version
Debugger

• • • • • •

GUI, Web, and script debugging Exception traceback reporting View stack and locals/globals Supports input() and raw_input() Integrated debug process I/O with configurable text encoding Native console I/O

Other Features

• • • • • • • • • • • •

Supports most versions of CPython Supports Stackless Python Supports 32-bit and 64-bit Python builds Supports debug builds of Python Supports cygwin Python Integrated Python shell with auto-completion Customizable user interface Create multiple tool instances Graphical preferences editor Integrated documentation, How-Tos, and tutorial Integrated feedback / bug reporting Automatic patch / update manager 159

D. Toolspezifikation

• Supports code in zip archives and eggs • Supports code in buildouts • Quick keyboard navigation to files and symbols

D.12. Komodo Edit

Die Projekthomepage listet die Features von „Komodo Edit“7 . Multi-language support Advanced support for:

• Browser-side languages: CSS, HTML, JavaScript and XML • Server-side languages: Perl, PHP, Python, Ruby and Tcl • Web template languages: RHTML, Template-Toolkit, HTML-Smarty and Django
Autocomplete and calltips

• Write code faster and shorten the learning curve with code completion that guides you as you
work

• • • • •

CSS, HTML, JavaScript, Perl, PHP, Python, Ruby, Tcl, XML and XSLT. Schema-based XML/HTML completion Multiple-language file support, such as CSS and JavaScript completion in HTML Support for adding third-party libraries Interpreter version differentiation of built-in and standard library information

Multi-language file support Correct syntax coloring of multi-language files and templated files, common in many web programming frameworks. Add custom language support (User-Defined Languages or UDL, used to provide support for RHTML, Template-Toolkit, HTML-Mason, Smarty and Django). Standard editing features Code commenting, auto-indent and outdent, block selection, incremental search, reflow paragraph, join lines, enter next character as raw literal, repeat next keystroke and clean line endings on ßave". Syntax checking Instant feedback for all fully-supported languages. Syntax coloring Spot errors easily and improve readability and context, even in multi-language files (unique to Komodo!). Vi emulation Modal Vi keybindings emulate navigation, text insertion and command behavior. Custom commands can be implemented by adding Komodo macros to a Vi Commands Toolbox folder.
7

http://www.activestate.com

160

D.12. Komodo Edit Emacs keybindings Emacs-like keybinding scheme supports new editor features modeled on Emacs, such as transient marks (similar to the Emacs mark ring"), repeat next command and reflow paragraph. HTML preview Check HTML, XML and CSS files side-by-side or in a browser, using arbitrary files or URLs. Multilingual Input Method Editor (IME) support Use your standard keyboard to enter multi-byte characters, such as Simplified Chinese, Japanese and Korean. Code snippets Store any piece of code for reuse. Code folding Work quickly and efficiently with large sections of code. Multi-document editing Easily work on multiple documents simultaneously using multiple tab groups, split view, and crossdocument search. Tutorials Easily master editing features. Project manager Convenient, flexible organization of all project elements. Live Folders Project view displays the current contents of corresponding file system directory. Virtual Folders Explicitly maintained multi-purpose containers for any project or Toolbox component, containing pointers to selected components from different file system locations. Store it Store virtually anything, including configurable Runcommands, macros, code snippets, URLs, Live and Virtual Folders, templates, menus, toolbars and remote files. Share it Share a Toolbox with networked team members or distribute valuable Toolbox items to other Komodo users with the import/export function. Extensibility: XPI Extensions Create your own plug-ins. XPI extension support provides the same capability as Firefox, with all standard Mozilla APIs based on XUL, XBL, and XPCOM, plus our own for Python and JavaScript. We’re even using this in Komodo development; for example, when adding UDL-based languages and defining custom language syntax-coloring. Other new features, such as the DOM Viewer, are also extensions. With full documentation and an active community providing support, Komodo IDE’s power is as boundless as your imagination.

161

Sign up to vote on this title
UsefulNot useful