Wie man erfolgreich DevOps und Agilität verhindert

1. Dezember 2017 in Unternehmenskultur

Ich möchte hier einige Beobachtungen zusammenfassen und strukturieren, um anschließend Maßnahmen abzuleiten, die DevOps und Agilität erst ermöglichen. Die Beobachtungen sind naturgemäß subjektiv und zeigen evtl. nur einen Teil der Zusammenhänge.

Neue Anforderungen

Die Märkte haben sich in den letzten Jahren stark verändert: bathtub_curve

Es wird mehr und mehr wichtiger, Anforderungen schnell umzusetzen während früher die Geschwindigkeit deutlich weniger im Fokus stand. Die IT hat sich mit agilen Vorgehensweisen bei der Software-Entwicklung, DevOps, Continuous Deployment, Infrastructure as Code, Cloud Computing, Micro Services uvm. diesen Anforderungen angepasst. Diese Transformation findet kontinuierlich statt und daher ist es wichtig, sich fortwährend anzupassen, weiterzubilden und zu experimentieren. Dabei werden natürlich auch Fehler gemacht - wichtig ist, dass man aus ihnen lernt und so immer besser wird.

Beobachtungen

Durch die Arbeit in realen Projekten haben sich eine Reihe von Problemen offenbart, die die wirtschaftliche und konkurrenzfähige Entwicklung von Software in vielen Unternehmen zumindest deutlich erschwert. Obwohl es auch etliche technisch-organisatorische Probleme gibt, beschränkt sich dieser Artikel allerdings im Wesentlichen auf kulturelle bzw. strukturelle Probleme.

Das folgende Diagramm zeigt die Kausalkette von den Ursachen (blau) über eine Reihe von mehr oder weniger schwerwiegenden Folgen (gelb) bzw. indirekten Anforderungen (grün) bis hin zu absolut kritischen Ergebnissen am Ende der Kausalkette (rot):

kausalkette

Die Kausalkette führt unweigerlich zu einigen kritischen Problemen. Darüberhinaus führt sie zu Konflikten zwischen den Anforderungen der Kunden und den Möglichkeiten, die die Entwicklungsteams haben, um auf diese Anforderungen zu reagieren (siehe roter Pfeil).

Maßnahmen

Die folgenden Maßnahmen sollten umgesetzt werden, um die Probleme zu lösen oder zumindest einzugrenzen:

  • Bei DevOps-Projekten sollte es aus dem Ops-Bereich einen Ansprechpartner geben, der jedoch nicht als Vermittler zwischen dem Dev-Team und den Ops-Teams fungiert sondern selbst alle Rechte und das Know-How hat, um nahezu alle Ops-Tätigkeiten selbst durchzuführen. Dadurch entfallen Stille-Post-Effekte und Verzögerungen bei der Umsetzung werden verringert. Der Ansprechpartner sollte darüberhinaus die Anforderungen kennen (durch das Lesen aller entsprechenden Dokumente) und sich aktiv an der Gestaltung der Betriebsumgebung beteiligen und aktiv beratend tätig werden anstatt “nur” auf Anforderungen der Entwickler zu reagieren oder sich mit den Resultaten der Entwicklung “herumzuärgern”. Genau diese Arbeitsweise ist ein zentraler Bestandteil der DevOps-Bewegung.
  • Die Ops-Mitarbeiter, die Teil des DevOps-Teams sind, dürfen zu maximal 80% (geplant) ausgelastet werden. Ungeplante Arbeiten sorgen sonst immer wieder für Auslastungen jenseits von 100% und führen so zu sehr langen Wartezeiten (Wartenschlangentheorie).
  • Tayloristische Strukturen sollten mindestens im Umfeld von DevOps-Teams abgeschafft werden. Zitat von Uwe Friedrichsen, CTO bei der codecentric AG: “If taken seriously DevOps will eventually rotate your IT organisation by 90°”.
  • Zielvereinbarungen sollten nur in höheren Managementebenen monetäre Ziele enthalten. In niedrigeren Ebenen sollten stattdessen Ziele definiert werden, die neue Themen erschließen oder Transformationen ermöglichen bzw. erleichtern. Monetäre Ziele führen sehr leicht zu einer zu hohen geplanten Auslastung (Warteschlangentheorie).
  • Während Zielvereinbarungen sehr sinnvoll sind und gegen variable Gehälter grundätzlich ebenfalls nichts einzuwenden ist, ist die Verknüpfung von Zielvereinbarungen mit variablen Gehältern bedenklich (siehe spiegel.de, verguetungsmodell.de, arbeitgeber.monster.de). Besonders in größeren Unternehmen werden seit vielen Jahren Zielvereinbarungen an eine variable Vergütung geknüpft, um Führungs- und Fachkräfte “zu motivieren”. Was im industriellen Zeitalter noch gänge Praxis war und evtl. sogar die erhofften Effekte erzielt hat, ist heute in den meisten Fällen kontraproduktiv: diese Praxis wirkt stattdessen aus vielen Gründen demotivierend. Zudem ist diese Praxis eine der treibenden Kräfte in der oben dargestellten Kausalkette.

Weitere Quellen

Getaggt in:
devops agilität zielvereinbarungen
comments powered by Disqus