Online-Artikel 20060506q Borland Compliance und Risk-Management

 Home | News | Hefte | Mediadaten | Online-Artikel | Kommentare | Trends | Wir-ueber-uns | Tipps | Impressum | CeBIT 2012

 

Home
News
Trends
Hefte
Online-Artikel
Kommentare
Service-Angebote
Feedback
Abonnement
Wir-ueber-uns
Tipps
Impressum
Veranstaltungen


»manage it« als

E-Paper  5-6 2011
E-Paper  3-4 2011
E-Paper  1-2 2011
E-Paper  11-12 2010
E-Paper  9-10 2010

E-Paper  7-8 2010
E-Paper  5-6 2010
 




 

 


 




 


 


 

 

 

Compliance und Risiko-Management für die Softwareentwicklung

Risiken steuern

Unzulängliche Software kann für Unternehmen ein großes Risiko darstellen. Dennoch ist ein systematisches Risiko-Management in der Softwareentwicklung nur wenig verbreitet. Vor dem Hintergrund der Compliance-Debatte werden die Unternehmen hier umdenken und beispielsweise ein Frühwarnsystem für ihre Entwicklungsprojekte einführen müssen.

 

S

oftware zu entwickeln ist riskant. Trotz des erheblichen Aufwands, der in der Softwareentwicklung getrieben wird, nimmt die Zahl der erfolgreich beendeten Projekte ab: zwischen 2002 und 2004 von 34 auf mittlerweile nur noch 28 Prozent. Anders ausgedrückt: wer heute Software in Auftrag gibt, muss damit rechnen, dass er nicht bekommt, was er bestellt hat – schlimmstenfalls gar nichts, denn 18 Prozent der Projekte scheitern ganz. In wenigen, Aufsehen erregenden Fällen wie der Einführung der Autobahnmaut oder der ALG-II-Berechnung wird der Mangel offenkundig, in der Regel werden Schäden in aller Stille beseitigt. Trugen bisher vor allem die Auftraggeber die Risiken der Softwareentwicklung, so hat sich der Wind seit einigen Jahren gedreht. Mittlerweile werden die Hersteller unzulänglicher Software stärker in die Pflicht genommen, sei es durch erweiterte Produkthaftung oder durch die immer weiter ausgedehnten Compliance-Regelungen. Es wird immer teurer, wenn Software nicht funktioniert, und je mehr die Unternehmen auf Software angewiesen sind, desto weniger verfängt der über Jahrzehnte gepflegte Generalablass, Fehler wären bei Software nun mal unvermeidlich. Mehr noch: Softwarehersteller, die große Projekte gegen die Wand fahren, gefährden heute massiv ihren eigenen Fortbestand. Die Compliance-Politik sorgt dafür, dass auch die Organe, also Vorstände oder Geschäftsführer dabei nicht ungeschoren bleiben. Und sollte eine interne Entwicklungs-Abteilung anhaltend unzulängliche Ergebnisse aufweisen, riskiert sie ohne großes Federlesen outgesourced und offgeshored zu werden.

Natürlich birgt Softwareentwicklung immer Risiken, darin unterscheidet sie sich nicht von anderen Tätigkeiten. Je wichtiger aber Software für die Durchführung der Geschäftsprozesse in den Unternehmen ist, desto gravierender wirken sich Fehler und Unzulänglichkeiten der Software auf das Unternehmen als Ganzes aus. Mit einer unzulänglichen Textverarbeitungslösung kann man notfalls »irgendwie« zurechtkommen, bei einem Logistik-System wird das nicht mehr gelingen.

Risiko-Management für die Softwareentwicklung

Umso erstaunlicher ist es, wie wenig das Risiko-Management bisher in der Softwareentwicklung oder anwenderseitig bei der Implementierung von Applikationen verankert ist. Systematisch finden Risikoaalyse, -Bewertung, -Controlling oder -Steuerung jedenfalls nur in Ausnahmefällen statt. Bemerkenswert ist dabei auch, dass die etablierten Software-Lösungen für das Risiko-Management, beispielsweise Risk-Management-Informationssysteme (RMIS), ausgerechnet in der Softwarebranche selbst kaum verwendet werden.

Dabei hat sich die Lage in den letzten Jahren dramatisch verschärft. Der Wettbewerb erzwingt oft sehr knappe Kalkulationen, so dass dann für einen finanziellen Risikopuffer kein Spielraum mehr ist. Tritt das Risiko dann doch ein, sind keine Mittel mehr vorhanden, um beispielsweise zur Schadensbegrenzung die Ressourcen aufzustocken. So versäumen es Unternehmen immer wieder beim Outsourcing von Entwicklungsprojekten entsprechende Risikoprämien zu kalkulieren, die notwenig sind, um den dabei unvermeidlichen Kontrollverlust auszugleichen. Vermeintliche Sparmaßnahmen können sich dann, zum Beispiel beim Ausfall des Outsourcing-Partners, als teurer Bumerang erweisen.

