Facebook
Twitter
Google+
Kommentare
2

10 erste Schritte für ein erfolgreiches PHP Projekt

Irgendwie hätte ich mal wieder Lust ein neues PHP Projekt zu starten. Wenn man immer an der gleichen Software rumhantiert, dann kann es schon mal langweilig werden. Da ich aber weiß, dass ich in nächster Zeit nicht wirklich dazu kommen werde, ich mir aber trotzdem mal ein paar Gedanken gemacht habe, wie man so etwas angehen sollte, werde ich hier mal die ersten Schritte, die man meiner Meinung nach beherzigen sollte aufzählen.

  1. Projekt finden. Ok war klar, dass dies der erste Schritt sein wird. Wir gehen jetzt einfach mal davon aus, dass wir ein Projekt haben, dass ein unglaublicher Erfolg werden kann und die Konkurrenz klein ist.
  2. Team zusammenstellen. Was wäre ein größeres Projekt, ohne das richtige Team.Das waren jetzt auch schon die Punkte, die eh schon jeder kennt. Jetzt zu den technischen Dingen.
  3. Architektur definieren. Leider gibt es viel zu viele PHP Entwickler, die nach dem Prinzip Code and Fix arbeiten. Viele designen die Architektur erst beim aktiven Programmieren. Ganz falsch mag dieser Ansatz nicht sein, denn in einer Zeit von Refactoring und Extreme Programming, kann man einfach nachträglich Klassen ändern. Ich denke aber, dass die grobe Architektur immer noch ein Schritt ist, der vor der ersten Zeile Code gemacht werden sollte.
  4. Coding Conventions festlegen. In jedem Team, aber auch wenn sie alleine Entwickeln, sollten Regeln gelten. Diese Programmierregeln sollten schriftlich festgehalten sein. Am einfachsten ist es natürlich bereits bestehenden Regeln, wie zum Beispiel die des Zend Frameworks zu nehmen, denn meistens haben sich diese bewehrt und es gibt Tools, die diese Regelsätze standardmäßig prüfen können.
  5. Subversion installieren. Ich gehe mal davon aus, dass die meisten von uns sich für Subversion entscheiden würden, wenn sie auf eine Versionsverwaltung setzen. Ist aber auch egal, ob CVS,  Subversion, Perforce, GIT und wie sie alle heißen, einsetzt wird, es ist nur relevant, dass eine eingesetzt wird. Ansonsten würde ich das Projekt bereits für gescheitert ansehen. (Timo wird die nächsten Tage auch noch einen Artikel über SVN verfassen, auf den ich mich schon sehr freue).
  6. Testumgebung aufbauen. Es wird eine Struktur zum Aufbau von Test benötigt. Dies kann eine einfache Verzeichnisstruktur sein, in der die Unittests liegen. Wichtig dabei ist, dass es eine Testsuite gibt, die alle vorhandenen Tests ausführt, ein Einsprungpunkt sozusagen.
  7. Continuous Integration. Damit ihr euer Projekt möglichst kontinuierlich testen und bauen könnt, benötigt ihr Continuous Integration Tool wie zum Beispiel Cruise Control. Dieses Tool checkt in regelmäßigen Abständen euren Source Code aus dem Repository aus und kann automatisiert die Unittests und andere Dinge ausführen. Was genau passiert spezifiziert ihr in euerm Buildskript. Auf diese Weise, werde ihr immer zeitnahe informiert, ob euer Projekt noch funktioniert.
  8. Statische Codeanalyse. Das klingt jetzt vielleicht ein wenig hochgestochen, aber unter statische Codeanalyse kann man auch einfach ein „php -l“ verstehen. Wichtig ist aber auch hier der Test auf Verstöße gegen die in Punkt 4 aufgestellten Coding Guidelines. Dafür würde ich den PHPCodeSniffer einsetzen, den ich ja schon des öfteren erwähnt habe. Die Codeanalyse muss natürlich Teil des Bauprozesses sein und somit bei jedem Durchlauf des Continuous Integration Tools geprüft werden.
  9. Lokale Entwicklungsumgebung einrichten. Jetzt, da die Infrastruktur aufgebaut wurde, kann jeder Entwickler seine eigene lokale Entwicklungsumgebeung aufbauen. Es hat sich als sinnvoll rausgestellt, wenn man eine homogene Toollandschaft verwendet. Sobald alle Teammitglieder die gleichen Programme verwenden, wird die Unterstützung untereinander viel effizienter.
  10. Programmiert! Wenn alles eingerichtet ist, dann solltet ihr möglichst schnell anfangen zu entwickeln. Schon alleine, weil es unheimlich Stass macht, wenn die Umgebung steht.
  11. Nils informieren, dass er in seinem Blog etwas über das Projekt schreibt oder selbst einen Artikel für die Kategorie „Projektwerkstatt“ verfassen.

Das waren sie auch schon meine 10 Schritte (ja ich weiß, es waren 11). Ich denke, dass es noch viele Punkte gibt, die man vor dem eigentlichen Start eines PHP Projektes beachten sollte, aber dies sind erstmal die wichtigsten, ohne die ich kein Software implementieren würde.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

2 Comments

  1. In Punkt 5 steht „(Timo wird die nächsten Tage auch noch einen Artikel über SVN verfassen, auf den ich mich schon sehr freue)“

    Wird es diesen Artikel noch geben?

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen