Entwickeln mit DevOps und Scrum
Innovationen am Rande des Chaos
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".
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.
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
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.
- Schneller als Plan-Build-Run
Die Anforderungen an Software verändern sich im Laufe der Entwicklung oft erheblich - anders als bei einem Auto zum Beispiel. Dem tragen agile Methoden wie Scrum Rechnung. - Besseres Ineinandergreifen
Bei traditioneller Softwareentwicklung greifen Zahnräder oft nicht ineinander, sondern sie rotieren nebeneinander vor sich hin. Scrum sorgt für nahtlosere Prozesse. - Jeder spricht mit jedem
Bei vielen Softwareprojekten mangelt es an gelungener Kommunikation, bei Scrum ist regelmäßiges Feedback für alle Beteiligten Pflicht. - Mehr Qualität
Mit Hilfe von Scrum entwickelte Software ist in der Regel besser als andere, weil hier frühzeitig das Feedback der Kunden integriert wurde. - Chaos führt nicht zu Panik
Chaotisch ist Scrum insofern, als sich der damit verbundene Prozess nicht einfach mit einem Pfeil beschreiben lässt, der links auf dem Blatt Papier anfängt und irgendwo rechts aufhört. Sondern er ist mehrdimensional. Wenn sich alle an bestimmte Regeln halten, läuft trotzdem nichts aus dem Ruder. - Im Mittelpunkt: Der Mensch
Scrum heißt Gedränge. Und es bedeutet, den Menschen in den Mittelpunkt zu stellen in dem Sinne, dass ihm die Methode ermöglicht, effizient und gleichzeitig kreativ zu arbeiten. - Automatisierte Tools statt Selbstgestricktes
Oft verwendet jede Abteilung eigene Anwendungen, um Entwicklungsschritte zu dokumentieren, zum Beispiel Excel. Automatisierte, vor allem einheitliche Tools beschleunigen hier die Abläufe erheblich. - Nicht nur am Ende testen
Zeitgemäße Entwicklungsumgebungen erlauben es, auch einzelne Module zwischendurch zu testen, um immer auf dem neuesten Stand zu sein. - Schneller als Plan-Build-Run
Die Anforderungen an Software verändern sich im Laufe der Entwicklung oft erheblich - anders als bei einem Auto zum Beispiel. Dem tragen agile Methoden wie Scrum Rechnung. - Besseres Ineinandergreifen
Bei traditioneller Softwareentwicklung greifen Zahnräder oft nicht ineinander, sondern sie rotieren nebeneinander vor sich hin. Scrum sorgt für nahtlosere Prozesse. - Jeder spricht mit jedem
Bei vielen Softwareprojekten mangelt es an gelungener Kommunikation, bei Scrum ist regelmäßiges Feedback für alle Beteiligten Pflicht. - Mehr Qualität
Mit Hilfe von Scrum entwickelte Software ist in der Regel besser als andere, weil hier frühzeitig das Feedback der Kunden integriert wurde. - Chaos führt nicht zu Panik
Chaotisch ist Scrum insofern, als sich der damit verbundene Prozess nicht einfach mit einem Pfeil beschreiben lässt, der links auf dem Blatt Papier anfängt und irgendwo rechts aufhört. Sondern er ist mehrdimensional. Wenn sich alle an bestimmte Regeln halten, läuft trotzdem nichts aus dem Ruder. - Im Mittelpunkt: Der Mensch
Scrum heißt Gedränge. Und es bedeutet, den Menschen in den Mittelpunkt zu stellen in dem Sinne, dass ihm die Methode ermöglicht, effizient und gleichzeitig kreativ zu arbeiten. - Automatisierte Tools statt Selbstgestricktes
Oft verwendet jede Abteilung eigene Anwendungen, um Entwicklungsschritte zu dokumentieren, zum Beispiel Excel. Automatisierte, vor allem einheitliche Tools beschleunigen hier die Abläufe erheblich. - Nicht nur am Ende testen
Zeitgemäße Entwicklungsumgebungen erlauben es, auch einzelne Module zwischendurch zu testen, um immer auf dem neuesten Stand zu sein.