Dr. Wolfgang Uhr - Softwareentwicklung , technische Beratung, Projektdokumentation und Projektunterstützung
Softwareentwicklung
Die Frage der Softwareentwicklung zielt ab auf die Fragen nach den verschiedenen Entwicklungsumgebungen. In der Universität habe ich begonnen mit den Programmiersprachen Fortran – es war die Sprache in der ich seinerzeit auch alle Übungen zur numerischen Mathematik absolvierte – und Borland Turbopascal, der Sprache, mit der ich die Software schrieb, die automatische Messdatensysteme steuert.
Später in meiner beruflichen Zeit programmierte ich in Rexx und Visual Rexx unter dem Betriebsystem OS/2 und stieg dann um auf Basic und Visual-Basic unter Windows NT. Da ich gerne eine Version überspringe – so habe ich von Visual Basic 4.0 nach Visual Basic 6.0 gewechselt und damit Visual Basic 5.0 ausgelassen – um einfach eine funktionierende und mit entsprechenden Tools angereicherte Entwicklungsumgebung etwas länger nutzen zu können, habe ich eben auch .net 1.2 ausgelassen und mich erst bei Erscheinen der Version .net 2.0 in diese neue Umgebung eingearbeitet. Der Wechsel von Fortran-Pascal und Rexx-Basic im vorigen Jahrtausend war vergleichsweise simpel. Das Auslassen der Version 1.2 wurde mir nicht als Vernunft angerechnet sondern als mangelnde .net-Erfahrung. Man könnte auch sagen: Ich bin zu vernünftig für diese Welt. Ich bin nicht .net-fähig, weil ich nicht bereit war, mich und letztlich meine Kunden mit einer instabilen und fehlerbeladenen Entwicklungsumgebung zu belasten.
Inzwischen habe ich übrigens 6 Monate Erfahrung mit Java. Den Auftrag habe ich auch ohne Vermittler bekommen, denn Vermittler würden mir niemals zutrauen einen Java-Auftrag abwickeln zu können. Dessen ungeachtet war mein Kunde mit mir zufrieden. Aber auch das überzeugt keinen Vermittler!
Ob ich Delphi kann? – Also ich bin davon überzeugt. Aber es würde mir niemand glauben. Früher stand noch “Pascal” auf der Verpackung.
Technische Beratung
Von Haus aus habe ich vor meiner Ausbildung eine Lehre als Radio-Fernsehtechniker gemacht. Damit habe ich seinerzeit mein Hobby zum Beruf gemacht. Ich konnte und kann nicht nur Schaltungen reparieren, ich kann auch selbst Schaltungen entwickeln. Das sind natürlich nur einfach gestrickte Platinen, die auch nicht auf Anhieb irgendwelche EMV-Tests bestehen oder nur mit Teilen hergestellt werden, die Recyclebar sind. Aber die Grundlagen der Schaltungsentwicklung die kenne ich.
Meine Diplomarbeit war angesiedelt im Bereich der Kristallzucht und der spektroskopischen Messungen und meine Promotion im Bereich der Kristallographie. In beiden Fällen habe ich PC-gesteuerte Messgeräte gebaut unter anderem dem Spindeltisch
Mein Problem war: Ein halbes Jahr vor meiner Promotion lag die Grenzöffnung und der Arbeitsmarkt war überschwemmt von sehr guten Kristallographen aus dem Osten. Meine Lösung war: Ich bot mich als Freelancer an in der Softwareentwicklung.
Die Firma Bruker hatte optische Spektrometer hergestellt und verkauft. Ursprünglich wurden diese Geräte von einer Software gesteuert, die unter OS/2 lief, später stiegen sie auf Windows um. Vor dem Umstieg habe ich die Software in OS/2 -Rexx und Visual-Rexx geschrieben, danach in Visual-Basic.
Die Geräte wurden in Firmeninfrastrukturen integriert, wobei meine Aufgabe teilweise bei der Beratung begann und sich über Pflichtenhefterstellung, Entwicklung, Test und Auslieferung erstreckte. Dabei waren die Einbindungen recht komplex. In manchen Betrieben wurden die Messgeräte in ein LIMS eingebunden. Seinerzeit hieß LIMS einfach nur Labor-, Integrations- und Managementsystem, heute gibt es eine Firma, die unter diesem Namen ein bestimmtes LIMS verkauft.
Eine “technische Beratung” war zum Beispiel eine Reparatur. Hier hatte ein Spektometer einen speziellen defekt, den es zu lokalisieren galt. Eine andere Beratung basierte auf dem Erkennen, dass bestimmte Messfehler auf ungeeignete Probengläschen zurückzuführen sind. Auf Grund meiner Messungen und Auswertungen wurden die Probengläschen geändert und in dieser Form heute noch ausgeliefert.
Die Zahl der Mannmonate, in der ich technische Beratungsleistung lieferte, ist recht klein. Das ist ein Grund dafür, dass Vermittler diese Fähigkeit nicht ihren Auftraggebern anbieten, ungeachtet der Tatsache, dass ich nichts verlernt habe.
Für Modellrechnungen nutze ich zur Zeit einfach Excel und den Solver. Allerdings habe ich mir auch schon MatLab angesehen.
Projektdokumentation
Reine Projektdokumentation trauen mir sogar alle Vermittler zu. Im Grunde habe ich durchgehend durch alle meine Projekte, entsprechende Dokumentationen geschrieben, teilweise auch in Englisch.
Weiterhin habe ich Erfahrung in verschiedenen Prozessen in denen Dokumenationen entstehen, vorwiegend im V-Modell. Ich war bei einer Betriebseinführung einer nach ISO 9.001 festgelegten Software-Lyfecycle-Dokumentation dabei und ich war auch im Entstehungsprozess der Dokumentation integriert.
Seit 2.008 gibt es die ISO/TS 16.949 und das ist eine “mögliche Implementation der ISO 9.001”, die im Bereich der Automobilindustrie verwendet wird. Wer ISO/TS 16.949 zertifiziert ist, der ist damit automatisch ISO 9.001 zertifiziert. Wer “nur” ISO 9.001 zertifiziert ist, der hat keine “schlechtere Zertifiizerung”. Diese Norm hat das Ziel der Vereinheitlung und damit der Vereinfachung. Man kann also durchaus folgern, dass jemand, der sich mit der ISO 9.001 auskennt, keine Probleme hat mit der ISO/TS 16.949.
Aber auch GAMP (Good Automated Manufacturing Practice) legt eine bestimmte Dokumentationstechnik nahe, also eine Reihenfolge – ein Prozess – in dem bestimmte Dokumente entstehen. Dabei ist dies Dokumentation nicht Entwicklungs- sondern Produktionsorientiert (deshalb Manufactoring). Auch hier gibt es klare Prozessvorgaben, wie welche Dokumente zu erstellen sind und welche Detailfragen in welchem Umfang abzuhandeln sind.
Im Bereich der Dokumentation kann ich allerdings zunächst nur im Home-Office-Einsatz den Gebrauch des Dragon-Naturally-Speaking Software anbieten. Die Professional-Version dieser Software setzt bestimmte Prozessoren und Prozessorbefehle voraus und ich habe in meinen Rechnern die entsprechende Hardware. Bei bestimmten Arbeitseinsätzen kann man hier die Schreibgeschwindigkeit durchaus verdreifachen.
Anforderungsmanagement
In Anlehnung an die Projektdokumentation gibt es dann das Anforderungsmanagement. Bei Projekten, die man von von den ersten Kundengesprächen bis zur Auslieferung der Software selbst betreute, in diesen Projekten ist naturgemäß immer wieder auch ein Anteil an Anforderungsmanagement “drin”. Dabei habe ich auch Projekterfahrung ausschließlich mit Aufgaben im Anforderungsmangement. Eingearbeitet habe ich mich mit dem Enterprise Architect von Sparx, Erfahrungen habe ich in Telelogic-Doors.
Im Anforderungsmangement werden die Kundenwünsche in Aussagen umgesetzt, die bei der Auslieferung einer Software überprüft werden können. Der Anforderungsmanager muss dabei die Wünsche der Kunden in Haupt- und Teilaussagen splitten.
Die folgende Aussage wäre dann so ein gültiges Requirement: Wenn die Adresse einer Person (Angestellter, Kunde, Bewerber, Mandant usw.) angezeigt wird, dann muss man mit einem Doppelklick auf die Telefonnummer über die CTI-Anlage xy – Softwareversion z – ein Telefongespräch starten können.
Ist ein solches Requirement im Anforderungskatalog implementiert, dann darf ich als Softwarekunde die Software testen in der Form, dass ich auf eine solche Nummer doppelklicke. Beginnt dann das Telefonat nicht, dann liegt ein reklamierbarer Fehler vor.
Projektunterstützung
Als Anforderungsmanager bin ich relativ nahe zum Projektleiter und damit möglicherweise auch – je nach Projektgröße – ein Projektunterstützer. Um auch in dem Bereich nicht ganz “hilflos” dazustehen, habe ich ein paar Ausbildungen gemacht. So habe ich eine Zertifizierung in Itil-v2, Prince2 und den Grundkurs in CMMI.