Über mich

Da ich lange Lebensläufe nicht ausstehen kann, aber auch rund 40 Jahre Berufserfahrung unterbringen möchte, habe ich auf dieser Seite einen alternativen Ansatz gewählt, mein Profil darzustellen.

Einen üblichen CV im PDF Format gibt es unter Europass-CV.

Persönliches

Mein Name ist Wolfgang Gräper. Ich bin am 5.5.55 geboren, habe Abitur und ein Diplom in Volkswirtschaft. Geboren bin ich in Kiel, aufgewachsen in Hannover.

Meine berufliche Laufbahn begann im Zivildienst mit einer Arbeit, die sich "Offene Altenhilfe" nannte.

Die nächsten Schritte in meiner Karriere waren Jobs als Möbelpacker, Lagerarbeiter und LKW-Fahrer im Nahverkehr. Zwei Jahre als Taxifahrer gehören auch dazu. Ab 1979 habe ich in Berlin als Bauarbeiter im Straßenbau gearbeitet, zuerst in Vollzeit, später als Begleitung zum Studium.

In Berlin habe ich begonnen, Volkswirtschaft zu studieren. Beendet habe ich das Studium 1986 in Hamburg.

Als ich mein Diplom glücklich in der Tasche hatte, wusste ich allerdings nicht so genau, was ich damit anfangen sollte.

Durch Zufall und Glück - und ein wenig Frechheit - bin ich bei Softwareentwicklung gelandet.

Und dabei geblieben.

Meistens war ich selbständig, bei Bedarf auch fest angestellt. Meistens war mein Titel "Systemberater", manchmal auch "IT-Consultant".

Ich selber verstehe mich als Softwareentwickler.

Bilder
Standardbild
Die Yacht ist gerade nicht im Bild
Mit Bart
Mann mit Bart
Holz sägen
Doch lieber Tastatur statt Kettensäge?
ZZR wird von Kia verfolgt
ZZR wird von Kia gejagt
ZZR wird von Kia verfolgt
Ganz schön ordentlich

Berufserfahrung

Anstellungen, Aktivitäten, Erzeugnisse und benutzte Werkzeuge.

Die einzelnen Sachen sind in Boxen angeordnet und können angeklickt werden. Wenn das jemand macht, werden Begriffe in den Boxen miteinander verknüpft. Bei Rechtsklick oder Doppelklick gibt es zusätzliche Informationen. Das "?" oben links liefert Infos zu dem, was geht und was passiert.

Anstellungen
Zeit Arbeitgeber Berufsbezeichnung
1985 - 1986 Selbständig Systemberater
1986 - 1991 Bull AG Systemberater
1991 - 1997 Selbständig Systemberater
1997 - 1997 Manugistics Deutschland GmbH IT-Consultant
1998 - 1999 Selbständig Systems Consultant
1999 - 2004 2gether IT Consulting GmbH Geschäftsführer
2004 - 2011 Selbständig Systemberater
2012 - 2018 T-Systems on site services GmbH Systemberater
2021 - Selbständig Systemberater
Zeitleiste
1985 - - - - 1990 - - - - 1995 - - - - 2000 - - - - 2005 2005 - - - - 2010 - - - - 2015 - - - - 2020 - - - - 2025
Aktivitäten

Funktionen

Projektleitung Vertriebsunterstützung Workshops Training Präsentationen Mediation Coaching Qualitätssicherung Support

Disziplinen

Business Modeling Requirement Engineering Design Entwicklung Systemtest Deployment
Erzeugnisse
Software Testdokumentation Anforderungen Systemspezifikation User Stories Benutzerhandbuch Seminarunterlagen Projektpläne Berichte Folien
Werkzeuge

Programmiersprachen

C C++ Java Pascal Fortran Perl PHP VBA SQL PL/SQL Informix-4GL Prolog HTML CSS JavaScript

Datenbanken

Oracle Informix-DS Informix-SE MariaDB

Betriebssysteme

Unix HP-UX Solaris GNU/Linux Windows NT DOS

Application Lifecycle Tools

Jira Confluence Rational-Software Vantive Remedy HP-ALM Mantis MS-Project make ant cvs Subversion git

Andere Werkzeuge

Grafik Office Whiteboard

Projekte

Projekte, in denen ich mitgearbeitet habe.

Zu jedem Projekt gibt es einen kurzen Spickzettel. Es gibt auch eine Bewertung mit Sternchen à la Google Play Store. Sie gibt an, wie wichtig das Projekt für meine berufliche Entwicklung war.

Projektliste
Sortieren

Auftragsabwicklung Weingroßhandel

PC basierte Auftragsabwicklung und Lagerverwaltung für Import und Großhandel von Weinen.

1985 1986 Hamburg Selbständig
Handel
Entwicklung Business Modeling Requirement Engineering Design Systemtest Deployment Support
Software
Pascal DOS
*****
Mein erstes Projekt. So sollte Softwareentwicklung sein.

Energy Signature

Steuerung von Klimaanlagen in großen Gebäuden auf Basis von durch Außenfühler gemessenen aktuellen Wetterdaten.

1986 1987 Hanau Bull AG
Gebäudetechnik Klimatechnik
Entwicklung
Software
Pascal DOS
**
Mein erstes Projekt in Festanstellung. Reiner Programmierjob und gut für den Lebenslauf.

Wasserwirtschaft

Überwachung der Wasserqualität in öffentlichen Gewässern. Gemessene Daten werden gesammelt und aufbereitet.

