Innovate 2014: Softwareentwicklung ist weiterhin kritisch

Veranstaltungsberichte  –  Kommentare

IBMs Innovate-Veranstaltung zeigte erneut, dass Softwareentwicklung weiterhin risikoreich ist – auch wenn es offensichtliche Verbesserungen gibt.

"Es heißt, dass 70 Prozent aller Softwareprojekte die Vorgaben in irgendeiner Form nicht erfüllen. Die Zahl mag zu hoch sein, doch auf jeden Fall ist über die Hälfte aller Projekte am Ende zu teuer, zu zeitintensiv oder erzielt nicht die geforderte Qualität", sagte Kristof Kloeckner, IBMs General Manager für den Rational-Bereich, auf der diese Woche organisierten Innovate 2014. Doch den Firmen würde nichts anderes übrig bleiben, als dieses Risiko einzugehen. "Nur mittels Software lassen sich heute deutliche Konkurrenzvorteile schaffen. Wer relevante Anwendungen schneller am Markt hat, hat eindeutig die Nase vorn – dazu gibt es keine Alternative", so Kloeckner weiter. IBMs Cloud Chef Steve Robinson sagt es – Stephen O’Grady zitierend – noch prägnanter: "Softwareentwickler sind die neuen Königsmacher!"

Aber auch wenn die Mehrzahl der Projekte nicht hundertprozentig erfolgreich ist, steigt doch der Anteil der erfolgreichen Projekte seit Jahren kontinuierlich an. Diese Verbesserungen sind laut Kloeckner vor allem darauf zurückzuführen, dass die Kommunikation zwischen den Entwicklern und den Anwendern enger und kontinuierlicher abläuft. "Ein konstantes Feedback von Anbeginn des Projekts an minimiert das Entwicklungsrisiko ganz erheblich. Wöchentliche oder sogar tägliche Abstimmungen können ein Projektdebakel weitgehend verhindern", meint auch IBMs oberster Software-Chef Steve Mills, in dessen Geschäftsbereich immerhin 42.000 Entwickler beschäftigt sind.

Entwicklungszyklen von sechs bis zwölf Monaten sind laut Kristof Kloeckner, General Manager bei IBM Rational, trotz Continuous Delivery und DevOps die Norm. (Bild: Harald Weiss)

Alles kontinuierlich

IBM unterstützt ein solches Vorgehen mit seinen Tools zur kontinuierlichen Auslieferung und DevOps. Diese sind jetzt auch auf IBMs PaaS-Plattform BlueMix implementiert und sollen Ende Juni allgemein verfügbar sein.

Ein weiterer wichtiger Aspekt der Risikominimierung ist die Wiederverwendung bestehender Programme. Mills ist bekannt für seine strenge Haltung auf diesem Gebiet. "Ich weiß, dass jeder Entwickler am liebsten entwickeln möchten und lieber das Rad neu erfinden will, als ein bestehendes Programm zu benutzen, doch wir sind ein kommerzielles Unternehmen und können uns solche Wunschprogrammierung nicht leisten. Wer so arbeiten will, muss zu einer Hochschule oder einem Institut gehen", lautet Mills Bekenntnis zur konsequenten Wiederverwendung.

Das hört sich plausibel an, doch es hat seine Schattenseiten. Nicht jedes Stück Software, das im Rahmen eines bestimmten Projekts erstellt wurde, lässt sich auch allgemein einsetzten. Viele implizite Vorgaben können eine generelle Nutzung nahezu unmöglich machen. Hinzu kommen häufig unsaubere APIs sowie eine zunehmende Komplexität, die daraus resultiert, dass zu komplexe Module zusammengefügt werden mussten, um einfache Aufgaben zu lösen. Ganz zu schweigen von den daraus resultierenden Performanceproblemen.

