Software Configuration und Change Management

Tools für Software Configuration und Change Management sorgen für eine durchdachte Anwendungsentwicklung und sind in der Praxis unerlässlich.

Artikel erschienen in Swiss IT Magazine 2001/16

     

Viele Softwareprojekte im E-Business-Umfeld stehen unter der Devise "High Speed - High Change". Zusätzlich zu der Programmierungsumgebung sollten daher Werkzeuge für Configuration und Change Management sowie Team Communication eingesetzt werden, die einem flexiblen Projekt-Management untergeordnet sind.



Oft stehen diese Tools aber isoliert da, eine gemeinsame Datenbasis und übergreifende Kommunikationsmöglichkeiten fehlen. Die angestrebten Effizienzsteigerungen bleiben daher vielfach limitiert.


Eine beinahe wahre Geschichte

Hier die Software-Entwicklungscrew - jung, dynamisch und mit dem Rüstzeug der neuesten Internet-, C++-, Java- oder Windows-Szene ausgerüstet -, da der Projektleiter, verantwortlich für die Erfüllung der Kundenwünsche und das Budget. Man legt los und kommt anfänglich auch gut voran. Man verzichtet auf "unnötigen Overhead" und pflegt eine minimale Administration. Für die Verwaltung der Software genügt ein einfaches Tool für das Versions-Management.



Mit der Zeit wächst die Anzahl der Softwaremodule, die Arbeitslast steigt immer mehr, und Nachtschichten sind keine Seltenheit. Änderungen erfolgen plötzlich unkoordiniert, auf die Dokumentation wird verzichtet, und man ist nicht immer im Bild, welche Upgrades zu welchem Release gehören. Kurzum: Die Qualität leidet, falsche Software-Auslieferungen und Terminverzögerungen passieren, deutlich höhere Kosten fallen an. Spätestens zu diesem Zeitpunkt werden drastische Massnahmen gefordert.





E-Business - neue Möglichkeiten und Anforderungen

In einem sind sich Projektleiter und Softwareverantwortliche für Standard- oder individuelle Anwendungen einig: Die Materie ist komplex, Zeit- und Kostenüberschreitungen in Entwicklungsprojekten sind nicht selten.



Mit dem nach wie vor stark anhaltenden Trend in Richtung E-Business entstehen immer komfortablere Applikationen, was einen erhöhten Entwicklungsaufwand bedingt. Zusätzlich wirken in solchen Projekten Mitarbeiter wie Webdesigner, Grafiker oder Marketingfachleute mit, die eine andere Ausbildung und ein anderes Verständnis mitbringen als die traditionellen Software-Ingenieure. Dabei nimmt die Komplexität und der Aufwand für Erstellung, Wartung und Support von Applikationen massiv zu.




Die grundlegende Frage ist: Wie können Entwicklungsorganisationen, diese Problematik in den Griff kriegen und gleichzeitig die Effizienz steigern?



Zu dieser fundamentalen Frage gibt es klare Antworten:




• Da die Kapazität und das Wissen der Mitarbeiter begrenzt sind, müssen alle anderen Faktoren des Entwicklungsumfeldes in eine umfassende, projektorientierte Kommunikations- und Teamwork-Infrastruktur eingebettet werden.




• Unterstützende Disziplinen wie Configuration Management, Change Management, Task Management und die Team-Kommunikation sollen vollständig integriert und für jeden Projektmitarbeiter zugänglich sein. Insbesondere soll das Web genutzt werden können, damit Projektteams an verschiedenen geografischen Orten in die virtuelle Organisation nahtlos eingebettet sind.




• Zusätzlich - und das ist die wichtigste Voraussetzung - ist für eine rundum funktionierende Entwicklungs- und Betriebsumgebung eine Anfangsinvestition nötig, die nebst den Anschaffungskosten für die notwendigen Softwarewerkzeuge auch die Mitarbeiterschulung sowie den Aufbau der Projektorganisation mit klaren Prozessabläufen beinhaltet.