1987 1988 Wiesbaden Bull AG
Öffentliche Hand
Entwicklung Design
Software
Oracle Unix Fortran make
**
Mein zweites Projekt in Festanstellung. Reiner Programmierjob mit uninteressanter Aufgabenstellung. Den zweiten Stern gibt es, weil ich Fortran lernen konnte.

Feuerwehr Abrechnungssystem (FAS)

Abrechnungssystem für Dienstleistungen der Berliner Feuerwehr.

1988 1989 1990 1991 Berlin Bull AG
Öffentliche Hand
Projektleitung Design Entwicklung
Systemspezifikation Projektpläne Software
Informix-4GL Informix-DS Unix C TimeLine 4 GEM
*****
Mein erstes großes Projekt als Projektmanager. Die Tage hatten 12 oder 15 Stunden, aber wir sind - mit Anpassungen durch den Mauerfall - "in time" und "in budget" fertig geworden.

Auftragsabwicklung Weingroßhandel. Version 2.

Multi-user-fähige Warenwirtschaft mit Auftragsabwicklung (Order to Cash), Bestellwesen und Warenbestandsführung.

1991 Hamburg Selbständig
Handel
Entwicklung Design Systemtest Support Requirement Engineering
Software
Informix-4GL Informix-SE Unix make cvs
****
Die zweite Version meiner ersten Software. Diesmal multi-user-fähig, mit einer richtigen Datenbank und deutlich erweitertem Funktionsumfang (Warenwirtschaft + Auftragsabwicklung).

Seminare und Schulungen

C++, Einführung OO, Oracle Architektur, Oracle Tuning, Informix Architektur, Informix 4GL.

1992 1993 1994 1995 Langen Selbständig
Diverse
Training Workshops
Seminarunterlagen
PowerPoint Whiteboard
****
Als Trainer habe ich meine Praxis eingebracht. Aber der Zwang, pragmatisches Wissen für andere aufzubereiten hat einen enormen Lerneffekt.

Hoppenstedt

Programm zur Analyse von Unternehmensverflechtungen über Anteile und personelle Überschneidungen.

1993 Brüssel Selbständig
Verlagswesen
Entwicklung
Software
Prolog
*****
An sich ein totaler Misserfolg. Aber mit einem dauerhaften Lerneffekt: Die Software kann noch so gut sein - das, was ich gebaut hatte, war richtig gut - aber wenn man sie schlecht verkauft, wird nix draus.

EU-Trainer

Programm zur Vorbereitung auf die Aufnahmeprüfung zur Europäischen Kommission.

1993 1994 Brüssel Selbständig
Verlagswesen
Entwicklung
Software
C++
****
Auch so ein Projekt mit zweifelhaftem Erfolg. Die Zielgruppe haben wir mangels Vertrieb nie erreicht, aber das Auswärtige Amt hat die Software gekauft und an Schulen verteilt. Ich habe viel über die EU gelernt.

Einführung Produktionsplanung

Einführung eines Systems zur Produktionssteuerung für die Textilfertigung.

1995 1996 Wattenscheid Selbständig
Textil
Coaching Workshops Training Präsentationen
Folien
Whiteboard Informix-SE Informix-4GL Office
***
Zuerst wurde ich als Trainer eingekauft, dann als Coach eingesetzt. Es gab Querelen zwischen der internen IT und einer externen Softwarefirma. Gelöst hat sich das ganze erst nach einem handfesten Saufgelage. Danach hat der Anbieter 25 Zeilen Code geändert und alles war gut.

Installation Manugistics SCM (diverse Kunden)

Installation und Anpassung des SCM Systems von Manugistics.

1997 Deutschland Manugistics Deutschland GmbH
Industrie, Handel
Deployment Entwicklung
Software Berichte
HP-UX Oracle Solaris Windows NT SQL Office
**
Die Anstellung war in erster Linie mörderisch anstrengend. Aber ich habe gut verdient und die Kollegen waren nett.

Installation Manugustics SCM (diverse Kunden)

Installation und Anpassung des SCM Systems von Manugistics.

1998 1999 2000 2001 Deutschland, Polen Selbständig
Industrie, Handel
Entwicklung Deployment
Software
HP-UX Solaris Oracle Perl SQL
**
Die Fortsetzung der Festanstellung als Freiberufler. Noch mehr Geld, aber auch noch mehr Stress.

Einführung Vantive CRM (diverse Kunden)

Installation und Anpassung des CRM Systems von Vantive.

1998 1999 2000 Deutschland Consulting Partner
Energiewirtschaft, Telekom
Vertriebsunterstützung Business Modeling Präsentationen Requirement Engineering
Folien Anforderungen (Gap-Analysis) Systemspezifikation Software
Whiteboard Office Vantive SQL PL/SQL Unix Oracle Informix-DS
*****
Wieder ein 5-Sterne-Projekt, oder besser: Projekte. Die Vantive Software war einfach klasse und ihrer Zeit voraus. Die Architektur zielte auf die Umsetzung von "rapid application development" als Methode und hatte schon einen "application server", als es den Begriff noch gar nicht gab.

Einführung Vantive Call Center

Anpassung des CRM Systems von Vantive auf die Anforderungen des Call Centers von Vodafone.

2000 2001 2002 2003 2004 Düsseldorf 2gether IT Consulting GmbH
Telekom
Projektleitung Requirement Engineering Business Modeling Vertriebsunterstützung Mediation
Projektpläne Berichte Anforderungen Systemspezifikation Folien
Office Vantive MS Project Whiteboard
***
Projektmanagement in einem Großkonzern. Anstrengend, wichtig, politisch.

Projektnavigator

Entwurf und Entwicklung eines Systems zur dynamischen Überwachung von mehreren Projekten.

