Hintergrund
Die Autoren dieses Dokuments waren direkt an der Entwicklung und dem Einsatz von Hunderten von Apps beteiligt und haben indirekt die Entwicklung, den Betrieb und die Skalierung von Hunderttausenden von Apps durch unsere Arbeit auf der Heroku-Plattform miterlebt.
Dieses Dokument fasst all unsere Erfahrungen und Beobachtungen zu einer Vielzahl von Software-as-a-Service-Apps in freier Wildbahn zusammen. Es ist eine Triangulation idealer Praktiken für die App-Entwicklung, mit besonderem Augenmerk auf die Dynamik des organischen Wachstums einer App im Laufe der Zeit, die Dynamik der Zusammenarbeit zwischen den Entwicklern, die an der Codebasis der App arbeiten, und die Vermeidung der Kosten der Software-Erosion.
Unsere Motivation ist es, das Bewusstsein für einige systemische Probleme zu schärfen, die wir in der modernen Anwendungsentwicklung gesehen haben, ein gemeinsames Vokabular für die Diskussion dieser Probleme bereitzustellen und eine Reihe umfassender konzeptioneller Lösungen für diese Probleme mit begleitender Terminologie anzubieten. Das Format ist inspiriert von Martin Fowlers Büchern Patterns of Enterprise Application Architecture und Refactoring.