Freigeben über


Architektur für Startups

Ein Start-up zu gründen ist eine einzigartige Herausforderung. Die Kernaufgabe besteht darin, einen Ort für eine Innovation als Produkt oder Dienstleistung auf dem Markt zu finden. Dieser Prozess erfordert das Testen mehrerer Annahmen, die in die Innovation integriert sind. Ein erfolgreiches Startup muss diese Annahmen iterieren und selbst wachsen und skalieren, sobald das Produkt an Product-Market Fit gewinnt. Wenn es seinen Platz gefunden hat, muss das Startup wachsen, um die Marktanforderungen zu erfassen.

In den verschiedenen Start-Life-Phasen behandeln Entwickler, Architekten und Chief Technical Officer (CTOs) unterschiedliche Entwicklungsphasen. Diese Phasen erfordern grundsätzlich unterschiedliche Ansätze und unterschiedliche Technologieentscheidungen. Ein Teil der Aufgabe besteht darin, festzulegen, in welcher Phase sich der Start befindet. Wählen Sie die Technologien, Ansätze und Architekturen aus, die dieser Phase entsprechen.

Innovationsphasen

Kent Beck beschreibt einen dreistufigen Prozess der Softwareproduktinnovation. Diese Phasen sind Erkundung, Erweiterung und Gewinnung. Sie können sich die verschiedenen Teile dieses Prozesses als Diagramm vorstellen:

Ein Diagramm, das die Phasen

Ein Diagramm mit einer sigmoiden Kurve, die mit einer y-Achse "Sicherheit/Investitions-/Änderungsrisiko" und einer X-Achse "Zeit" dargestellt wird. Das Diagramm weist drei Hervorgehobene Bereiche auf: der erste Teil vor der Aufwärtsausflung mit der Bezeichnung "Explore", dem hohen Wachstumsteil der Sigmoidkurve mit der Bezeichnung "Expand" und dem Plateau mit der Bezeichnung "Extract".

  • Die Erkundungsphase beginnt mit einer niedrigen Steigung, wo Sie versuchen, das zu finden, was funktioniert. Sicherheit ist niedrig, Sie investieren nur kleine Beträge, und das Risiko von änderungen, die Sie vornehmen, ist ebenfalls niedrig.

  • Wenn der Produktmarkt gefunden wird, steigt das Diagramm schneller. Dieses schnelle Wachstum ist die Erweiterungsphase . Ihre Sicherheit erhöht sich erheblich, sie investieren viel mehr, und Sie sind viel mehr risiken bewusst.

  • Schließlich erreichen Sie, wenn das Diagramm abflacht und der Start den Reifegrad erreicht, die Extraktphase. Die Sicherheit, Investitionen und Risiken von Veränderungen sind alle hoch, aber die Wachstumsrate hat ein Plateau erreicht.

Erkunden

Wenn sich Ihr Startup in der Explorationsphase befindet, besteht Ihre Aufgabe darin, wenig Zeit und Mühe in viele verschiedene Produktideen zu investieren. Die Tatsache, dass die meisten Ideen nicht richtig sein werden, treibt die Erkundung an. Nur indem Sie iterieren und lernen, können Sie die Produkt-Markt-Passung finden. Indem Sie viele kleine Wetten machen, wollen Sie eine Produktidee finden, die sich lohnt.

Diese Stufe erfordert Disziplin. Es ist leicht, zu viel in eine Idee zu investieren, die Sie mit weniger Zeit und Energie testen könnten. Ein Technologe findet es besonders leicht, in diese Falle zu fallen. Wenn Sie architekturliche Entscheidungen treffen möchten, die die Erkundung erleichtern, denken Sie daran, dass Sie gerade erkunden. Sie wissen noch nicht, ob die aktuelle Produktidee skalierbar ist.

Wählen Sie aus Architekturperspektive Dienste aus, die für Geschwindigkeit, Kosten und Optionen optimiert werden. Verwenden Sie verwaltete Dienste und Plattformen als Dienst (PaaS) wie Azure App Service, um schnell loszulegen, ohne sich um komplexe Infrastruktur kümmern zu müssen. Wählen Sie während der Erkundung kostenlose Tarife und kleinere Instanzgrößen, um die Kosten zu steuern. Container unterstützen die Entwicklung mit allen Tools, die für Sie sinnvoll sind, und bieten Ihnen flexible Bereitstellungsoptionen für die Zukunft.

Erstellen Ihres ersten Stapels

Wie bei Ihrer ersten Produktversion sollte Ihr erster Technologiestapel in der Erkundung fest verankert sein. Dies bedeutet, dass der Technologiestapel eine schnelle Produktiteration erleichtern sollte, ohne den Aufwand zu verschwenden. Sie möchten keine Zeit oder Mühe für Infrastruktur oder Architektur aufwenden, die für die Beantwortung aktueller Fragen nicht erforderlich ist.