2001 2002 2003 2004 Höxter 2gether IT Consulting GmbH
IT Consulting
Projektleitung Requirement Engineering Design Entwicklung Vertriebsunterstützung Qualitätssicherung
Software Anforderungen Systemspezifikation Folien Berichte
C++ make cvs Office
****

Weiterentwicklung SCM System (Manugistics)

Pflege eines auf Manugistics SCM beruhenden Systems zur Planung von Lieferungen an einzelne Filialen einer großen Fast-Food-Kette.

2005 Duisburg Selbständig
Spedition
Entwicklung
Software
PL/SQL SQL Oracle
***
Klassische Auftragsprogrammierung. Rundherum problemlos.

Auftragsabwicklung Weingroßhandel Version 3

Portierung der existierenden Software auf Java.

2005 2006 Hamburg Selbständig
Handel
Entwicklung Design Systemtest
Software
Java Informix-SE SQL make cvs Unix
****
Die schon existierende Software zur Auftragsabwicklung hat eine grafische Benutzeroberfläche bekommen. Meine erste ernsthafte Auseinandersetzung mit GUI Programmierung. Ernüchternde Erkenntnis für alle Beteiligten: Erfahrene Benutzer können mit einem Programm mit textbasierten Masken schneller arbeiten, als mit einem GUI Programm mit den gleichen Funktionen.

Customizing Vantive CRM

Weiterentwicklung der auf Vantive CRM beruhenden Auftragsabwicklung bei o2. Key-User-Training.

2006 2007 München Selbständig
Telekom
Training Entwicklung Design
Benutzerhandbuch Trainingsunterlagen Systemspezifikation Software
Office VBA PL/SQL Vantive Rational-Software
***
Ein langlaufendes Projekt, in das ich aus Budgetgründen für drei Monate eingekauft wurde und an sich nicht gebraucht wurde. Allerdings konnte ich mir Aufgaben suchen und aus den 3 Monaten wurden 2 Jahre.

Support Vantive CRM

2nd Level Support für die Auftragsabwicklung von o2.

2007 2008 München Selbständig
Telekom
Support
Geschlossene Tickets
SQL Remedy Oracle
*****
Mein erster Einsatz im Bereich Support und damit in der vorletzten Disziplin der Softwareentwicklung, die ich noch nicht besucht hatte.

Customizing Vantive CRM

Pflege und Weiterentwicklung des auf Vantive CRM beruhenden Systems zur Auftragsabwicklung im Bereich Privatkunden bei Yello.

2008 2009 Karlsruhe Selbständig
Energie
Entwicklung
Software
PL/SQL VBA SQL Vantive Oracle Office
*
Programmierung mit Vantive Tools. Programmierung mit PL/SQL. Alles schon gehabt.

Entwicklung Supply Chain

Entwicklung und Einführung eines neuen Systems zur Planung der Belieferungen der Filialen von McDonalds mit Manugistics.

2009 2010 2011 Duisburg Selbständig
Spedition
Entwicklung Support Deployment
Software
Oracle PL/SQL HP-UX SQL ant Subversion
****
Auch dieses Projekt rankt sich um existierende Erfahrungen. Die Herausforderung waren die Datenmengen und die Verzahnung der eingesetzten Technologien. Kein Big Data, sondern klassische CRUD Operationen im Terabyte Bereich.

CoBra: Zulieferung Bauteile

Pflege und Weiterentwicklung einer Software, die dazu dient, Bauteile zeit- und punktgenau an das Band zu liefern.

2012 2013 2014 Wolfsburg T-Systems on site services GmbH
Automotive
Systemtest Qualitätssicherung
Testdokumentation
HP-ALM Mantis Office
****
Mein erster Einsatz im Bereich Test und damit in der letzten Disziplin der Softwareentwicklung, in der ich noch keine Erfahrungen sammeln konnte.

ACC - Cobra: Abrechnung Zulieferer

Entwicklung eines Abrechnungssystems für die Bereitstellung der im System CoBra transportierten Bauteile.

2015 2016 Wolfsburg T-Systems on site services GmbH
Automotive
Entwicklung Design
Software Systemspezifikation
PL/SQL Oracle (DB2) Subversion git Jira
**
Klassische PL/SQL Programmierung. Nix Neues. Die Herausforderung bestand darin, die Software so zu entwerfen, dass sie recht einfach an die sich immer wieder ändernden Anforderungen angepasst werden konnte.

Flottenmanagement

Entwicklung eines Flottenmanagement-Systems durch VW-Nutzfahrzeuge.

2017 2018 Hannover T-Systems on site services GmbH
Automotive
Requirement Engineering
User Stories
Jira Office
****
Requirement Engineering mit agilen Methoden. Für mich das erste Mal, dass ich reines RE gemacht habe.

SynCoPark: Forschungsprojekt AVPS

Ein durch das BMVDI finanziertes Forschungsprojekt zu Möglichkeiten und Grenzen von Automated Valet Parking (AVP).

2019 2020 2021 Braunschweig NavCert GmbH Selbständig
Verkehr, Wissenschaft
Requirement Engineering Design Business Modeling
User Stories Folien Anforderungen Systemspezifikation
Jira Confluence Office
****
Ein Projekt gänzlich ohne Softwareentwicklung. Stattdessen gab es ganz neue Erfahrungen bei der Mitarbeit in Gremien von ISO und ETSI. Ich weiß bis heute nicht, wie ich das Projekt bewerten soll. Missen möchte ich es nicht, aber nochmal machen auch nicht.

Webentwicklung

Entwicklung einer Website, die Neulingen helfen soll, eigene Websites zu erstellen.

