Green-DevOps Assessment: Anamnese der Softwareentwicklung - Oktobit
Green-DevOps Assessment: Anamnese der Softwareentwicklung

Na, wo fehlts denn? - Anamnese zu ressourcenschonender Softwareentwicklung

Wir wissen, dass die Software einen wesentlichen Einfluss darauf hat, wieviel Hardware für ein System, eine Applikation oder einen Service bereitgestellt werden muss. Die Software bestimmt damit zu großen Teilen die Menge an Emissionen und entstehender IT-Kosten für den Betrieb der Software. Woher weiß ich aber, ob die selbst betriebene oder sogar selbst entwickelte oder wesentlich veränderte Software möglichst effizient ist und nur so viele IT-Ressourcen einsetzt, wie unvermeidbar sind?

Wer kennt es nicht?!

Die Zeit zum Launch einer neuen Software oder eines neuen Updates ist gefühlt viel zu kurz. Bis spät an die Produktivstellung wird noch Code geändert und bis auf den letzten Drücker getestet. Zeit für Lasttests hat man sich vielleicht noch in einer früheren Phase genommen, aber Performancetests an den kritischen Stellen finden nur selten statt und anschließende Optimierungen noch seltener. Gibt es ein Problem, wird es durch Dimensionierung der Hardware „gelöst“.

Das dürfte Alltag im Leben von Softwareentwicklungsprojekten sein. Und es ist nur ein Indikator von vielen, dass Software an der ein oder anderen Stelle mit noch nicht gehobenem Optimierungspotential produktiv gestellt wurde. Wenn Software aber erstmal läuft und im Betrieb es nicht zu Problemen kommt, weil z.B. die Anwender über zu lange Antwortzeiten klagen oder die Nacht für einen Batchlauf nicht mehr lang genug ist, schlummert das Effizienzpotenzial weiter.

Irgendwann ist die Summe der IT-Betriebskosten über viele Softwareprodukte so hoch, dass man sich fragt, ob das so sein muss. Aber vielleicht fragt es auch niemals jemand… Fehlende Transparenz von IT-Kosten und IT-Verbrauch ist ein zweiter typischer Indikator für schlummerndes Effizienzpotenzial.
Wenn man diese Effizienzpotenziale hebt, dann reduziert man den Hardwarebedarf. Damit senkt man nicht nur die laufenden IT-Betriebskosten, sondern in gleichem Maße die CO2-Emissionen, welche durch Herstellung, Betrieb und Verwertung der Hardware verbunden sind. Nicht selten vermindert man mit Softwareoptimierung ggf. auch noch Betriebsprobleme oder erfreut Nutzer aufgrund kürzerer Antwortzeiten.

Aber woher weiß ich, ob solche Effizienzpotenzial auch in meiner Software schlummern?

Green-DevOps Assessment

Hierfür haben wir das das Green-DevOps Assessment entwickelt. Es enthält 43 Aussagen in 7 Bereichen. Jede Aussage beschreibt den Zustand von einzelnen Rahmenbedingungen. Jede für sich unterstützt das Vermeiden von Ineffizienzen in Softwareentwicklung oder -betrieb. Alle zusammen haben den Anspruch, optimale Rahmenbedingungen von Softwareentwicklungsprozessen und Betriebsprozessen zu beschreiben, die Effizienz von Software bestmöglich unterstützt.
Wir geben einen hier einen kurzen Überblick über die 7 Bereiche mit den jeweils TOP 3 Eigenschaften. Das vollständige Assessement kann über folgenden Link kostenfrei angefordert werden. Sie erhalten es unmittelbar und können es im Rahmen der CC-Lizenz auf geschäftlich nutzen.

