Entwickeln mit DevOps und Scrum

Innovationen am Rande des Chaos

20. September 2013
Christoph Lixenfeld, seit 25 Jahren Journalist und Autor, vorher hat er Publizistik, Romanistik, Politikwissenschaft und Geschichte studiert.

1994 gründete er mit drei Kollegen das Journalistenbüro druckreif in Hamburg, schrieb seitdem für die Süddeutsche Zeitung, den Spiegel, Focus, den Tagesspiegel, das Handelsblatt, die Wirtschaftswoche und viele andere.

Außerdem macht er Hörfunk, vor allem für DeutschlandRadio, und produziert TV-Beiträge, zum Beispiel für die ARD-Magazine Panorama und PlusMinus.

Inhaltlich geht es in seiner Arbeit häufig um die Themen Wirtschaft und IT, aber nicht nur. So beschäftigt er sich seit mehr als 15 Jahren auch mit unseren Sozialsystemen. 2008 erschien im Econ-Verlag sein Buch "Niemand muss ins Heim".

Seit 2014 betreibt er die Informationsplattform www.wohinmitmutter.de.

Christoph Lixenfeld schreibt aber nicht nur, sondern er setzt auch journalistische Produkte ganzheitlich um. Im Rahmen einer Kooperation zwischen Süddeutscher Zeitung und Computerwoche produzierte er so komplette Zeitungsbeilagen zu den Themen Internet und Web Economy inklusive Konzept, Themenplan, Autorenbriefing und Redaktion.
Viele Unternehmen sind mit ihrer Software-Entwicklung unzufrieden. DevOps und Scrum können die Ergebnisse verbessern, erfordern aber viel Disziplin.
Bei komplexen Software-Entwicklungsprojekten greifen längst nicht immer alle Zahnräder nahtlos ineinander.
Bei komplexen Software-Entwicklungsprojekten greifen längst nicht immer alle Zahnräder nahtlos ineinander.
Foto: Sashkin/Fotolia.com

Das Entwicklungsprozesse - vor allem bei Software, aber nicht nur dort - heute überall agil und lean sein müssen, liegt daran, dass unzählige Unternehmen die Grenzen des guten alten Plan-Build-Run kennengelernt haben. Softwareentwicklung ist ein Geschäft, das im Wesentlichen aus Unwägbarkeiten besteht. Angefangen von der Tatsache, dass einige Module partout nicht so funktionieren wollen wie geplant, über den Umstand, dass neue Kundenanforderungen Teile des Pflichtenhefts schreddern, bis zu dem Problemchen, dass während der (zu) langen Projektlaufzeit Wettbewerber plötzlich mit einem genialen Konkurrenzprodukt um die Ecke kommen können.

Den meisten Unternehmen kennen die Problematik, weil sie sie schon am eigenen Personal erfahren haben. Im Rahmen einer IBM-Studie über aktuelle Software-Trends äußerten lediglich 25 Prozent der 400 befragten Executives, dass in ihrem Haus Softwareentwicklung und -auslieferung effizient gemanagt wird. Und Unternehmen sind der Meinung, dass ihnen dadurch Business-Chancen entgehen.

Was DevOps von Scrum unterscheidet

Das gute alte Plan-Build-Run ist für moderne Software-Projekte ungeeignet.
Das gute alte Plan-Build-Run ist für moderne Software-Projekte ungeeignet.
Foto: Audi

IBM empfiehlt, um dieser Situation abzuhelfen, "nachhaltige Softwareentwicklung mit DevOps". DevOps ist ein Kunstwort, das sich aus Teilen der Begriffe Development und Operations zusammensetzt. Einfach gesagt steht es für eine bessere Zusammenarbeit zwischen dem Entwicklungsteam und dem Betrieb, nach Auffassung von IBMIBM gehen die Möglichkeiten des Ansatzes allerdings noch darüber hinaus. "DevOps bedeutet, dass alle Stakeholder, das heißt alle, die das Entwicklungsprojekt tangiert, eng zusammenarbeiten. Gemeint sind dabei neben den Entwicklern und dem Management auch Fachabteilungen, Lieferanten und sogar Kunden", sagt Thomas Bueck, Manager im technischen Vertrieb im IBM Geschäftsbereich Rational-Entwicklungssoftware. Alles zu IBM auf CIO.de

DevOps bezeichnet im Kern nichts anderes als ScrumScrum ("Gedränge"), nur in einem größeren, auf die gesamte Organisation bezogenen Zusammenhang. Scrum, auch ein Begriff, der seit etwa zwei Jahren immer wieder durch die IT-Presse geistert, bezieht sich dagegen stärker auf die Kooperation zwischen Entwicklungsabteilung und Marketing/Vertrieb. Alles zu Scrum auf CIO.de

Die Ziele von Scrum und von DevOps sind allerdings identisch: Es geht darum, die Entwicklungszeit insgesamt zu verkürzen, schneller und flexibler auf veränderte Anforderungen zu reagieren, Feedback des Kunden und der eigenen Marketingabteilung schneller und konsequenter zu integrieren.

Sequenzielles Arbeiten dauert zu lange

Kernproblem der klassischen Softwareentwicklung ist die streng sequenzielle Arbeitsweise: Abteilung B fängt erst mit der Arbeit an, wenn Abteilung A mit ihrem Teil fertig ist. Innovativ und agil ist anders. Gerade wer Internettechnologie auf einem sich rasant verändernden Markt verkaufen will, hat mit so einer klassischen Planung keine Chance. Niemand kann zum Start eines mehrmonatigen Projekts genau vorherberechnen, wie sich alle Faktoren, die man berücksichtigen muss, im Laufe von Monaten entwickeln werden.

Dementsprechend gleichen alle Versuche, genau vorherzusehen, wie viel Ressourcen für Arbeitsschritt A oder B nötig sind, einem Schuss in den Himmel. Wenn man dazu noch streng sequenziell vorgeht - also unbedingt abwarten muss, bis Arbeitsschritt A erledigt ist, bevor man mit B auch nur anfangen kann - sind lange Verzögerungen unvermeidlich.