2022 2023 2024 Bodensee Selbständig
Unterricht, Fortbildung
Entwicklung Design
Software
HTML CSS JavaScript GNU/Linux MariaDB PHP Jira
*****
Mein erstes - und hoffentlich lange laufendes - "Rentnerprojekt" mit finanzieller Grundabsicherung, ohne die Notwendigkeit, direkt Geld verdienen zu müssen. Ich setze hier alles um, "was ich schon immer mal machen wollte".

Begriffe

Definition von verwendeten Begriffen

Einige der in diesem CV verwendeten Begriffe sind erklärungsbedürftig. Je nach Umfeld werden sie unterschiedlich verstanden und verwendet. Teilweise gibt es heftige Diskussionen um die "richtige" Verwendung.

Die folgende Definitionsliste beschreibt, wie die Begriffe "hier" verwendet werden.

Aktivitäten
Funktionen
Projektleitung
Verantwortlichkeit für die Durchführung eines Projektes.
Die Projektleitung ist verantwortlich für das Erreichen der inhaltlichen und zeitlichen Projektziele unter Einhaltung des Budgets.

Wenn man zwischen "Projektleitung" und "Projektmanagement" unterscheidet, so ist die Leitungsfunktion eher inhaltlich, die Managementfunktion eher formal ausgerichtet.

Vertriebsunterstützung
Vertriebsunterstützende Beratung aus technischer Sicht.
Vertriebsunterstützung oder "presales consulting" richtet sich an zwei Adressaten:
  • Der eigene Vertrieb wird über Schwächen und Stärken eines angebotenen Produktes oder Services informiert.
  • Für potentiellen Kunden ist ein "Presales Consultant" als Ansprechpartner für technische Fragen da und springt dort ein, wo der Vertrieb technische Unterstützung braucht.
Präsentationen
Darstellung eines Sachverhalts vor einem größeren Publikum.
Präsentationen dienen dazu, ein Projekt, ein Produkt oder eine Vision einem größeren Publikum nahe zu bringen.

Das Publikum ist dabei oft nicht sachkundig und nicht involviert; manchmal auch nicht richtig interessiert.

Workshops
Durchführung von Workshops zu speziellen Themen.
Workshops haben eine eher kleine Teilnehmerzahl, eine eher kurze Dauer und ein klar umrissenes Thema.

Sie werden "im laufenden Betrieb" durchgeführt, betreffen oft aktuelle Fragestellungen und können ad hoc anberaumt werden.

Sie brauchen keine bestimmte räumliche oder technische Umgebung und können vor Ort durchgeführt werden.

Der Wissensaustausch in Workshops findet zu einem großen Teil zwischen den Teilnehmern statt und der Leiter des Workshops ist eher Moderator als Trainer.

Training
Durchführung von Schulungen und Seminaren.
Schulungen und Seminare haben ein - im Vergleich zu Workshops - breiteres Thema und eine entsprechend längere Dauer. Oft reisen die Teilnehmer zu Seminaren an und halten sich über mehrere Tage am Seminarort auf.

Der Trainer ist umfassend auf das Seminar vorbereitet und verfügt über fundiertes Wissen zum behandelten Thema.

Bei Seminaren und Schulungen wird Wissen vom Trainer an die Teilnehmer weitergegeben.

Mediation
Konflikte lösen.
Projekte werden nicht durch technische, sondern immer durch menschliche Probleme gefährdet.

Wenn solche Probleme sichtbar werden, muss man sich darum kümmern.

An sich ist das die Aufgabe eines Psychologen. Psychologen sind aber fachfremd und werden i.d.R. nicht akzeptiert. Ein Systemberater kann hier als Schmiermittel dienen, wenn es von der Projektleitung unterstützt wird.

Coaching
Projektbegleitung.
Coaching in diesem Umfeld ist die Begleitung eines Projektes durch einen "kompetenten Dritten", also eine Person, die zwar fachlich mitreden kann, in den täglichen Ablauf aber nicht eingebunden ist.

Beim Coaching werden technische und menschliche Probleme gleichermaßen angesprochen.

Wichtig ist, dass beim Coaching innerhalb des Teams existierende Probleme "nach außen" getragen und dort diskutiert werden.

Qualitätssicherung
Qualitätssicherung sichert die Qualität des Produktionsprozesses.
QS hat grundsätzlich den Produktionsprozess im Auge, nicht das Produkt.

QS ist eine das ganze Projekt begleitende Aufgabe.

Im Bereich Softwareentwicklung gehört zur Qualitätssicherung, unabhängig von der Projektorganisation, die Festlegung von Standards, die während der Entwicklung eingehalten werden sollen und überprüft werden müssen.

Im konventionellen Umfeld findet QS außerhalb der Entwicklung statt. Die Prozesse "Verifikation" und "Validation" spielen eine wichtige Rolle.

Im agilen Umfeld ist QS in den Entwicklungsprozess integriert. Die "DoD" (Definition of Done) ist hier ein wichtiges formales Instrument.

Support
2nd und 3rd Level Support
Support gehört an sich in den Bereich Betrieb (bei RUP ist es keine Disziplin).

In der Anlaufphase einer neu entwickelten Software ist es aber sinnvoll und durchaus üblich, Personen im Support einzusetzen, die an der Entwicklung beteiligt waren und über entsprechendes Insider-Wissen verfügen.

Disziplinen
Business Modeling
Geschäftsprozesse modellieren
Softwareentwicklung setzt definierte Geschäftsprozesse voraus. Um Software sinnvoll entwickeln zu können, muss man die zugrunde liegenden Geschäftsprozesse verstehen.