Die Compliance-Debatte hat auch zu diesem Thema ein neues Kapitel eröffnet. Bisher stellte sich erst hinterher heraus, wie groß das Risiko eines Projekts war. Ging es schief, zahlte man Vertragsstrafen oder Schadensersatz und war froh, mit einem blauen Auge davongekommen zu sein. Spektakuläre Fälle wie Worldcom, Enron oder Parmalat haben gezeigt, dass eine derartige Ex-Post-Betrachung nicht ausreicht, dass im modernen Business vielmehr in kürzester Zeit kommerzielle und volkswirtschaftliche Schäden sich anhäufen können, die hinterher nicht mehr zu beseitigen sind. Vorschriften wie Basel II, Sarbanes-Oxley oder Solvency II versuchen daher vorher anzusetzen und Risikosituationen im Entstehen schon zu erkennen: Sie wechseln von der statischen Ex-Post- zu einer dynamischen Prozess-Analyse.

Das deutsche KonTraG (Gesetz zur Kontrolle und Transparenz im Unternehmen) verpflichtet beispielsweise die Unternehmen explizit zu einem professionellen Risiko-Management, das es erlaubt, die wesentlichen Risiken durch ein Früherkennungssystem rechtzeitig zu identifizieren. Auch im KonTraG ist der Durchgriff auf die Organe vorgesehen: Vorstände beziehungsweise Geschäftsführer sind für die Einhaltung verantwortlich, die Aufsichtsräte müssen sich davon überzeugen, dass ein Frühwarnsystem auch funktioniert.

Risikofaktoren der Softwareentwicklung

Natürlich muss das Risiko-Management für die Softwareentwicklung voll und ganz in das des ganzen Unternehmens eingebunden sein, sich also als Enterprise Risk Management (ERM) verstehen. Wird beispielsweise die Liquidität des Unternehmens knapp, so verliert auch die beste Risikostrategie der Entwicklung ihren Handlungsspielraum. Dennoch gibt es eine Reihe typischer Risikofaktoren der Softwareentwicklung, die in einem softwarespezifischen Frühwarnsystem zu berücksichtigen sind.

Auswahl von Risikofaktoren:

1          Exogene Risikofaktoren

Risikofaktoren, die vom softwareherstellenden Unternehmen nicht beeinflusst werden können

1.1       Gesellschaftliche Risiken

·         Gesetzliche Vorschriften, Regularien, Auflagen, Steuern usw.
Es muss dabei nicht immer um große Gesetzesänderungen gehen. Werden beispielsweise Brandschutzvorschriften neu gefasst, so kann vielleicht ein Server nicht mehr wie vorgesehen aufgestellt und die gesamte Softwarearchitektur muss überarbeitet werden

·         Sicherheit, Kriminalität:
Ein veränderte Sicherheitslage kann zu veränderten Anforderungen an die Applikationen führen; andere Zugangskontrolle, bessere Verschlüsselung usw.

·         Natur, Umweltereignisse, Katastrophen:
Muss in Risikozonen ebenfalls berücksichtig werden, zum Beispiel durch Ausweich-RZ usw.

·         Technologische Entwicklung:
Zum Beispiel neue Kommunikationswege, neue Endgeräte, mehr Speicherkapazitäten

1.2       Geschäftliche Risiken

·         Marktsituation
Typische unternehmerische Risiken, Mitbewerb bringt preiswerteres oder besseres Produkt auf den Markt; neue Standardlösungen machen beispielsweise Eigenentwicklung überflüssig usw.

·         Wechselkurse

·         Anforderungen von Kunden:
Kunde wünscht zum Beispiel RFID einzusetzen

·         Support:
Zum Beispiel Auslaufen des Hersteller-Supports für die Zielplattform

·         Vertragliche Bindungen, Rechte, Marken usw.

2         Endogene Risikofaktoren

Risikofaktoren, die vom softwareherstellenden Unternehmen beeinflusst werden können

2.1       Risiken auf Unternehmensebene

·         Unternehmenspolitik:
Das Unternehmen beschließt zum Beispiel sich aus einem Markt zurückzuziehen

·         Finanzielle Mittel:
Risikostrategien kosten (fast) immer Geld

·         Personelle Ressourcen:
Zum Beispiel können bei generellem Einstellungsstopp keine zusätzlichen Entwickler verpflichtet werden, um Termine doch noch einzuhalten

·         Abstimmung mit Fachbereichen:
Wegfall des Inputs, beispielsweise durch neue Mitarbeiter, kann das Requirement erschweren oder unmöglich machen; und womöglich ein ganzes Projekt gefährden

·         Unterstützung durch das Management:
Ist essentiell für alle Projekte, verabschiedet sich beispielsweise der Vorstand, der das Projekt gestützt hat, so steht unter Umständen die weitere Durchführung in Frage.

