Frage

Ich habe eine Menge von PHP-Projekte in der Vergangenheit erstellt basierend auf schnellen "eine Änderung vornehmen, laden Sie es Entwicklungsmethodik.

Ich fange an, ein lange (6-8 Monate schätzen) Projekt eine ziemlich voll gehostete Web-Anwendung funktions bereitzustellen. In den letzten Wochen habe ich gesucht, in die beste Art und Weise zu ‚Projekt verwalten‘ diese (meine eigentliche Code ist in Ordnung). Die Anwendung wird eine erste Version haben, mit den grundlegenden Funktionen und eine weitere Release erweiterte Funktionalität. Ich habe noch nie SVN, Trac, Bug Tracking verwendet, Staging-Server oder Deployment Tools so dass dies alles ziemlich neu für mich ist.

Nach dem, was ich in der letzten Woche gelernt haben, hier ist das, was ich hinaus suchen zu müssen.

4 x VPS mit 128 MB RAM (256 zerreißbaren) und 10 GB Festplattenspeicher.

projektierter in der folgenden Konfiguration

  1. tools.ops.ourdomain.co.uk - Server-Hosting-SVN, Trac und sichere Speicherung von Dateien für Up- und DNS (wo der Nameserver für Punkt)
  2. development.ops.ourdomain.co.uk - Entwicklungsumgebung zur Arbeit am Stamm Version der Software. Automatisch aktualisierte htdocs-Ordner auf SVN
  3. staging.ops.ourdomain.co.uk -. Wo das Potenzial Releases 'sind für die Prüfung eingesetzt
  4. production.ops.ourdomain.co.uk -. Produktionsserver, auf dem 'final Releases' bereitgestellt werden

Ist das sinnvoll? Soll ich meine Entwicklungs-Server bis zu meinem lokalen Rechner fallen lassen? Ist es sinnvoll, setzen die DNS auf dem Server-Tools oder nicht?

machen

Zweitens, was ist die beste Entwicklungsmethodik für einen einzelnen Entwickler? Ich wollte alle Features in erster Linie zB „Authentifizieren eines Benutzers“, „Logout einen Benutzer“ planen und sie dann als trac Tickets erstellen. Die eigentliche ‚wie‘ und ‚wo‘ dann gearbeitet werden kann, wenn ich an die Aufgabe in Frage kommen. Wäre es sinnvoller Plan aus allen Klassenmethoden machen (und allgemeinen Dateien) und dann Tickets für diese erstellen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Hier einige Tipps, einige lose auf agile Methoden, das ist ziemlich gut für einen Mann-Teams sein sollten, da sie nicht viel Aufwand im Vergleich zu Nutzen.

  • Erstellen Sie eine Bereitstellungsskript - ein einziger Befehl Sie die App bereitstellen ausführen können. Auf diese Weise können Sie einfach diesen Schritt wiederholen Sie die App tun zu implementieren. Dadurch verringert sich Chancen auf einen kleinen Fehler oder einen Schritt zu vergessen, wenn die Produktion oder Inszenierung
  • Bereitstellung von
  • Ich habe auf meinem eigenen PC gefunden Entwicklung ist in der Regel für mich am schnellsten. Keine Netzwerkverzögerungen bei der Arbeit, die Vertrautheit mit dem Betriebssystem und Werkzeugen. Am Ende, was zählt, ist persönliche Präferenz.
  • Es wäre eine gute Idee, sein, eine Staging-Umgebung haben , vorzugsweise auf der gleichen Hardware / Software als die endgültige Produktionsumgebung. Dies wird Ihnen erlauben, um zu bestätigen, alles funktioniert OK gibt, und können Kunden Probefahrt die Änderungen ermöglichen.
  • Versuchen Sie, periodische Veröffentlichungen , ähnlich wie Scrum Sprint. Wählen Sie, welche Funktionen Sie für das nächste Release abschließen möchten. Dies macht es einfacher zu konzentrieren sich auf die wichtigsten Funktionen, wie Sie wissen, was Sie tun müssen, und macht es auch leichter Anzeige Fortschritt (Ok diese Version enthält A, B und C). Nur neue Funktionen für die aktuelle Version wählen, ob Sie die, die gewählt haben Sie fertig sind. Tag jeder Veröffentlichung in der Quellcodeverwaltung.
  • Für die oben, können Sie möchten auf Verwendung Trac Spur von Features zu halten , wie Sie gesagt haben. Welches Werkzeug oder nähern Sie Gebrauch spielt keine Rolle, solange Sie irgendeine Art von Karte oder ein Dokument über das, was Sie tun.
  • Wenn Sie mit Unit-Tests vertraut sind, können Sie mit in Betracht ziehen Testentwicklung Driven. Wenn nicht, könnte es eine gute Idee sein, Unit-Tests beginnen Lernen über

Und last but not least, machen einen Zeitplan und dabei zu bleiben . Andernfalls wird Ihr Projekt unter wesentlich länger kann am Ende als erwartet.

Ich hoffe, dass Sie zumindest einige dieser Hilfe, um einige Fehler zu vermeiden, die ich gemacht habe früher in meiner Karriere =)

Andere Tipps

Wenn Sie es, ohne zu viel Kosten ändern können, Doppel- oder den RAM vervierfachen. Ich habe ein 256 MB (fest) „Werkbank“ VPS und haben Probleme laufen Trac / Python, Apache2 hatte, eine oder zwei PHP-Anwendungen und eine Remote-Desktop-Verbindung zur gleichen Zeit (die Box würde nur etwas zu tun verweigern und Anspruch " out of memory "). Dies war ein Windows Server 2003 VPS Linux ist wahrscheinlich ein wenig sparsamer insgesamt aber mehr RAM wird nicht weh tun.

Wie für die Planung, bin ich nicht sicher, ob Trac Tickets sind der Weg für die ersten Schritte und grundlegende Entwicklung zu gehen. Sie sind ideal für den Umgang mit einzelnen Fragen, Ideen und Features, aber für das große Bild (funktionale Anforderungen, Entwürfe auf dem, was werden wird gelöst, wie Feature-Listen), können Sie besser sein, mit nur einem Office-Dokument, UML-Diagramme, oder was auch immer Sie verwenden, um Ideen zu sammeln und eine Struktur mit aufzubauen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top