Wir sind ein kleines Team, das im Begriff ist, eine lokalisierte Version einer erfolgreichen US-Web-App in Korea mit RoR zu entwickeln.
Unsere Frage lautet: Welchen Prozess würden Sie empfehlen, um die App zu entwickeln?
Sollen wir mit den Datenmodellen beginnen? Die Ansichten in HTML und dann codieren? Nehmen Sie eine einzelne Funktion, entwickeln Sie sie und fügen Sie bei Bedarf weitere Funktionen hinzu?
Noch ein paar Details zum Projekt:
- Es ist eine Web-App für Kleinunternehmer
- Es enthält die üblichen Verwaltungsfunktionen für crm-Berichts-Dashboard-Benutzer-Verwaltungsdokumente, die die meisten Apps für kleine Unternehmen aufweisen
- Die Teamgröße beträgt anfangs 2 Personen: ein Programmierer und ein Designer / CSS-Guru (nur ein Programmierer)
- Das Erfahrungsniveau ist mittel. Gute Kenntnisse in Git, Ruby, Rails und XHTML / CSS, weniger Erfahrung mit Bereitstellungsproblemen. Dies ist das erste Projekt dieser Art, das wir gemeinsam als Team durchführen
Das größte Problem besteht darin, Updates vom Hauptprodukt zu verwalten. Sie müssen Ihre Änderungen zusammenführen, wenn Sie mit den Veröffentlichungen Schritt halten möchten. Alle anderen Faktoren sind meiner Meinung nach irrelevant.
Stellen Sie also sicher, dass Sie das Hauptprodukt nehmen und eine Kopie davon erstellen, um daran zu arbeiten. Wenn sie eine neue Version veröffentlichen, aktualisieren Sie Ihr Original mit ihrer. Anschließend können Sie die vorgenommenen Änderungen anzeigen und mit Ihrer Version zusammenführen. Das Refactoring des Produkts ist ein sehr großes Problem - tun Sie es nicht, da jede neue Datei es schwierig macht zu erkennen, wo die Änderung gegenüber dem Original stattgefunden hat. Es ist auch einfacher, wenn Sie Ihre Änderungen in separaten Dateien speichern können.
Andernfalls haben Sie für die Entwicklung von Feature zu Feature eine gute Möglichkeit, die Funktionsweise zu testen, bevor Sie mit dem nächsten Feature fortfahren. Es ist viel schwieriger, alles auf einmal zu versuchen. Halten Sie ein Testsystem an Ort und Stelle, damit Sie jede Funktion freigeben und sicherstellen können, dass es funktioniert (dh auf einer Box, die nicht dem Entwickler gehört).
quelle