Wie Facebook seine Code-Änderungen und Updates verwaltet

Es gibt kleine Projekte und es gibt große Projekte. Und dann gibt es Projekte die nie fertig werden und die auch noch riesengroß sind. Facebook zum Beispiel. Ein Projekt, bei dem man denken könnte, dass es angesichts der schieren Größe für dessen Entwickler ein einziger Alptraum sein könnte. Denn immerhin treffen hier zig Millionen Zeilen von Code auf bald 700 Millionen Nutzer. Dazu kommt, dass die mehreren Hundert Facebook-Entwickler Woche für Woche Tausende von Änderungen produzieren.

Wie bändigt man also solch ein Projekt, damit es nicht zu einer Katastrophe kommt? Ganz einfach, durch ein raffiniertes Staging-System, bei dem Änderungen zunächst intern getestet und bewertet werden und dann stückweise an immer mehr Benutzer frei gegeben werden können. Hübscher Nebeneffekt: Dank dieses Verfahrens sind schon sämtliche kommenden Features für die nächsten sechs oder mehr Monate im Facebook-Code verankert. Sie sind einfach nur noch nicht für uns freigeschaltet. Wie es genau funktioniert erzählt Chuch Rossi von Facebooks Release Engeneering Team in diesem Video:

Was „agile“ wirklich bedeutet

Seit geraumer Zeit ist agiles Projektmanagement auch ausserhalb der Software-Branche hoffähig geworden. Nicht zuletzt, weil auch beispielsweise das PMI diesen „Gegenentwurf“ zum hierarchischen Wasserfall-Modell im wahrsten Sinne des Wortes assimiliert hat. Leider wird mit dem Begriff „agile“ – wie sollte es anders sein – auch viel Schindluder betrieben. Uns so bekommt so mancher Prozess das Label „agile“, nur weil einzelne Begriffe aus Scrum & Co. entlehnt sind.

Vergessen wird dabei gerne der eigentlich „revolutionäre“ Grundgedanke dahinter: „Agile“ zu sein bedeutet, dass nicht „die da oben“ sagen wo es lang geht, sondern „diejenigen, die die tatsächliche Arbeit leisten“. Die Idee dabei ist, dass die ausführende Basis besser weiß was wie und in welcher Zeit zu leisten ist, als das praxisferne Management in den Führungsetagen.

Was auf den ersten Blick nach „linker Utopie“ klingt, ist in Wirklichkeit auch ein gutes Stück kapitalistischer „Darwinismus“, Weiterlesen

Effektiv den Aufwand schätzen – quasi…

Planning-DiceAufwandsschätzung ist ja so eine Sache. Langwierig, oft einfach nur Makulatur und nicht immer der reinen Lehre vom agilen Projektmanagement entsprechend. Aber egal, jetzt habe ich die endgültige Lösung für die Aufwandsschätzung gefunden. Und zwar im Blog von Stephan Schmidt.

Spaß bei Seite! Das erinnert mich an diverse Experimente, bei denen der Zufall, oder besser gesagt irgendwelche Tiere, die gar nicht verstehen können um was es ging, näher an der Wahrheit dran waren, als hoch bezahlte Fachleute. Zum Beispiel der Affe, der besser spekuliert als Börsenprofis oder den während der Fußball-WM populär gewordenen Kraken Paul. Warum sollte dann die Aufwandsschätzung „ohne Aufwand“ nicht genauso genau sein, wie etwa ein Planning-Poker? Eben!