Im Vordergrund steht das Messen von IT-Verbrauch und das Erkennen von Anomalien. Dieser sollte aktuell vorliegen, allen Beteiligten zur Verfügung stehen und verursachenden IT-Systemen und IT-Bereichen zur Verfügung stehen. Historische Daten zum IT-Verbrauch sollten genutzt werden, um Anomalien zu entdecken. Hier werden geeignete Tools eingesetzt und es wird kontinuierlich in die Weiterentwicklung des Monitorings investiert.

Erfolg hat man gemeinsam oder gar nicht. Unter diesem Motto wird auf besonders wichtige Bereiche der Zusammenarbeit und Kommunikation der Fokus gelegt. So sollten Fachbereich und IT eng zusammenarbeiten. Sie sollten Entscheidungen gemeinsam mit IT-Einkauf und IT-Infrastruktur treffen. Verbrauchs- und Kostenentwicklungen sollten regelmäßig kommuniziert und Verantwortliche umgehend über Auffälligkeiten im IT-Verbrauch informiert werden. Die Schulung von Mitarbeitenden zu IT-Verbrauch, -Kosten und performanten Programmier-Pattern runden den Bereich ab.

Für die Umsetzung von effizienten Softwarelösungen ist es wichtig, dass sich Optimierungen organisatorisch und technisch umsetzen lassen und dass diese auch einen tatsächlichen Impact haben. Flat-Rates mit langer Vertragsbindung bei Infrastruktur-Dienstleistern (z.B. Cloud-Anbietern) können auf z.B. Optimierungen betriebswirtschaftlich kontraproduktiv wirken.
Das Entwicklungsvorgehen sollte Standards zur Vermeidung von unnötigem IT-Verbrauch enthalten, an die sich auch externe Dienstleister halten. Die Entwicklung von effizienten technischen Lösungen für angemessene fachliche Anforderungen erfolgt gemeinsam mit Fachbereich und IT. Dabei erfolgt eine Bewertung und Anpassung von Anforderungen und Lösungen gemeinsam.
Nicht zuletzt sollte der verbrauchsbewusste und angemessene Einsatz von fremden Applikation/Services selbstverständlich sein.

In diesem Bereich wird auf grundlegende, aber wesentliche Qualitäten des Projektmanagements und Controllings eingegangen, welche für die erfolgreiche Planung und Umsetzung von (Effizienz-)Maßnahmen wichtig sind. In der Praxis zeigen sich nicht selten Lücken oder Einschränkungen, die man nicht vernachlässigen sollte.

Leader sind neben Führungskräften alle, die steuernde oder stark unterstützende Funktionen einnehmen, z.B. ProductOwner und ScrumMaster. Es ist wichtig, dass diese Rollen ihr Verständnis von IT-Verantwortung und insbesondere von IT-Verbrauch kommunizieren und selbst Vorbild sind. Sie sollten offen für Optimierungsansätze sein und diese unterstützen und motivieren. Sie sollten bestmögliche Rahmenbedingungen für Softwareoptimierungen schaffen.

Leader allein können sehr vorbildlich agieren und dennoch braucht es eine Organisation, die ihr Handeln unterstützt. So sollten die Organisation, also das Unternehmen, Rahmenbedingungen bieten, die Optimierungspotenzial auch flexibel und zeitnah heben lassen. Ebenso sollte das Business ein Interesse an der Reduzierung von IT-Verbrauch und IT-Kosten haben. Umsetzungsteams sollten die Verantwortung für IT-Verbrauch und nicht nur für Antwort- und Durchlaufzeiten ihrer Software haben. Schließlich sollte der Bereich mit der Verantwortung für den IT-Verbrauch auch das Budget besitzen, diesen zu reduzieren. Der letzte Punkt ist offensichtlich, aber in der Praxis habe ich das leider noch nicht erlebt.

Die Kultur in einem Unternehmen ermöglicht und verhindert so Einiges. Die Kraft der Kultur ist gigantisch. In unserem Kontext sollten Unternehmen Wertschätzung für Optimierungsvorschläge und Maßnahmen zeigen. Allgemein sollten Entscheidungen in einem Unternehmen auch weitere Optimierungsvorschläge motivieren und nicht diejenigen „bestrafen“, die schon sehr verbrauchs- und kostenbewusst agieren. Und es sollte schließlich auch zur Kultur in einem Unternehmen gehören, dass neue Ansätze und erfolgreiche Ideen zur Weiterentwicklung hin zu noch mehr Verbrauchseffizienz im Unternehmen öffentlich geteilt werden.

Durchführung des Assessments

Der Deutungsspielraum bei jeder einzelnen Aussage eines Assessments ist naturgemäß groß. So ist das auch bei diesem. Auch Missverständnisse sind nie ausgeschlossen. Aus meiner Sicht hat sich ein sehr schlanker Ansatz als erfolgreich gezeigt. Man reduziert sich auf eine kleine Anzahl von teilnehmenden Personen, aber führt das Assessment gemeinsam in einem moderierten Workshop durch.
Hierdurch werden Missverständnisse vermieden und eine Kalibrierung der Antworten ergibt sich automatisch aus der Diskussion. Ein erfahrener Moderator kann die Qualität der Ergebnisse erhöhen, indem er Aussagen und insbesondere schnelle Einigkeit bei schwierigen Fragen hinterfragt.

Ergebnis

Sind alle Aussagen bewertet oder aktiv übersprungen, werden Stärken und Potenziale für Weiterentwicklung schnell offensichtlich. Ein Gesamtergebnis zeigt auf, wie professionell die Organisation einen sparsamen und verantwortungsbewussten Umgang mit eingesetzten IT-Ressourcen (Server, Speicher, …) pflegt.
Jedes Ergebnis, gleichgültig ob gut oder vermeintlich schlecht, lässt Rückschlüsse und den Umgang mit und Einsatz von IT-Ressourcen zukünftiger und bestehender Softwarelösungen zu. Und da haben wir die Antwort auf die oben formulierte Frage: „Aber woher weiß ich, ob solche Effizienzpotenzial auch in meiner Software schlummern?“

Nach der Bewertung

In der Regel lassen sich schnell einfache und unaufwändige ad-hoc Maßnahmen ergreifen, um die ersten Weiterentwicklungen des Softwareentwicklungsprozesses, bzw. zugehörige Betriebsprozesse bzgl. eines verantwortungsvollen Umgangs mit IT-Ressourcen vorzunehmen. Außerdem ist nun klar, ob sich eine weitere Betrachtung des quantitativen Optimierungspotenzials lohnt.
Lohnt diese, bietet sich häufig eine Analyse vorhandener IT-Controllingdaten an. Hiermit lassen sich auf geschickte und sparsame Weise schnell und ohne große Beistellleistungen der Unternehmen Systeme, Applikationen, Services identifizieren, welche von außen betrachtet ein besonders großes Optimierungspotenzial besitzen. Diese können im Anschluss gezielt von Experten analysiert werden. Erste Optimierungen („Low hanging fruits“) lassen sich meist direkt umsetzen und Erfolge sind bereits sehr früh sichtbar. Nicht selten kommt schon zu diesem Zeitpunkt „Goldgräberstimmung“ auf.

Fazit

Das Green-DevOps Assessment ermöglicht eine leichtgewichtige Anamnese des Softwareentwicklungsprozesses bzgl. seiner Fähigkeit, IT-Ressourcen sparsam und verantwortungsvoll einzusetzen. Aufgrund geringerer Emissionen und Kosten profitieren davon Umwelt und Unternehmen.
Weitere Tipps und Tricks, zur Durchführung eines erfolgreichen und aufwandsarmen Assessments sowie zum Umgang mit den wertvollen Ergebnissen, teile ich gerne auf Anfrage. Sprechen Sie mich an. Ich freue mich auf Ihre Fragen.

Kontakt aufnehmen

Green-DevOps Assessment

Wie gut schont Ihr Unternehmen IT-Ressourcen?