2.2       Risiken auf der Ebene der IT-, beziehungsweise der Entwicklungs-Abteilung

2.2.1    Technische Risiken

·         Infrastruktur
Wahl der richtigen Infrastruktur für Entwicklung und Laufzeitumgebung, wenn eine Host-Landschaft keine mobilen Systeme unterstützt, kann die Softwareentwicklung dafür keine Lösungen bereitstellen

·         Entwicklungswerkzeuge: Programmiersprachen, IDEs usw.
Einer der wenigen Bereiche, in denen sich die Risikolage für die Softwareentwicklung in den letzten Jahren verbessert hat. Durch den Einsatz von plattformunabhängigen und gemischtsprachigen Entwicklungswerkzeugen hat sich das Risiko bei Projektstart die »falsche« Programmiersprache oder Plattform gewählt zu haben, vermindert. Dennoch können ungeeignete Tools verwendet werden.

2.2.2    Spezielle Risiken der Softwareentwicklung

·         Erfassung der Anforderungen
Werden Anforderungen nicht konsistent erfasst, so ist ein Scheitern des Projekts fast vorprogrammiert

·         Change-Management und Prozess-Steuerung über den gesamten Application Lifecycle:
funktioniert diese Steuerung nicht, so verläuft die Softwareentwicklung unkontrolliert

·         Dokumentation:
Durch unzureichende Dokumentation sind die Prozessschritte nicht nachvollziehbar, der Entwicklungsprozess ist damit nicht revisionssicher, es kann dann beispielsweise die Abnahme scheitern

·         Bereitstellung IT-Ressourcen:
Zum Beispiel Performance, Plattenkapazität, RAM usw.

·         Personelle Ressourcen, Verfügbarkeit von Know-how

·         Prioritätensetzung innerhalb der Projekte

·         Interne Kommunikation:
Insbesondere wichtig bei geographisch verteilter Entwicklung

·         Kooperation und Kommunikation mit Partnern, Dienstleistern externen Entwicklern, zum Beispiel bei teilweise ausgelagerten Projekten

Das Risiko-Management muss ein System aufbauen, dass sämtliche Risikofaktoren nicht nur statisch erfasst, sondern ständig ihre Veränderung beobachtet. Risiken sind dynamisch und die Faktoren verändern sich während der Projektlaufzeit. Dann ist eine Neubewertung der Risikosituation vorzunehmen, auf deren Grundlage geeignete Maßnahmen zu ergreifen sind. Im Extremfall kann dies auch zu einem kontrollierten Abbruch eines Projekts führen.

Moderne Ansätze in der Softwareentwicklung sind ohnehin prozessorientiert und bilden so eine gute Voraussetzung für die Etablierung eines Risiko-Managements, so beispielsweise das Konzept des Application Lifecycle Management oder Borlands Software Delivery Optimization. Auch die Verfahrens- und Reifegrad-Modelle, wie das V-Modell oder CMMI, betonen den Prozessaspekt und lassen sich so gut mit dem Risiko-Management verbinden. Erreicht ein Unternehmen beispielsweise ein hohes CMMI-Level, so können verschiedene Risiken anders bewertet werden.

In der Softwareentwicklung fehlt jedoch häufig ein entsprechendes Problembewusstsein. Viele meinen, es genüge, die Risiken der Softwareentwicklung ex-post und akzidentiell zu betrachten – etwa nach dem Motto, wenn das Kind in den Brunnen gefallen ist, wird es schon schreien. Erst auf Basis eines durchgängigen Risiko-Managements lässt sich auch eine aktive Risikopolitik betreiben, die nicht nur Schäden frühzeitig erkennt, sondern gleich Vermeidungs- oder Ausweichkonzepte entwickelt. Andernfalls könnte es dazu kommen, dass eine möglichst perfekte Risikokontrolle in eine Angst-Strategie mündet, die den Geschäftsbetrieb lähmt. Das geringste Risiko bestünde, wenn auf Softwareentwicklung ganz verzichtet würde – es ist allerdings ein erhebliches Risiko, wenn dann vernünftige Applikationen für die Weiterentwicklung des Business fehlen.

 

Matthias Zieger

___________________________________________________________

Matthias Zieger ist Technology Consultant bei Borland in Langen

 

Die Risikostrategie muss versuchen, die Risikofaktoren in den Akzeptanzbereich zu bringen.

 

Prozessstruktur des Risiko-Managements

 

 

 Stufen des Risiko-Management

·         Risikoanalyse

·         Risikoidentifizierung

·         Risikobewertung

·         Prüfen der Handlungsalternativen

·         Risiko vermeiden

·         Risiko vermindern

·         Risiko begrenzen

·         Risiko selbst tragen

·         Risiko externalisieren

·         Entwicklung einer Risikostrategie und deren laufende Kontrolle.

 

Folgen Sie »manage it«

auf Google+


 


 


 

 

 
Copyright © 2003-2012  ap Verlag GmbH