Beginnen Sie mit der Priorisierung von Funktionen und der Organisation von Sprints.
Nachdem Sie während der Produktentwicklung das Look & Feel Ihrer App entworfen haben, ist es an der Zeit, ein paar Zahlen zu ermitteln. Die Anzahl der Personen, die Stunden und natürlich die Kosten hängen weitgehend von der Art der App, die Sie bauen möchten, und den Produktanforderungen ab. Es gibt drei Schritte in dieser Phase.
Wenn wir eine technische Lösung vorschlagen, stützen wir uns immer auf die während der Produktentwicklung gesammelten Erkenntnisse, wie z. B. die erwartete Anzahl der Benutzer oder Funktionen, die als Dienste von Drittanbietern integriert werden müssen.
Als Teil der technischen Lösung berücksichtigen wir für jedes Projekt sorgfältig:
Wenn wir zum Beispiel die technische Lösung für eine E-Commerce-Plattform entwerfen, konzentrieren wir uns auf Aspekte wie Erweiterbarkeit (wie einfach ist es, neue Module, Themes hinzuzufügen?), Integrationen, Ladegeschwindigkeit, schrittweise Auslieferung von Funktionen. Wir könnten dann beurteilen, ob es am besten ist, von Anfang an eine Microservices-basierte Architektur zu verwenden oder nicht, was die beste Hosting-Lösung ist, welche Funktionen als Drittanbieter oder Module integriert werden sollten, wie das Modul-Ökosystem funktionieren sollte usw.
Vielleicht ist es für eine einfache Zeiterfassungs-App in Ordnung, wenn alle Anfragen von einem einzigen Backend verarbeitet werden. Aber was ist mit einer umfangreichen Flottenmanagement-App, bei der Sie Gefahr laufen, Ihre Server zu überlasten? Und was ist, wenn Sie auch Entfernungen berechnen oder benutzerdefinierte Berichte erstellen möchten? Das erfordert Geschwindigkeit bei der Datenverarbeitung. Vielleicht wäre also der Einsatz einer auf Big Data spezialisierten Technologie, wie Python, eine gute Lösung. Oder die Verwendung eines anderen Servers, der die Berechnungen durchführt. Oder eine Vorkompilierung der am häufigsten verwendeten Berichte, um zukünftige Berichte viel schneller zu generieren.
All diese Entscheidungen und mehr fließen in die Suche nach der praktikabelsten technischen Lösung ein.
Um die beste technische Lösung zu finden, müssen Sie auch die perfekte Balance zwischen dem finden, was jetzt funktioniert, und dem, was in Zukunft funktionieren wird. Wie hoch ist die erwartete Anzahl der Benutzer? Kann die App eine wachsende Anzahl von gleichzeitigen Benutzern unterstützen? Wie wird sie mit einer exponentiellen Belastung der Datenbank umgehen?
Deshalb investieren wir von Anfang an viel in die Datenbankarchitektur. Auswahl und Design der Datenbank sind entscheidend, wenn die Web-App erfolgreich skalieren und große Datenmengen schnell verarbeiten soll. Noch wichtiger ist, dass sie sicher sein muss und eine optimale Serverbereitstellung und -sicherung ermöglicht.
Zum Beispiel bietet MySQL kritische Elemente für Datenbankanwendungen, die in der Cloud eingesetzt werden, wie Sicherheit, Hochverfügbarkeit, Datenintegrität, Überwachung und Ressourcenmanagement. Das wirkt Wunder, wenn Ihre Daten stark strukturiert sind und Sie nur minimale Änderungen am Datenbankschema erwarten. Für die flexible Speicherung großer Mengen unstrukturierter Daten könnte NoSQL oder eine Kombination aus MySQL und NoSQL jedoch die bessere Wahl sein.
Nachdem wir uns für eine Datenbanklösung entschieden haben, entwerfen wir das Schema, eine visuelle Darstellung, wie die Daten gespeichert werden. Dazu gehört, wie Informationen über Datenbanken und Tabellen innerhalb von Datenbanken organisiert werden, die Beziehung zwischen Datenbankobjekten, Ansichten, gespeicherten Prozeduren, Primärschlüsseln, Fremdschlüsseln usw. Kurz gesagt, eine visuelle Übersicht über das Datengerüst Ihrer App.
Laut einer Studie zum Thema Experteneinschätzung und Softwareeinschätzung können Gruppendiskussionen die Kostenschätzung anscheinend deutlich verbessern. Dies ist einer der Gründe, warum wir einen Planungspoker, ähnlich dem Scrum-Poker, verwenden, um genauere Zeitschätzungen zu generieren.
Bei der Produktentwicklung schreiben wir User Stories so, dass sie sich leicht in Features herunterbrechen lassen (z. B. "Kunde gibt Suchkriterien für Produkt ein"). Die Features werden dann je nach Größe des Projekts von zwei oder mehr Entwicklern separat geschätzt. Dadurch wird der Einfluss anderer Teilnehmer und die natürliche Tendenz, die ersten Zahlen als Präzedenzfall für nachfolgende Schätzungen zu nehmen, außer Kraft gesetzt. Nachdem jeder Entwickler seine separaten Schätzungen abgegeben hat, werden diese diskutiert und hohe und niedrige Schätzungen erläutert. Wenn es große Diskrepanzen gibt, werden die Schritte wiederholt, bis eine Einigung erzielt wird.
Der Planungspoker funktioniert so gut, weil:
Nachdem wir die technischen Anforderungen und den Zeitaufwand für die Umsetzung des Projekts ermittelt haben, rechnen wir alles in Kosten pro Monat, pro Team oder pro Gesamtprojekt um. Es gibt mehrere Elemente, die in die Kostenschätzung einfließen, zusätzlich zur Projektdauer und der Komplexität der technischen Lösung:
Wenn Sie ein Start-up sind und einen technischen Partner suchen, der Sie auf Ihrem Weg begleitet, sind Sie bei uns genau richtig. Wir sind darauf spezialisiert, Start-ups bei der Validierung, Einführung und Skalierung ihres MVP zu unterstützen. Kontaktieren Sie uns jetzt, um einen Kostenvoranschlag für Ihre App und die beste technische Lösung für diese Aufgabe zu erhalten.