«Wir sind selbst eine Firma von Programmierern»

Wie entwickelt AWS selbst?

CW: AWS hat selbst eine riesige Anzahl Entwickler. Wie haben Sie die Entwicklung organisiert und wie unterscheidet sich Ihre Vor­gehensweise von anderen Software-Firmen oder einer klassischen IT-Abteilung in einem Unternehmen?
Gore: Sie haben recht, wir haben sehr viele Software-Ingenieure. Allerdings arbeiten sie alle in jeweils überschaubaren Teams. Wir nennen sie intern «Zwei-Pizzen-Teams», denn sie bestehen jeweils aus so vielen Leuten, dass sie mit zwei grossen Pizzen satt würden, also rund sieben bis zehn Personen. Dadurch, dass die Teams klein sind, muss die Software ebenfalls in Stücke geteilt werden, die gut zu bewältigen sind. Wird ein Team also zu gross, wird der Umfang des Projekts wieder verkleinert und wir definieren entsprechende Programmierschnittstellen (API). Das erklärt auch, warum die ganze AWS-Plattform sehr API-getrieben aufgebaut ist.
«Wir nennen unsere Teams intern 'Zwei-Pizzen-Teams', denn sie bestehen jeweils aus so vielen Leuten, dass sie mit zwei grossen Pizzen satt würden, also rund sieben bis zehn Personen», berichtet Glenn Gore von AWS
Quelle: Jens Stark / NMGZ
Daneben haben wir die DevOps-Herangehensweise verinnerlicht. Jedes dieser «Zwei-Pizzen-Teams» ist nicht nur für die Entwicklung und das Testen eines neuen Services zuständig, sondern auch für den Betrieb sowie das Security-Management. Darüber hinaus kümmern sie sich um Updates und entwickeln neue Features. Dadurch trägt jedes Team einerseits eine grosse Verantwortung, andererseits sind die Leute dann jeweils hoch motiviert. Das ist vor allem dann sehr vorteilhaft, wenn etwas nicht so funktioniert, wie es sollte. Dann kann man die entsprechenden Entwickler in die Pflicht nehmen. Diese können nicht mehr so einfach mit dem Finger auf andere zeigen.
Eine weitere Spezialität unserer Entwicklungsarbeit ist es, dass wir dieselben API und Dienste nutzen, die auch unseren Kunden zur Verfügung gestellt werden. Wir haben das Motto «Iss dein eigenes Hundefutter» verinnerlicht. Das geht bei uns so weit, dass wir den Entwicklungsteams sogar die Dienste in Rechnung stellen wie einem externen Kunden. Dadurch sind sie gezwungen, die Ressourcen zu optimieren. Praktiziere, was du predigst, lautet die Devise.
CW: Bleiben die Teams immer beieinander oder werden sie nach einem Projekt jeweils neu zusammengestellt?
Gore: Zunächst gehen wir in allen Ländern mit einem guten Bildungswesen auf die Suche nach geeigneten Mit­arbeitern. Deshalb sind wir auch in all diesen Ländern mit Niederlassungen präsent. Tatsächlich werden die Teams recht oft neu zusammengestellt, ganz einfach, um die Kenntnisse und Fähigkeiten der einzelnen Entwickler op­timal auszunutzen. Wir achten allerdings darauf, dass die Teams jeweils an einem Ort zusammenarbeiten können, also nicht geografisch verstreut sind.



Das könnte Sie auch interessieren