Configuration Management

Traditionell beinhaltet eine solche Lösung Funktionen für die Versionskontrolle der Module und die Verwaltung von Software Releases und Testabläufen. Mit Hilfe von Check-out- und Check-in-Funktionen werden die entsprechenden Dateien aus einem zentralen Repository den Software-Ingenieuren und Webdesignern für die Entwicklung zur Verfügung gestellt.



Zu dieser rein technologischen Sicht ist zu bemerken, dass diese Tätigkeit nur eine von vielen Aufgaben der Software-Entwicklung ist, die durch das Configuration-Management-Tool zu bewältigen ist.




Einerseits muss es in der Lage sein, den ganzen Entwicklungsprozess vom Projektauftrag über die Testabläufe bis zur Auslieferung der produktiven Anwendung abzubilden. Im weiteren darf es sich nicht nur auf den Programmierer oder Internetgrafiker beschränken. Projektleiter, Qualitätsverantwortliche sowie Mitarbeiter für Systemtests und Dokumentationen müssen ebenfalls voll integriert sein.



Mit der steigenden Bedeutung von E-Business-Anwendungen sind zunehmend Fachleute wie Webdesigner, Grafiker und Marketingspezialisten im Projekt tätig. Daraus leiten sich die Anforderungen ab, dass das Configuration-Management-Werkzeug sehr einfach in der Benutzung sein muss und keinerlei Spezialistenwissen voraussetzt. Im weiteren soll es völlig unabhängig von den Editoren sein, da vor allem im Internetumfeld ständig neue Entwicklungswerkzeuge wie z.B. im Grafikbereich auf den Markt kommen.




Problem & Change Management

Fehlerrapportierung und Änderungswesen sind wichtige Prozesse, welche den gesamten Lebenszyklus einer Applikation begleiten und entscheidend zur Qualitätsverbesserung beitragen. Es empfiehlt sich, bereits zu Beginn eines Projektes diese Tätigkeiten konsequent einzuführen. Obwohl es sich um einen organisatorischen Mehraufwand handelt, ist der Nutzen über die Gesamtdauer hinweg signifikant, da so von Anfang an klare Abläufe eingeführt und Doppelspurigkeiten vermieden werden.



Das Problem Management ist dem Change Management vorgelagert. In der Testphase sind in der Regel dedizierte Testpersonen für die Fehlerrapporte verantwortlich. Ist die Software bereits beim Kunden im Einsatz, liefert dieser etwa via Hotline seine Mängelliste.




Fortschrittliche Change-Management-Systeme erlauben, dass der Anwender über das Internet seinen Bericht eingibt und eventuell gleich eine elektronische Kopie des Bildschirminhaltes anfügt.



Eine weitverbreitete Methode ist der Einsatz einer Hotline, welche die Wünsche am Telefon entgegennimmt und vielfach gleich eine Lösung anbieten kann. Wichtig ist in beiden Fällen, dass die Probleme registriert und von einem Projektverantwortlichen vorqualifiziert werden. Er fügt dabei Informationen über betroffene Module oder entsprechende Programmversionen an, oder er kann einen Workaround vorschlagen.



Als nächster Schritt sind die erfassten Probleme von einer zentralen Stelle aus zu qualifizieren und entsprechende Change Requests zu formulieren. Diese werden vom Projektleiter entsprechend klassifiziert, beispielsweise ob es sich um eine dringende Sache handelt, und hernach in die Planung zukünftiger Software Releases einbezogen. Der Projektleiter verteilt anschliessend die notwendigen Aufgaben an die verantwortlichen Mitarbeiter unter Berücksichtigung der Projektpläne.



Der entscheidende Punkt bei all diesen Schritten ist die Integrationsfähigkeit des verwendeten Management-Tools. Sämtliche Objekte wie Programm-Module, Softwareversionen, Problem Requests, Change Requests, Projektmitarbeiter oder Projektpläne müssen eine gemeinsame Datenbasis haben, auf Mausklick abrufbar und miteinander verknüpfbar sein.



