Metin Savignano, Geschäftsführer bei Savignano Software Solution
IT-DIRECTOR: Inwieweit verändern neue Technologien wie Cloud Computing oder Mobility die herkömmliche Software-Entwicklung?
M. Savignano: Mit dem Cloud Computing werden zentrale Datenhaltung und zentrale Datenverarbeitung wieder an Bedeutung gewinnen. In der EDV haben sich ursprünglich alle Anwender einen (Groß-)Rechner geteilt, dann wurde über den Siegeszug des „persönlichen Computers“ die immer billiger werdende Rechenleistung auf die Clients verteilt. Der Weg zurück zu „dummen“ Terminals ist zwar nicht zu erwarten, aber die Kernfunktionalitäten werden wieder stärker zentralisiert. Der Grund hierfür liegt vor allem in der einfacheren Administration durch wenige Experten – ein Vorteil, den auch der Verbraucher immer mehr zu schätzen lernt. Die Latenzzeiten zwischen Server und Client spielen künftig beim Softwaredesign eine noch größere Rolle und asynchrone Prozesse werden dabei die Komplexität erhöhen.
IT-DIRECTOR: Welche neuen Fehlerquellen sind bei der Entwicklung von Individualsoftware für Anwenderunternehmen zu beachten – und welche altbekannten sind nach wie vor relevant?
M. Savignano: Neue Fehlerquellen werden durch asynchrone Anbindungen entstehen. Zudem macht die Vielfältigkeit mobiler Geräte das Testen schwierig – hier wird sich aber langfristig eine Konsolidierung ergeben müssen. Von den bisherigen Fehlerquellen fallen wohl leider keine weg, wobei der zentralisierte Teil der Datenverarbeitung aber leichter zu testen sein wird.
IT-DIRECTOR: Welche Programmiersprache ist derzeit unter Software-Entwicklern besonders beliebt? Und warum ist das so?
M. Savignano: Was heißt „beliebt“? Im Enterprise-Bereich sind die meist verwendeten Sprachen wahrscheinlich Java und Cobol – aber sind diese beliebt? Wenn zu den Software-Entwicklern auch Hobbyprogrammierer hinzugezählt werden, dann wird sicherlich PHP oft verwendet, ob diese Sprache beliebt ist, vermag ich nicht zu sagen. Es gibt Programmiersprachen, die nicht sehr verbreitet sind, aber stark beachtet werden und vielleicht wichtige Impulse gegeben haben – sind diese also beliebt?
IT-DIRECTOR: Mit welchen gängigen Methoden bzw. Modellen lässt sich die Qualität der Software-Entwicklung bewerten?
M. Savignano: Das Messen funktionaler Anforderungen ermöglichen fachliche Funktionstests oder Zweigüberdeckungstests, besonders in Form von Regressionstests. Performance- und Lasttests messen nicht-funktionale Qualitätsmerkmale wie Skalierbarkeit. Für wichtig halte ich risikobasiertes Testen, also die Festlegung des Detaillierungsgrades von Tests anhand einer Risikoanalyse. Dies ist auch ein wichtiges Managementtool.
IT-DIRECTOR: Gibt es Automatisierungs-Tools, mit denen sich die Qualität messen lässt? Wenn ja, welche? Und wie funktionieren diese?
M. Savignano: Tests sollten grundsätzlich wiederholbar und damit nach Möglichkeit auch automatisiert sein. Wiederholbare Tests erlauben dann auch eine Aussage über die Qualität und den Qualitätsverlauf. Um möglichst früh solche Aussagen treffen zu können, halte ich Unit-Tests für unerlässlich. Außerdem führen Unit-Tests durch ihren frühen Einsatz dazu, dass die Testbarkeit schon im Entwurf berücksichtigt wird. Das bringt den positiven Effekt mit sich, dass dies zu einem besseren Design von Komponenten und Schnittstellen führt.
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?
M. Savignano: Basis hierfür muss eine Risikoanalyse sein, mit der man Aussagen darüber treffen kann, welche Art von Fehlern besonders kritisch sein kann. Dabei ist die Eintrittswahrscheinlichkeit nicht so entscheidend wie die möglichen Auswirkungen eines Fehlers.
IT-DIRECTOR: Welche Auswirkungen hatte der schlimmste Ihnen bekannte Software-Entwicklungsfehler?
M. Savignano: Menschen machen nun mal Fehler – was die Teilmenge der Software-Entwickler einschließt. Wichtig ist es deshalb, solche Fehler beherrschbar zu machen, die ein Unternehmen existenziell bedrohen können. Was das konkret ist, unterscheidet sich von Unternehmen zu Unternehmen, betrifft aber meist die Kernkompetenz, die das Unternehmen hat oder in der es wahrgenommen wird.