Allerdings kann es vorkommen, dass im Zuge der Softwareentwicklung auch Änderungen an der Definition von Geschäftsprozessen vorgenommen werden (müssen).

Requirement Engineering
Verstehen, erfassen und kommunizieren von fachlichen Anforderungen.
Requirement Engineering ist der Prozess in dem das, was der Auftraggeber/Anwender von der Software erwartet, erfasst und auf verständliche Art und Weise an den Auftragnehmer/Entwickler transportiert wird.

Je nach Umgebung ist RE unterschiedlich in den gesamten Entwicklungsprozess eingebunden. In einem konventionellen Umfeld findet RE eher am Anfang des Projektes statt, in einem agilen Umfeld dagegen eher kontinuierlich und begleitend.

Je nach Umfeld können auch unterschiedliche Methoden und Werkzeuge eingesetzt werden: konventionell eher UML, agil eher User Stories.

Design
Technische Spezifikation der Architektur, der Systemumgebung und der Werkzeuge.
Das Design legt fest, mit welchen Werkzeugen die Software entwickelt wird, wie das Gesamtsystem intern aufgebaut sein soll und welche Anforderungen an die Systemumgebung gestellt werden.

Im Design wird auch die technische Umsetzung einzelner fachlicher Anforderungen festgelegt und beschrieben.

Je nach Vorgehen findet dass Design kontinuierlich während der Entwicklung statt, ist ein Teil des RE oder wird im Anschluss daran vorgenommen.

Entwicklung
Programmierung
Diese Disziplin fasst alle Arbeiten zusammen, bei denen tatsächlich an der Software gearbeitet wird.

Im Wesentlichen ist das die Programmierung.

Wenn an bestimmten Stellen fertig programmierte Bausteine eingesetzt werden, gehört auch das Finden, Konfigurieren und Zusammenstecken der Bausteine zur Entwicklung.

Außerdem fallen in den Bereich Entwicklung alle Arbeiten, die notwendig sind, um die Software prinzipiell in Betrieb nehmen zu können (erstellen und einspielen von Meta-Daten, schreiben von Start-Stop Scripten etc.).

Systemtest
Aufsetzen der Testumgebung, Durchführung von Tests
Während der Entwicklung werden laufend Unit- und Komponententests durchgeführt.

Spätestens vor der Auslieferung findet ein Systemtest statt, bei dem das gesamte System getestet wird.

Eine besondere Art des Systemtests ist der Abnahmetest. Dabei handelt es sich um eine Prüfung des Gesamtsystems durch den Auftraggeber.

Deployment
Roll-Out, Auslieferung, Go-Live
Deployment bedeutet das Ausliefern der Software in eine technische Umgebung, in der produktiv mit der Software gearbeitet wird.

Je nach Umgebung ist das Verfahren der Auslieferung sehr unterschiedlich. Die Bandbreite reicht von CD über Freischalten eines Servers, auf dem die Software vorher (stückweise) eingespielt wurde, bis zum Installieren auf den Arbeitsplätzen vor Ort durch einen IT Consultant, der mit einer CD im Gepäck durch die Gegend fährt.

Artefakte
Software
Quellcode, Konfigurationsdateien, Dokumentation
Software, wenn sie vom Entwickler ausgeliefert wird, beinhaltet:
  • Den Quellcode
  • Inline-Dokumentation
  • Konfigurationsdokumentation und/oder -dateien

Was vom Entwickler ausgeliefert werden soll, wird merkwürdigerweise in jedem Projekt neu diskutiert.

Im konventionellen Umfeld wird das "Was" (hoffentlich) in den Projektstandards festgelegt.

Im agilen Umfeld ist es Bestandteil der DoD, der "Definition of Done".

Die Auslieferung von lauffähiger Software an den Auftraggeber ist Bestandteil des Deployment.

Entwicklung C C++ Java Pascal Fortran Perl PHP VBA SQl PL/SQl Informix 4GL Prolog HTML CSS JavaScript
Anforderungen
Dokumentation der fachlichen Anforderungen (Fachkonzept, Lastenheft, SRS)
Dokument(e) zur Beschreibung fachlicher Anforderungen mit ihrer Integration in den Geschäftsprozess.

Ein typisches, international akzeptiertes, Dokument ist das durch IEEE definierte SRS (Software Requirement Specification).

In Deutschland hat das Dokument häufig den Namen "Lastenheft", das inhaltlich dem SRS entspricht (so ungefähr).

Business Modelling Requirement Engineering Confluence Rational-Software Office Grafik
Systemspezifikation
Technische Spezifikation (Pflichtenheft, SDD)
Beschreibung der technischen Anforderungen an das System.

Es werden die Architektur und die eingesetzten technischen Werkzeuge beschrieben.

Die Systemspezifikation kann in der IEEE Welt im SDD (Software Design Definition) als eigenes Dokument oder als Teil der Gesamtspezifikation im SRS Section D erstellt werden.

Im deutschen Sprachraum existiert das "Pflichtenheft" als Dokument mit vergleichbarem Inhalt.

Je nach Umgebung, wird in der Systemspezifikation ein Bezug zu den fachlichen Anforderungen hergestellt und deren Umsetzung beschrieben.

Requirement Engineering Jira Confluence Rational-Software Office Grafik
User Stories
Aus Anwenderperspektive formulierte einzelne fachliche Anforderungen.
"User Stories" sind im Zuge der agilen Entwicklungsmodelle entstanden, um Anforderungen aus der Sicht von Benutzern zu dokumentieren. Oft sind sie in "Ich" - Form geschrieben.