Je klarer die jeweilige Aufgabe (Task) für den Projektmitarbeiter definiert ist und je einfacher die entsprechenden Informationen zugänglich sind (inklusive des Interneteinsatzes), umso weniger Missverständnisse und Fehler passieren.




Task Management

Ein weiterer signifikanter Bereich in einer umfassenden Projektumgebung ist die Einsatzplanung der Mitarbeiter, die heute immer häufiger an verschiedenen geografischen Orten und in virtuellen Organisationen tätig sind. Ihre Arbeitseinsätze, die Rapportierung der tatsächlich aufgewendeten Zeit sowie die Art ihrer Tätigkeit (Design, Programmierung, Qualitätssicherung, Dokumentation etc.) liefern für ein seriöses Projektmanagement wichtige Kennzahlen.



Ein modernes Projekt-Tool muss in der Lage sein, aussagekräftige Management-Informationen zu liefern. Dazu zählen insbesondere:





• Wie verhalten sich die Aufwände für Entwicklung, Qualitätssicherung, Support und Wartung?




• Was sind die Gründe für die hohen Kosten des neuen Release? Welche Bereiche waren am meisten betroffen?




• Wie viele Change Requests zu welchen Themen waren involviert? Was waren die Beiträge der einzelnen Mitarbeiter?




• Welche Applikationen weisen die höchste Fehlerrate auf und warum?



Dass die Erfassung der Mitarbeitertätigkeiten auch für die Leistungsverrechnung an den Auftraggeber gebraucht werden kann, versteht sich von selbst.


Team Communication

Die vierte wichtige Komponente in einer umfassenden Projektumgebung sind die Kommunikationsmöglichkeiten der Mitarbeiter. Im heutigen Projektumfeld ist es häufig so, dass die Leute an verschiedenen Orten arbeiten und öfters auch, dass sie als freie Mitarbeiter tätig sind.



In solchen virtuellen Organisationen ist die elektronische Kommunikation eine wichtige Grundvoraussetzung für ein reibungsloses Funktionieren der Projektorganisation.




Man muss sich aber bewusst sein, dass es nicht genügt, alle Mitarbeiter mit E-Mail und Web-Browser auszurüsten. Die generelle Kommunikation ist damit wohl gegeben, der direkte Informationsfluss zu den Projektinformationen aber nicht.



Gerade in grösseren, geografisch verteilten Teams ist es wünschenswert für jeden Projektmitarbeiter, wenn ein elektronisches Diskussionsforum zur Verfügung steht, wo er ein Thema lancieren kann, etwa eine Frage nach weiterführenden Informationen zu einem bestimmten Fachbereich. Andere Mitarbeiter werden Antworten liefern und diese mit Informationen aus dem Projekt-Repository verknüpfen, also beispielsweise Change Requests zum betreffenden Thema. Der anfragende Programmierer ist dann in der Lage, sehr schnell und direkt zum notwendigen Wissen zu kommen.



Für den raschen Fortschritt eines Projektes sind solche Kommunikations-Tools in einer verteilten Umgebung unabdingbar.




Fazit

Die Anschaffung eines modernen Werkzeuges für den Software-Configuration-Management-Bereich ist ein Muss, aber nur ein Teil vom Ganzen - das Überdenken und Anpassen der bestehenden Organisation und der Arbeitsabläufe ist ebenso wichtig.



In der Regel wird die Notwendigkeit des Configuration Management erkannt, der einzelne Mitarbeiter tut sich aber trotzdem schwer, eine gewisse Freiheit zugunsten einer straffen Projektkontrolle aufzugeben.




Die in diesem Artikel beschriebenen Disziplinen Configuration Management, Change Management, Task Management und Team Communication sollten auf einer gemeinsamen Datenbasis beruhen und unbedingt miteinander integriert sein. Sie bilden die Grundlage für eine nachhaltige Verbesserung und Qualitätssteigerung einer Projektorganisation im E-Business-Umfeld.



Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER