Loading...

Scream-Driven-Development

19. Oktober 2023
3 Minuten Lesezeit
Beitrag teilen:

Hi,

Das kennst du bestimmt. Du willst einen Breaking-Change in deinem System machen. Vielleicht willst du eine API ändern. Oder du möchtest deine Environments umstellen. Oder du willst einen Service abschalten, weil er nicht mehr benötigt wird.

Immer wenn ich vor so einer Entscheidung stehe frage ich mich welche Konsequenzen sie haben wird. Wird sie andere Stakeholder beeinflussen? Meistens lautet die Antwort, ja.

So auch im aktuellen Fall. Ich möchte häufiger Deployments in einem Environment durchführen. Sie wird genutzt, um den vorstehenden Release zu testen. Und, um den Feedbackloop kurz zu halten, möchte ich immer den aktuellen Entwicklungsstand auf der Plattform haben.

Als ich den Vorschlag gemacht habe gab es große Bedenken im Team. Wird die QA Abteilung in ihren Prozessen gestört? Was ist wenn die Plattform dann mal Stundenlang down ist, weil etwas™️ nicht funktioniert?

Es spricht die Angst

Lieber mit der aktuellen Situation weiterleben - schließlich haben wir das schon immer so gemacht.

Aber in Wahrheit: Mit dieser Einstellung machen wir keine Fortschritte.

Also ging ich weiter und schlug vor es einfach mal zu machen. Wir können ja mit nächtlichen Deployments starten. Dann wird innerhalb eines Tages zumindest niemand unterbrochen.

Doch auch das war noch nicht genug. Was ist wenn wir etwas übersehen haben? Was ist, wenn noch jemand anderes davon beeinflusst wird? Und wir wissen es jetzt einfach nicht?

Und die QA war natürlich not amused. “Was, wenn wir deswegen nicht arbeiten können?”

Diese Diskussionen kannst du nicht gewinnen. Es ist ein Totschlagargument. Getrieben von der Angst. Von der Ungewissheit. Lieber keine Entscheidung, als eine Falsche.

Ich betreibe in so einem Fall Scream-Driven-Development

Irgendwann wird es Zeit, einfach mal zu machen. Bis einer schreit.

Natürlich solltest du nicht mit Absicht andere behindern.

Natürlich solltest du nach bestem Wissen und Gewissen alle Interessen zusammenbringen.

Aber am Ende wird es immer eine Ungewissheit geben. Unsere Arbeit ist zu komplex, als das du alles, zu jeder Zeit, überblicken könntest.

Du musst irgendwann Fakten schaffen. Und am besten machst du das ohne vorher Stunden und Wochen in Meetings zu verschwenden, in denen sich die Beteiligten in einer Spirale der Angst und Befürchtungen immer weiter von der Entscheidung drücken.

Einfach mal machen

Du wirst überrascht sein, wie selten tatsächlich der Aufschrei kommt.

In den meisten Fällen merken alle sehr schnell, dass das Richtige getan wurde.

Sei mutig - aber nicht übermütig.

ps. Ich bin gerade auf dem Weg nach Berlin. Zur RabbitMQ Summit, um die Keynote “The Performance Mindset” zu halten. Es wird eine Aufzeichnung geben - und sobald sie verfügbar ist wirst du mit Sicherheit davon erfahren 😉

Rule the Backend,

~ Marcus

Top