Eine User Story ist klein und scharf abgegrenzt. Sie beschreibt immer genau eine Anforderung.

Sie kann Akzeptanzkriterien enthalten, die beschreiben, wie die Anforderung umzusetzen ist.

Requirement Engineering Jira
Benutzerhandbuch
Handbuch, das den Umgang mit der Software beschreibt.
Das Benutzerhandbuch besteht oft aus einem allgemeinen Teil, einem Teil mit häufigen Anwendungsfällen und einem Referenzteil, in dem die Benutzeroberfläche Punkt für Punkt beschrieben wird.

Das Benutzerhandbuch basiert inhaltlich auf dem Fachkonzept, orientiert sich aber an der tatsächlichen Umsetzung. Wenn die Umsetzung der fachlichen Anforderungen im Pflichtenheft oder dem SDD beschrieben wurde, können sie auf dieser Basis fortgeschrieben werden.

Requirement Engineering Training Confuence Office
Systemhandbuch
Beschreibung der internen Struktur der Software.
Das Systemhandbuch beschreibt, wie das System aufgebaut ist und funktioniert.

Das Systemhandbuch basiert inhaltlich auf dem Designdokument, beschreibt aber, wie das System technisch tatsächlich implementiert wurde und nicht, wie es implementiert werden sollte. Das Systemhandbuch kann also vom Designdokument abweichen.

Wenn es kein eigenes Betriebshandbuch gibt, kann das Systemhandbuch auch einen Teil enthalten, der den Betrieb der Software beschreibt.

Testdokumentation
Beschreibung der Testumgebung und der Testfälle.
Zur Testdokumentation gehört i.d.R eine allgemeine Beschreibung der Testumgebung.

Auf jeden Fall enthält die Testdokumentation eine konkrete Beschreibung aller Testfälle, mit Testgegenstand, Testablauf und erwartetem Ergebnis.

Je nach Testebene gehört zur Testdokumentation nach der Testdurchführung auch das Protokoll der TestErzeugnisse (bei System- und Abnahmetest ist das ein Muss).

Systemtest HP-ALM Office
Seminarunterlagen
Leitfaden und Hand-Outs zu Seminaren
In den Seminarunterlagen werden die inhaltlichen Schwerpunkte und der Ablauf eines Seminars beschrieben.

Die Unterlagen werden an die Teilnehmer ausgehändigt.

Workshops Training Office
Projektpläne
Vorab erstellte Planung eines Projektes
Ein klassischer Projektplan enthält die einzelnen Schritte eines Entwicklungsprojektes. Dabei werden Abhängigkeiten, Aufwände und Dauer der Schritte geplant, die in Summe den Projektplan ergeben.

Klassische Projektpläne eignen sich für die Planung vorab, aber nicht für die Projektablaufverfolgung.

Auch in der Softwareentwicklung gilt: Kein Plan überlebt die erste Berührung mit der Wirklichkeit!

Wesentlich robuster, und auch einfacher in der Erstellung und Handhabung, ist eine sog. "Work Breakdown Structure", bei der die einzelnen Aufgaben aus der Gesamtaufgabe heraus abgeleitet werden. Dauer und Kosten bleiben dabei unberücksichtigt.

Projektleitung MS-Project Office
Berichte
Darstellung des Projektfortschritts für internen Gebrauch.
Kurze Dokumente, die den aktuellen Stand, den Fortschritt und die aktuellen Schwierigkeiten in einem Projekt zusammenfassen.

Der Inhalt richtet sich an ein kleines, meist internes Publikum.

Als Medium werden meistens Tabellen oder Folien benutzt. Wenn allerdings eine Projektmanagement Software im Einsatz ist, sollte deren eingebaute Präsentationsfunktion benutzt werden.

Tipp: Wenn PM Software eingesetzt wird, sollte man das Publikum von vornherein an die Ausgabe der Software gewöhnen.

Projektleitung MS-Project Office
Folien
Unterlagen, die eine Präsentation unterstützen und ausgeliefert werden können.
Die Unterlagen zu einer Präsentation bestehen meistens aus einem Foliensatz. Unter "Folie" wird hier alles gefasst, was irgendwie an die Wand geworfen werden kann, auch per Beamer.

Je nach Kreis der Adressaten muss diese Dokumentation formal sauber sein. Es ist auch wichtig, rechtliche Anforderungen und Empfindlichkeiten Dritter (aber auch die der eigenen Firma) im Auge zu behalten.

