Den Drachen bändigen – Sichere Software von Anfang an (Teil 2)

Alle Projektbeteiligten qualifizieren und informieren

Wie kann man als Entwickler sichere und qualitativ gute Software entwickeln? Zunächst einmal muss man sich darüber im Klaren sein, dass Sicherheit und Qualität keine Zufallsprodukte sind – sie sind das Ergebnis gezielter Maßnahmen während des gesamten Entwicklungsprozesses.

Man kann nicht am Ende des Prozesses Qualität hineintesten. Aufgrund der geforderten Sicherheitsstufe sollten in jeder Phase des Projekts (z.B. Anforderungsanalyse, Design, Implementierung, Unit-Test, Integrationstest, Systemtest, Inbetriebnahme) geeignete Maßnahmen ergriffen werden, die einerseits die Erfüllung der Qualitätsanforderungen sicherstellen und andererseits durch geschickte Kombination dazu dienen, den Gesamtaufwand zu minimieren.

In fast allen Projekten ist die fehlende Verzahnung der Teststufen ein Problem. Dadurch können weiße Flecken in der Testabdeckung entstehen, die in einem Safety-Projekt nicht akzeptabel sind. Abhilfe schafft ein projektübergreifendes Testkonzept. Leider ist in vielen Unternehmen keine Rolle in der Entwicklung besetzt, welche die Tests auf allen Ebenen von der Implementierung bis zum Prüflabor betrachtet. Eines der größten Probleme ist dabei mangelnde Planung des Testens. Ingenieurstätigkeiten unterscheiden sich vom Basteln auch dadurch, dass sie geplant ablaufen. Die Planung der Prüfarbeiten muss parallel mit der Entwicklung des Arbeitsproduktes laufen, gegen das geprüft wird.

Software-Entwicklung hinkt der Hardware-Entwicklung hinterher

Sicherheit und andere Qualitätsmerkmale müssen bereits Bestandteil des Systementwurfs sein. Das fängt bei der Anforderungsanalyse an. Es geht weiter beim Design, wo geprüft werden muss, ob die Architektur überhaupt die Sicherheitsanforderungen abbilden kann. Es gibt Designs, bei denen man an der Struktur erkennen kann, dass die Sicherheitsanforderungen nicht erfüllbar sind. Auch bei der Implementierung müssen bestimmte Regeln eingehalten werden, um die Sicherheit zu garantieren. Es ist sinnvoll, in jeder Prozessphase darüber nachzudenken, wie man die Sicherheitsanforderungen erfüllbar machen kann.

In vielen Fällen wird zu sehr implementierungsorientiert gedacht. Phasenorientierte Prüfschritte verzögern zwar die Implementierung, reduzieren aber gleichzeitig den Aufwand für große Korrekturschleifen, die sich durch den gesamten Entwicklungsprozess ziehen. Man sollte nicht versuchen, den Drachen erst zu bändigen, wenn er bereits groß und stark ist. In Bezug auf Sicherheit und Qualität hinkt die Software-Entwicklung noch der Hardware-Entwicklung hinterher. Viele Entwickler glauben, man könne in der Software schnell mal nachträglich etwas ändern, aber dafür sind viele Systeme bereits zu komplex.

Selbstbewusstsein und fachliche Sicherheit durch Workshops und Seminare

Doch die Integration in den Prozess alleine reicht auch noch nicht aus: Jeder der am Entwicklungsprozess Beteiligten muss sich seiner Rolle und seiner Verantwortung für die Systemsicherheit bewusst sein – und diese auch aktiv wahrnehmen. Das richtige Maß an Motivation, Fachkompetenz und Verantwortungsbewusstsein ist dazu eine wichtige Voraussetzung. Und diese Kriterien lassen sich am besten durch eine professionelle Ausbildung und den regelmäßigen, offenen und auch kritischen Dialog  der Schlüsselpersonen (Entwickler und Management) erfüllen.

