IT-DIRECTOR: Herr Stahl, welchen Trend erkennen Sie derzeit im Bereich „Software-Entwicklung“?
L. Stahl: Das beherrschende Thema, und das sind nicht nur unsere Eindrücke von der Cebit und der Hannovermesse, war sicherlich Cloud Computing, also IT-Infrastrukturen dynamisch an den Kundenbedarf angepasst und über ein Netzwerk zur Verfügung gestellt. Weitere Trends sind mobile Applikationen (Smartphones) und die Entwicklung von Apps für Webstores wie iTunes, Google Appstore , aber auch intelligente, vernetzte Applikationen, die sich selbständig abgleichen wie etwa die Informationssynchronisierung bei Navigationssystemen, sind en vogue. Als weiterer Trend zeichnet sich das 3D-Modelling ab, d.h. die Erstellung dreidimensionaler Anwendungen (z.B. für Präsentationen oder Animationen).
IT-DIRECTOR: Durch welche Werkzeuge und Methoden lassen sich Entwicklungsprozesse optimieren?
L. Stahl: Hier sehen wir vor allem drei Ansätze, wie man noch mehr Qualität in den Entwicklungsprozess bringen kann: natürlich durch konsequentes Requirements-Engineering und -Management und der Einbeziehung aller Prozessbeteiligten in den Entscheidung-/Entwicklungsprozess; zweitens, durch agiles Projektmanagement (z.B. Scrum); und drittens, durch eine verteilte Entwicklung (distributed development), d.h. der Zerlegung komplexer Prozesse in Teilprozesse und einer intelligenten Aufgabenverteilung.
IT-DIRECTOR: Welche Vorgehensmodelle sind in der Software-Entwicklung derzeit auf dem Vormarsch und warum?
L. Stahl: Unsere Eindrücke, die wir in Gesprächen auf Messen und Ausstellungen, aber auch aus IT-Medien gewonnen haben: XP (Xtreme Programming, vgl. Scrum), Component-based development (verteilte Entwicklung), Test-driven development (Simulationen) und Quality-driven development (Requirements Engineering).
IT-DIRECTOR: Wovon ist es abhängig, welches Modell zum Einsatz kommt?
L. Stahl: Nun, zunächst hängt es natürlich von den speziellen Anforderungen des Projekts ab, dann von der Teamgröße, dem Projektbudget und dem Zeitrahmen. Sicherlich spielt es auch eine Rolle, ob und inwieweit die Verantwortlichen die Modelle kennen und damit umgehen können. Nicht zu unterschätzen ist schließlich die Aufgeschlossenheit der Geschäftsführung gegenüber den neuen Methoden. Es wäre von großem Vorteil, das Management im Boot zu haben oder ins Boot zu holen und – sofern möglich – den Kunden in die Modellvorbereitung mit einzubeziehen.
IT-DIRECTOR: Wovon ist es abhängig, welche Programmiersprache verwendet wird?
L. Stahl: Sicherlich ist der Kenntnisstand bzw. die Qualifikation der Mitarbeiter und in welchen Sprachen bisherige Projekte programmiert wurden (den Vorteil der Wiederverwendung von Konzepten nutzend) maßgeblich. Eine wichtige Rolle spielen auch die Anforderungen des Auftraggebers, die den Ausschlag für eine Entscheidung geben können.
IT-DIRECTOR: Welche Bedeutung schreiben Sie Software-Tests zu?
L. Stahl: Software-Tests sind unumgänglich, um die Umsetzung der eigenen Qualitätsanforderungen und der des Kunden sicher zu stellen. Idealerweise sind die Maßnahmen eingebettet in ein ganzheitliches Qualitätsmanagementsystem, das eine gleichbleibend hohe Qualität während des gesamten Projektes sicherstellt. Und ganz entscheidend: Dies geht nur mit motivierten Mitarbeitern, die Qualität tagtäglich und konsequent leben!
IT-DIRECTOR: Welchen Vorteil bringt das Auslagern von Software-Entwicklung/-Weiterentwicklung, Support und/oder Testing-Services mit sich?
L. Stahl: Die Vorteile liegen auf der Hand: Eigene Ressourcen sind nicht gebunden, sondern stehen beispielsweise für die Analyse oder die Entwicklung zur Verfügung, die Einarbeitung von Mitarbeitern kann entfallen, weil auf externe Spezialisten zurückgegriffen wird. Und nicht zuletzt: Komplexe und teure Werkzeuge müssen nicht angeschafft und die eigenen Mitarbeiter dafür eingearbeitet werden.
Aber man sollte auch die Nachteile nicht vergessen: Die Abstimmungsprozesse (Zeitzonenproblem, Sprachprobleme, räumliche Trennung) sind möglicherweise sehr aufwendig, und die Qualitätssicherung kann komplexer werden, weil keine direkte Kontrolle möglich ist.
IT-DIRECTOR: Inwiefern spielen kulturelle Unterschiede eine Rolle bezüglich der Sicherheit, wenn ein Unternehmen auf Nearshore-/Offshore-Zentren zurückgreift?
L. Stahl: Nun, es ist sehr wahrscheinlich, dass in anderen Kulturen ein anderes Verständnis von „Qualität“ und „Sicherheit“ herrscht (schnell und viel ist nicht gleich gut!). Weiterhin könnten (durch andere Feiertage bedingt) Arbeitszeiten oder Urlaub zu Sicherheitslecks wegen Abwesenheit führen. Drittens, unterschiedliche Kenntnisse in Prozessen (ITIL, CMMI usw.) in Europa, Asien oder USA könnten zu unterschiedlichen Interpretationen von Sicherheitsstandards und in der Folge zu Fehleinschätzungen bei der Auswahl geeigneter Sicherungsmaßnahmen führen.
IT-DIRECTOR: In welchen Fällen sollte man sich eher für Nearshoring und wann für Offshoring entscheiden?
L. Stahl: Zunächst ist ja einmal zu prüfen, welche Dienstleistungen (Projektleitung, Entwicklung, Qualitätssicherung, Test, Support usw.) ausgelagert werden sollen. Entscheidungskriterien für Offshoring (beispielsweise Indien, China etc.) sind: sehr niedrige Kosten – der Zeitaufwand für die Projektumsetzung wird daher nachrangig behandelt –, einfach zu verstehende und umzusetzende Projekte, gute Erreichbarkeit wegen langer Arbeitszeiten und eine fast unbegrenzte „Manpower“. Für Nearshoring (z.B. in Osteuropa) spricht: Kundenähe, persönliche Beziehung, weniger Risiko (politisch, geographisch) sowie nahezu einheitliche Ausbildungsstandards.