Kleine Teams (2 bis 5 Entwickler) haben eine Superkraft: schnelle Kommunikation. Jeder weiß, was alle anderen tun. Die Softwarearchitektur für diese Teams muss diese Agilität fördern und darf keine Bürokratie schaffen.
Wenn Sie ein kleines Team haben, ist das Kopieren der Google-Architektur Selbstmord. Sie benötigen eine Architektur, die es Ihnen ermöglicht, mit wenigen Mitarbeitern einen Mehrwert zu schaffen.
Serverlos (Bester Freund eines kleinen Teams)
Serverlos (AWS Lambda, Google Cloud Functions) ist die definitive Architektur für kleine Teams.
- Kein Wartungsaufwand: Es muss kein Server aktualisiert und kein Betriebssystem gepatcht werden.
- Kosten pro Nutzung: Wenn es in den frühen Morgenstunden niemand nutzt, zahlen Sie null.
- Unendliche Skalierung: Wenn 1 Million Menschen darauf zugreifen, erhöht sich die Cloud um 1 Million Funktionen.
Ihr Team konzentriert sich zu 100 % auf das Schreiben der Funktion („Anfrage speichern“) und zu 0 % darauf, den Server am Laufen zu halten.
Extreme Automatisierung (CI/CD)
Bei wenigen Leuten kann es nicht sein, dass ein manueller „QA“ (Tester) vor der Bereitstellung alles durchklickt.
- Pipeline bereitstellen: Jeder Commit in Zweig
mainmuss nach bestandenen Tests automatisch in die Produktion gehen. - Automatisierte Tests: Schreiben Sie Integrationstests (die die Funktionsweise der API testen), anstatt sich zu sehr auf mikroskopische Unit-Tests zu konzentrieren. Testen Sie, worauf es dem Benutzer ankommt.
„Viva“-Dokumentation (selbsterklärender Code)
Kleine Teams hassen es, Dokumentationen in Word zu schreiben (das nach einer Woche veraltet ist).
- OpenAPI (Swagger): Verwenden Sie Tools, die API-Dokumentation aus Code generieren.
- Typhinweis: Verwenden Sie TypeScript (falls JS) oder Python Typing. Dies dient als Dokumentation dessen, „was diese Funktion zu empfangen erwartet“.
Vermeiden Sie das „Invented Here-Syndrom“
Schreiben Sie kein eigenes Authentifizierung-System. Schreiben Sie kein eigenes CSS-Framework.
- Verwenden Sie Auth0 oder Firebase Auth.
- Verwenden Sie Tailwind oder Bootstrap.
- Verwenden Sie Standardbibliotheken.
Der am besten skalierbare Code ist der Code, den Sie nicht schreiben (und nicht pflegen) mussten.
Fazit
Bei der Architektur für kleine Teams geht es um Hebelwirkung. Nutzen Sie den Cloud-Hebel, den Open-Source-Hebel und den Automatisierungshebel, um die Arbeit von 50 Ingenieuren mit nur 5 zu erledigen. Halten Sie die damit verbundene Komplexität (Infrastruktur) auf ein Minimum.
Lesen Sie auch
- Skalierbare Softwarearchitektur – Best Practices für die Skalierung
- Skalierbare Softwarearchitektur – Best Practices für Startups
- Skalierbare Softwarearchitektur: So bauen Sie Systeme, die wachsen
- Microservices in Anwendungen: Verteilte Architektur für Mobilgeräte
- Monolith vs. Microservices: Welche Architektur Sie wählen sollten
- Anwendungsarchitektur – Best Practices für Unternehmen