Projektleitung Vertriebsunterstützung Training Präsentationen Workshops Office
Werkzeuge
Programmiersprachen
C
Die einzig richtige Programmiersprache.
C wurde von einem Team rund um Dennis Ritchie geschaffen, als das Team dabei war, das Betriebssystem Unix zu entwickeln. Um Unix zu bauen, das auf unterschiedlichen Rechnerarchitekturen laufen sollte, brauchten sie eine portable Programmiersprache.
C kommt in zwei Versionen: Kernigan/Ritchie und ANSI C.
Software Entwicklung
C++
Die einzig richtige OO Programmiersprache.
Software Entwicklung
Java
Stark an C++ angelehnte Programmiersprache.
Java läuft in einer virtuellen Maschine in der Java "byte code" interpretiert und ausgeführt wird. Daher laufen Java Programme in jedem Gerät auf dem sich eine Java VM installieren lässt, von der Waschmaschine bis zu Großrechnern.
Software Entwicklung
Pascal
Für den Informatikunterricht an Unis geschaffene Programmiersprache der 3. Generation.
Die von dem Schweizer Informatik Professor Niklaus Wirth erfundene Programmiersprache Pascal ist streng typisiert und in der ursprünglichen Form rein prozedural.
Software Entwicklung
Fortran
Die älteste Programmiersprache der 3. Generation.
Die Sprache Fortran wurde verwendet, um Raketen zum Mond zu schicken. Die ursprünglichen Kontrollstrukturen waren an Assembler angelehnt, die wichtigste war das "GOTO". (Es gibt im Netz einen lesenswerten Artikel mit dem Titel "Real Programmers don't use PASCAL" (Kopie Uni München)).
Software Entwicklung
Perl
Interpretierte Sprache zur automatischen Textbearbeitung.
Software Entwicklung
PHP
Programmiersprache, um HTML Seiten aufzubauen und Logik auf dem Server zu implementieren.
Software Entwicklung
VBA
Von Microsoft als Derivat von Visual Basic entwickelte Sprache, die in MS-Office und andere Programme eingebunden werden kann.
Software Entwicklung
SQL
Sprache der 4. Generation, um Daten in einer relationalen Datenbank abfragen und ändern zu können.
Support Software Entwicklung
PL/SQL
Von Oracle entwickelte, prozedurale Erweiterung für SQL.
PL/SQL läuft im Datenbank Server.
Software Entwicklung
Informix 4GL
Von Informix entwickelte prozedurale Sprache mit der SQL Statements prozedural kontrolliert und UIs gebaut werden können.
Informix 4GL Programme laufen auf dem Client.
Software Entwicklung
Prolog
Regelbasierte Programmiersprache der 5. Generation.
In Prolog (PROgramming in LOGic) werden Regelwerke (Regeln und Abhängigkeiten) definiert, die von der eingebauten "backtracking" Maschine ausgewertet werden.
Software Entwicklung
JavaScript
Programmiersprache, die in HTML eingebettet und vom Browser interpretiert wird.
Software Entwicklung
HTML
Auszeichnungs- (Markup) Sprache für Dokumente im WWW.
HTML (Hypertext Mark Up Language) ist keine Programmiersprache, sondern ein Regelsatz, mit dem Dokumente strukturiert werden können.
Software Entwicklung
CSS
Formale Sprache zur Formatierung von HTML Dokumenten.
CSS (Cascading Style Sheet) ist keine Programmiersprache, sondern ein Regelsatz, mit dem Dokumente formatiert werden können.
Entwicklung
Datenbank Systeme
Oracle
Relationales Datenbank Management System vom gleichnamigen Hersteller.
Oracle Database ist heute die am weitesten verbreitete Datenbankmaschine für relationale Datenbanken.
Entwicklung
Informix-DS
Relationales Datenbank Management System der Firma Informix (heute IBM).
Informix Dynamic Server ist ein RDBMS (Relational Database Management System) mit eigener Speicherverwaltung. Die Firma Informix wurde 2010 von IBM übernommen, das Produkt Informix-DS wird von IBM separat weitergeführt.
Entwicklung
Informix-SE
Schlankes Relationales Datenbank Management System der Firma Informix (heute IBM).
Informix Standard Engine ist ein RDBMS (Relational Database Management System), das mit normalen Dateien in der C-ISAM Struktur arbeitet. Diese Architektur hat diverse Einschränkungen, ist aber extrem schnell bei Operationen für Lesen und Einfügen.
Entwicklung
MariaDB
Schlankes Relationales Datenbank Management System. Nachfolger und Konkurrent von MySQL.
MariaDB wurde von Michael Widenius, dem Erfinder von MySQL, geschaffen, nachdem sich Oracle im Zuge der Übernahme von Sun Microsystems auch das dort beheimatete MySQL einverleibt hatte.
Entwicklung
Betriebssysteme
Unix
Unix ist der generelle Oberbegriff für alle Unix Varianten.
Unix steht also für alle sonstigen Unix-Systeme, mit denen ich zu tun hatte. Z.B. SPIX, Ultrix, AIX, SCO Unix, ...
Entwicklung
HP-UX
Die Unix Implementierung von HP.
Der Ursprung ist System V.
Entwicklung
Solaris
Die Unix Implementierung von Sun Microsystems.
Der Ursprung ist Berkley verwachsen mit System V.
Entwicklung
GNU/Linux
Ein "unix-artiges" Betriebssystem mit einem Linux Kernel und dem "Drum-Herum" von GNU.
Der Großteil des Systems kommt von der FSF (Free Software Foundation) aus dem GNU Projekt. Der Kernel kommt von Linus Torvalds.
Entwicklung
Windows NT
Windows NT war ein Betriebssystem von Microsoft und ist heute Grundlage aller Windows Versionen.
Entwicklung
DOS
PC Disc Operating System.
Kam als MS-DOS und DR-DOS.
Entwicklung
Application Lifecycle Werkzeuge
Jira
Werkzeug zur Erfassung und Verfolgung von Vorgängen.
Jira ist ein Produkt von Atlassian. Jira verwaltet unterschiedliche Arten von issues, die angelegt und bearbeitet werden. Der Arbeitsablauf kann definiert und verfolgt werden.
Projektleitung Requirement Engineering Design User Stories Projektpläne
Confluence
Werkzeug zum Erfassen und Bearbeiten von Dokumentation in einem Wiki.
Confluence wird oft als Ergänzung zu Jira eingesetzt, um Hintergrundinformationen zu speichern.
Requirement Engineering Design Anforderungen Systemspezifikation Benutzerhandbuch
Rational Software
Toolset von Rational Software (heute IBM Rational)
Rational bietet eine Sammlung von Software Paketen zum Application Lifecycle Management.