Während der Erkundungsphase müssen Sie für Geschwindigkeit, Kosten und Optionalität optimieren. Geschwindigkeit ist, wie schnell Sie mit einer Idee aufbauen und vorwärts gehen können, oder mit der nächsten Idee fortfahren können. Kosten sind, wie viel Sie für die Ausführung Ihrer Infrastruktur ausgeben. Optionalität beschreibt, wie schnell Sie Richtungen aufgrund der aktuellen Architektur ändern können.

Es ist wichtig, Kosten, Geschwindigkeit und Optionalität auszugleichen. Zu viel Fokus auf Kosten begrenzt die Geschwindigkeit und die Flexibilität. Zu viel Fokus auf Geschwindigkeit kann zu höheren Kosten und weniger Optionen führen. Das Entwerfen für zu viele Optionen baut Komplexität auf, was die Kosten erhöht und die Geschwindigkeit reduziert.

Erwägen Sie die Verwendung unseres vorgeschlagenen ersten Technologiestapels. Diese Architektur verwendet PaaS-Dienste für eine einfache Implementierung, kann im kleinen Maßstab gestartet werden und nutzt Container- und Open-Source-Technologien, die problemlos auf verschiedenen Technologie-Stacks bereitgestellt werden können, während Sie sich weiterentwickeln.

Erweitern

Sobald Ihr Startup die Produktmarktanpassung erreicht und anschließend durch Exploration wächst, wechseln Sie den Fokus auf Expansion. Sie konzentrieren sich auf das Entfernen von Blockaden für das kontinuierliche Wachstum Ihres Produkts und Ihres Unternehmens. Aus technischer Sicht lösen Sie Herausforderungen im Infrastrukturmaßstab und erhöhen die Entwicklungsgeschwindigkeit. Die Ziele sind es, die Anforderungen Ihrer neuen Kunden zu erfüllen und Ihre Produktroadmap voranzutreiben.

Erweitern Sie Ihre Architektur

Wenn Sie auf Ihr Produkt iterieren, werden Sie zwangsläufig Bereiche finden, in denen Ihre Architektur erweitert werden muss. Möglicherweise müssen Sie lang andauernde Aufgaben im Hintergrund ausführen oder häufige Updates von Geräten des Internets der Dinge (IoT) verarbeiten. Möglicherweise müssen Sie Ihrem Produkt Volltextsuche oder künstliche Intelligenz hinzufügen.

Möglicherweise benötigen Sie Architekturänderungen, um Elemente in Ihrer Roadmap zu berücksichtigen. Widerstehen Sie der Versuchung, diese Änderungen zu weit im Voraus vorzunehmen. Erweiterungen bergen das Risiko, Komplexität zu Ihrer Architektur hinzuzufügen und die Infrastrukturkosten Ihrer Bilanz zu erhöhen.

In frühen Startphasen sollte jede Architekturerweiterung just-in-time sein. Die Erweiterung sollte nur so viel Zeit und Energie benötigen, um die nächste Hypothese zu testen. Lassen Sie sich bereit, Erweiterungen zu entfernen, um die Komplexität zu reduzieren. Suchen Sie nach Produktfeatures, die Ihre Kunden nicht als Möglichkeiten nutzen, Ihre Architektur zu vereinfachen und Ihre Infrastrukturausgaben zu reduzieren.

Ihre Architektur könnte auf viele Arten erweitert werden, z. B.:

Auszug

In der Extraktionsphase verlangsamt sich das Tempo des Wachstums, während Sie die Grenzen der Marktchancen erreichen. Da Sie sich in der vorherigen Phase erweitert haben, besteht nun ein hohes Verlustrisiko, daher gehen Sie vorsichtiger vor. Margenerweiterung, Kostenreduzierung und Effizienzverbesserungen zeichnen sich durch die Extraktionsphase aus. Achten Sie während der Extraktionsphase darauf, das Produkt für die Kunden, die Sie in der Erweiterungsphase gewonnen haben, nicht zu kompromittieren.

Bewältigen Sie das Wachstum und entwickeln Sie Ihren Technologie-Stack weiter.

Sobald ein Produkt produkt- und marktpassend ist, fördern viele Anforderungen seine Architektur. Eine höhere Nutzung erfordert möglicherweise eine Infrastrukturskalierung, um Last zu verarbeiten. Neue Anforderungen an die Unternehmenscompliance erfordern möglicherweise eine größere Isolation. Diese Änderungen sind häufige Schritte bei der Reifung einer erfolgreichen Anwendung.

Änderungen, die Sie vornehmen, um Wachstum zu bewältigen und Reife hinzuzufügen, unterscheiden sich von der Erweiterungsarchitektur. Diese Änderungen stellen keine funktionalen Anforderungen dar, sondern beziehen sich auf das Freischalten von Skalierbarkeit. Ein erhöhter Maßstab kann von neuen Nettokunden, einer erhöhten Nutzung durch bestehende Kunden und Kunden mit höheren gesetzlichen Anforderungen kommen.

Widerstehen Sie der Versuchung, vorzeitig zu optimieren. Stellen Sie sicher, dass Sie Wachstums- und Entwicklungsschritte ergreifen, die Ihnen helfen können, Ihr Produkt weiter zu iterieren und zu verbessern.

Nächste Schritte