Und schließlich gibt es noch das Problem des Findens geeigneter Softwarebausteine. IBM hat tausende Module in seiner Library, und das Suchen und Finden ist zeitraubend und kann frustrierend enden, wenn man nichts Passendes gefunden hat. IBM-Fellow Jerry Cuomo meint sogar, dass das eine sinnvolle Nutzung von Watson sein könnte. "Watson kann einen immensen Berg an Dokumenten nach vorgegeben Kriterien durchsuchen und auswerten, das könnte die Lösung für das schnelle Aufspüren von geeigneten Bausteinen sein", sagte er in einem Gespräch mit heise Developer.

Darüber hinaus würden sich auch die Fachabteilungen immer stärker mit den Entwicklungsproblemen befassen und tiefer in diese Materie einsteigen. "Die gegenseitigen Schuldzuweisungen nehmen ab, ich sehe sogar ein deutlich zunehmendes Interesse der Fachbereichs-Manager am Entwicklungsprozess. Die wollen heute wissen, wie das funktioniert und wie das gemanagt wird", sagte Kloeckner über seine Erfahrungen mit den IBM-Kunden.

Die Cloud verändert alles

Doch nicht nur die Struktur der Softwareentwicklung wird sich noch tiefgreifend ändern, auch inhaltlich sieht man bei IBM gravierende Einflüsse auf den Entwicklungsprozess. Einer davon ist das rasant zunehmende Interesse am Cloud Computing. "Programme für die Cloud müssen anders strukturiert sein, und eine Entwicklung in der Cloud ermöglicht eine völlig neue Form der Kollaboration, des Code-Sharings und der Wiederverwendung bestehender Programmen", meint Robinson. Doch auch wenn das Interesse daran stark steigt –- noch ist das alles in den Kinderschuhen. "Maximal fünf Prozent der heutigen Entwicklungen sind für die Cloud", so Robinson weiter.

Neben den klassischen Software-as-a-Service-Angeboten sieht man auch einen Trend zu neuen SaaS-Diensten, wie sie von Service Now angeboten werden. "Diese Art von Unternehmen vereinfachen die IT-Nutzung durch die Fachabteilung, ohne dass sie selbst über eine eigene Infrastruktur verfügen müssen", erläutert Robinson diesen neuen Anwendungstrend.

Ein weiterer wichtiger Einflussbereich ist die sich weiterhin schnell ändernde Hardware-Umgebung. Vor allem durch die neuen Halbleiter-Massenspeicher –- sei es als externes Flash-Laufwerk oder in Form von immensen Hauptspeicher-Kapazitäten, wie man sie bei SAPs Hana oder auch in den anderen Converged-Systems antrifft. "Die Programmierer müssen sich auf neue Strukturen einstellen, die alten Regeln über Zugriffszeiten und Speicherformen stimmen vielfach nicht mehr. Indexing macht auf diesen Systemen häufig keinen Sinn mehr", sagt Kloeckner über die neuen Runtime-Umgebungen.

Schließlich gibt es noch den Einfluss der mobilen Endgeräte. "Mobile first ist nicht so einfach umzusetzen, aber es führt kein Weg mehr daran vorbei", meint Cuomo. Dem würden vor allem viele Sicherheitsbedenken im Weg stehen. Doch laut Caleb Barlow, IBMs Vice President für Mobile, wird es nicht mehr lange dauern, bis mobile Anwendungen sicherer sein werden, als Desktop-Applikationen. "Android und iOS sind wesentlich abgeschotteter als alle Desktop-Systeme und mithilfe von Sandboxing und Apps-Analysen lassen sich höhere Sicherheitsstandards erreichen, als es auf jedem Desktop möglich ist", so Barlow. (ane)

Harald Weiss
ist seit über zehn Jahren freier Fachjournalist in New York und berichtet regelmäßig von vielen bedeutenden IT-Events in den USA. Er begann seine Berufslaufbahn als Softwareentwickler und System-Ingenieur, bevor er über die Stationen Marketing und PR zur schreibenden Zunft kam.