Unter dem Dach von Rational sind auch Standards und Modelle entwickelt worden, die weite Verbreitung erlangt haben (UML, RUP).

Requirement Engineering Design Anforderungen Systemspezifikation
Vantive
Vantive war ein CRM System und über lange Zeit einer der Marktführer in dem Bereich.
Die Vantive Philosophie ist es, dass die Funktionen der Software verhältnismäßig leicht geändert werden können. Es gibt integrierte Werkzeuge, um intelligente Masken zu erzeugen, das interne Event Handling zu steuern und VBA zu programmieren.

Die Vantive Applications beinhalten auch eine Komponente zur Fehler- und Aufgabenverfolgung, vergleichbar mit Jira, Mantis oder Rational ClearQuest.

Entwicklung Deployment
Remedy
Defect tracking System.
Support
HP-ALM
HP-ALM ist ein Werkzeug zum Application Lifecyle Management
HP-ALM ist ein sehr umfangreiches Werkzeug und - es verwendet Activ-X Controls - auch etwas behäbig im Umgang.

Die Komponente zum Testmanagement ist besonders gut durchdacht.

Qualitätssicherung Systemtest
Mantis
Mantis ist ein klassisches Werkzeug zur Fehlerverfolgung.
Entwicklung Qualitätssicherung
Make
Make ist make.
Make ist ein Universalwerkzeug zum Bauen von Software. Unter Unix und seinen Derivaten ist es Standard.

Die Steuerdateien für Make sind in einem eigenen Format abgelegt, das erst einmal gelernt werden will.

Entwicklung Deployment
Ant
Apache Ant ist Another Neat Tool zum Bauen von Software.
Ant kommt aus der Java Welt, ist in Java geschrieben und verwendet XML als Format für die Konfigurationsdateien. (Nicht, dass die dadurch lesbarer würden!)
Entwicklung Deployment
CVS
CVS (Concurrent Versioning System) ist ein System zur Versionskontrolle von Textdateien.
CVS basiert auf RCS (Revision Control System), ist aber für gleichzeitiges Bearbeiten von Dateien durch mehrere Personen geeignet. CVS kann keine Binärdateien verwalten.
Entwicklung
Subversion
Apache Subversion (SVN / svn) ist ein System zur Versionskontrolle von Dateien.
SVN orientiert sich an CVS und ist vom Funktionsumfang her vergleichbar. Kann aber auch mit Binärdateien umgehen.
Entwicklung
Git
Git ist ein System zur Versionskontrolle von Dateien mit dem Fokus auf verteilte Programmierung.
Git arbeitet mit verteilten Repositories und verwaltet darin die Versionen durch Snapshots. Damit folgt Git einen komplett anderen Ansatz als andere Version Control Systeme, die die Versionskontrolle auf Deltas von Textdateien aufbauen.
Entwicklung Deployment
MS Project
Software für die Projektplanung.
Schritte eines Projektes werden nach Inhalt, Zeit, Dauer und Kosten geplant. Auf dieser Stufe werden die Schritte meistens in einem Gannt Diagramm dargestellt.

Das bekannteste Werkzeug für die Projektplanung ist vermutlich MS-Project. Daneben gibt und gab es diverse andere Produkte mit vergleichbarem Funktionsumfang. Vor langer Zeit hieß eines Timeline 4.

Mehr aus der Ecke "Projektverfolgung" kommen Werkzeuge, die auf Basis von Aufgaben operieren. Die Aufgaben durchlaufen bestimmte Workflows und lassen sich verfolgen. Ein Beispiel dafür ist Jira.

Projektleitung Projektpläne
Andere Werkzeuge
Office
Mit Office ist hier ein beliebiges Office Programm gemeint. Meistens wird MS Office verwendet.
Ein Office Programm muss die vier üblichen Werkzeuge enthalten:
  • eine Textverarbeitung,
  • ein Werkzeug für Präsentationen,
  • eine Tabellenkalkulation und
  • ein Werkzeug, um Grafiken zu erstellen.
Projektleitung Vertriebsunterstützung Training Workshops Präsentationen Qualitätssicherung Anforderungen Systemspezifikation Benutzerhandbuch Seminarunterlagen Folien Berichte
Grafikprogramm
Programm, das das Zeichnen von Diagrammen unterstützt.
Für den Alltagsgebrauch ist Dia sehr beliebt. Für UML Diagramme bietet sich Umbrello an.

Natürlich kann es sein, dass ein mächtigeres Werkzeug zur Verfügung steht (z.B. Enterprise Architect), aber es macht Sinn, mit einem einfachen Tool vertraut zu sein, das überall zur Verfügung steht.

Vertriebsunterstützung Anforderungen Systemspezifikation Benutzerhandbuch Seminarunterlagen
Whiteboard
Whiteboard, Tafel, Flipchart ...
Gerät, auf dem man Gedanken, Gemälde, Beziehungen ... ganz schnell und ohne Vorbereitung visualisieren kann. Am besten abwischbar!
Vertriebsunterstützung Anforderungen Training Workshops Mediation Coaching
Sonstiges
RUP
Rational Unified Process
Implementierung des Unified Process durch Rational. RUP ist ein Vorgehensmodell zur Softwareentwicklung, das einem konventionellen Muster folgt. Der Prozess setzt UML als zentrales Werkzeug ein. Anstatt von "Phasen", wie im Wasserfallmodell, wird bei RUP von "Disziplinen" gesprochen, die jeweils in vier "Iterationen" angegangen werden.
Die Autoren sind James Rumbaugh, Grady Booch und Ivar Jacobson.
ISTQB
International Software Testing Qualifications Board
IREB
International Requirements Engineering Board