Spezialisten wie MicroConsult bieten für alle Phasen und Rollen des Entwicklungsprozesses geeignete Maßnahmen (Seminare, Workshops, Beratung, Projektcoaching, Kongresse) an, mit denen Unternehmen die Risiken reduzieren und so Zeit und Geld sparen können. Die Verantwortlichen gewinnen dabei nicht nur an Selbstbewusstsein und fachlicher Sicherheit, sondern sind sich auch des Sinns und Nutzens vieler Maßnahmen bewusster. Darüber hinaus haben sie die Gelegenheit, sich mit Spezialisten aus anderen Unternehmen auszutauschen. Dieser Blick über den Tellerrand bringt wertvolle Erkenntnisse und Anregungen für die eigene Projektarbeit.

Fazit

Die Themen Qualität und Sicherheit ziehen sich wie ein roter Faden durch den gesamten Entwicklungsprozess. In jedem Prozessschritt gibt es sinnvolle Maßnahmen, um Qualität abzusichern und Anforderungen an die Sicherheit zu überprüfen, zu validieren oder zu testen. Der erste Schritt zu sicherer und qualitativ hochwertiger Software ist die Schaffung des Bewusstseins ihrer Notwendigkeit für den nachhaltigen Projekterfolg.

Nur wer sich der Bedeutung bewusst ist, wird sich mit der Problematik im Entwicklungsprozess auseinandersetzen und geeignete Aktivitäten starten. Eine der wichtigsten und ersten Maßnahmen besteht dabei darin, alle Projektbeteiligten ihrer Rolle und Verantwortung gemäß sinnvoll zu qualifizieren und zu informieren. Das garantiert zwar noch keine sichere Software, aber immerhin bestehen sehr gute Chancen, die Drachen so professionell zu zähmen, dass sie uns künftig viel Freude bereiten.

Sichere Software

Mehr lesen

Den Drachen bändigen – Sichere Software von Anfang an:
Teil 1 „Entwickler unter Zeitdruck“

Den Drachen bändigen – Sichere Software von Anfang an:
Teil 3 „Ratschläge und Statements zu Qualität und Sicherheit“

Weiterführende Informationen

MicroConsult Training & Coaching zum Thema Qualität, Safety & Security

MicroConsult Fachwissen zum Thema Qualität, Safety & Security

Veröffentlicht von

Peter Siwon

Peter Siwon

Dipl.-Ing. Peter Siwon ist freier Mitarbeiter bei MicroConsult. Er lernte die Projektarbeit im Laufe seiner beruflichen Entwicklung aus vielen Perspektiven kennen: Forschung, Entwicklung, Projektleitung, Vertrieb, Marketing und Geschäftsführung. Seit 2008 gibt er sein Wissen und seine Erfahrungen als Trainer, Coach, Lehrbeauftragter und Autor von Vorträgen, Kolumnen, Fachartikeln und Büchern weiter. Seine Vorträge und Seminare wurden bereits mehrfach ausgezeichnet. Sein Themenspektrum umfasst klassische, agile und systemische Projektmanagement-Ansätze, Kommunikation, Führung, Teamentwicklung und Konfliktlösung im Projektumfeld. Die vielen Fallbeispiele aus der Praxis seiner Kunden und Kundinnen sowie seine aktive Mitwirkung in Projekten liefern ihm immer wieder neue Impulse und Erkenntnisse für seine Tätigkeit. Darüber hinaus erweitert Peter Siwon sein Wissen durch regelmäßige Aus- und Weiterbildung - gerne blickt er dabei über den Tellerrand. Aus der Überzeugung heraus, dass die Projektarbeit maßgeblich durch menschliche Faktoren beeinflusst wird, gilt sein besonderes Interesse der menschlichen Seite des Projekterfolgs. Mehr Informationen zu Peter Siwon und Kundenmeinungen zu seiner Arbeit finden Sie unter www.systemisches-projektmanegment.info.