Chris Adlard, Senior Manager, Customer Advocacy & Communications bei Coverty
IT-DIRECTOR: Inwieweit verändern neue Technologien wie Cloud Computing oder Mobility die herkömmliche Software-Entwicklung?
C. Adlard: Cloud Computing und Mobility bieten neue Möglichkeiten für Innovationen im Software Development Lifecycle – gleichzeitig bedeutet dies aber ein gesteigertes Maß an Komplexität. Diese macht es schwieriger, die Konsistenz in der Softwarequalität zu gewährleisten, vor allem, wenn Software-Entwickler weiterhin allein auf die traditionellen Methoden der Qualitätssicherung angewiesen bleiben.
IT-DIRECTOR: Welche Programmiersprache ist derzeit unter Software-Entwicklern besonders beliebt? Und warum ist das so?
C. Adlard: Ganz allgemein sind C und C++ immer noch sehr beliebte Programmiersprachen im Bereich Embedded Products (z.B. für medizinische Geräte, Spielekonsolen, Telekommunikationssysteme, Automotive Infotainment). C und C++-Anwendungen sind in der Regel weniger ressourcenintensiv, gerätespezifischer Natur und schneller ausführbar. Java und C# sind hingegen weit verbreitet bei Online-Applikationen – wie zum Beispiel im Finanzsektor und im Handel. Java- und C#-Anwendungen sind schneller zu entwickeln und bieten dem Entwickler vielfältigere Möglichkeiten. Auf der anderen Seite binden sie mehr Ressourcen.
IT-DIRECTOR: Mit welchen gängigen Methoden bzw. Modellen lässt sich die Qualität der Software-Entwicklung bewerten?
C. Adlard: Nach unserer Beobachtung hat sich Agile zum De-facto-Entwicklungsmodell für die meisten großen Unternehmen herauskristallisiert. Dies hat zu mehr Engagement der Entwickler in Initiativen zur Qualitätssicherung geführt und trägt dazu bei, weitere Verbesserungen in der Softwarequalität sicher zu stellen.
Das Testen während der Entwicklung spielt dabei eine große Rolle. Unternehmen wie Coverity bieten entsprechende Lösungen, die dafür sorgen, dass die Qualität der Anwendungen bereits früh im Entwicklungszyklus gewährleistet ist. Damit versetzen wir Entwicklerteams in die Lage, Mängel so früh wie möglich aufzuspüren und zu beheben – noch bevor der Quelltext bei der Qualitätssicherung angelangt ist.
IT-DIRECTOR: Gibt es Automatisierungs-Tools, mit denen sich die Qualität messen lässt? Wenn ja, welche? Und wie funktionieren diese?
C. Adlard: Eine reine Messung der Qualität wäre uns zu wenig: Wir gehen noch einen Schritt weiter, da unsere Lösungen schon eine sehr frühe Qualitätskontrolle ermöglichen und eventuelle Mängel aufdecken und beheben. Die Static Analysis ist ein wichtiger Bestandteil der Coverity-Plattform zum automatischen Testen während der Entwicklung. Das Tool lässt Programmierer versteckte, aber gleichzeitig potentiell schwerwiegende Fehler bereits in einem frühen Stadium der Entwicklung aufspüren. So werden die Kosten, der notwendige Mehraufwand und das Risiko verringert die Softwarefehler verursachen. Das Analyseverfahren findet kritische Fehler in C/C++-, Java- und C#-Code.
Zudem ist Integrity Control die Lösung zur Kontrolle des Quelltextes. Softwareentwickler können mit ihrer Hilfe Richtlinien zur Quelltextqualität, Sicherheit und Entwicklerproduktivität erstellen. Der Test des Codes kann dann mit Hilfe von Richtlinien verwaltet, überwacht und protokolliert werden. Auf diese Weise erhalten die Firmen Einblicke in die Risiken, die mit der Entwicklung verbunden sind. Integrity Control ist ein Softwarezusatz, der auf die Resultate unserer Analyselösung aufsetzt und frühzeitig vor Risiken warnt.
IT-DIRECTOR: Was sollten Anwenderunternehmen, die ihre Software bei einem externen Dienstleister entwickeln lassen, hinsichtlich der Softwarequalität bei der Ausgestaltung der SLAs auf jeden Fall beachten?
C. Adlard: Viele Unternehmen verlassen sich inzwischen auf zugelieferte Software. Anders sind große Projekte teilweise nicht mehr zu bewältigen – sei es aus finanzieller Sicht oder wegen mangelnder Personalressourcen. Allerdings überrascht, dass bei dem extern erstellten Code häufig weniger strenge Qualitätsmaßstäbe angesetzt werden, als bei den intern entwickelten Zeilen. Hier ist eine Durchgängigkeit der Anforderungen unerlässlich.
IT-DIRECTOR: Welche Auswirkungen hatte der schlimmste Ihnen bekannte Software-Entwicklungsfehler?
C. Adlard: Die IT-Geschichte liefert hier wohl einige Beispiele – die Dunkelziffer dürfte nochmals größer sein. Unser Fokus liegt darauf, schwerwiegende – aber auch schon kleinere – Softwarefehler früh zu erkennen und zu beheben. Bei mehr als 1.100 Kunden ist uns das schon gelungen.