pgoetz: Projektplanung/Softwareplanung

Beitrag lesen

Servus,

[...]
Deshalb suche ich eine Art Leitfaden wie man eine Applikation am besten von Anfang bis Ende entwickelt. Sehr gerne mit dem Schwerpunkt PHP, falls das überhaupt relevant ist.

Wie fängt man an?, wie plant man?, welche Techniken verwendet man um hinterher einfach schön Programmieren zu können?

Hier gibt es unzählige verschiedene Vorgehensmodelle. Hier mal ein paar wenige Beispiele zum Füttern für Google:
V-Modell
Wasserfallmodell
Agile Software Development (kein exakt spezifiziertes Vorgehensmodell)
Scrum

Die ersten beiden sind vollwertige Vorgehensmodelle für die Projektarbeit (nicht nur Softwareentwicklung). Sie sind aber auch recht schwergewichtig. Die letzten beiden sind leichte Ansätze, wobei bei der agilen Softwareentwicklung jeder etwas anderes versteht. Der eine sieht hier nur Pair Programming oder eXtreme Programming, der nächste versucht auch, agil seine Anforderungsanalyse zu bewerkstelligen. Scrum bringt ein bisschen mehr Struktur in die Agilität, ist aber immer noch sehr weich formuliert.

In meinen Projekten (meistens Webanwendungen mit Java EE) läuft es wie folgt:

1. Anforderungsanalyse (zu Fuß, mit Zettel und Stift, später evtl. mal UML). Hier ist es für mich wichtig, den Kunden zu verstehen. Was hat er, was will er, was ist ihm dabei wichtig (-> Priorisierung)
2. Grobkonzeption: welche Technologien und welches Setup ist nötig / angebracht. Welche Komponenten benötige ich für die Software, wo sind die Schnittstellen, wie viele Leute werde ich etwa für wie lange benötigen.
3. Feinkonzeption: am liebsten arbeite ich hier bereits mit dem Entwicklungsteam mit Scrum, weil ich den Auftraggeber immer im Boot habe. Dieser spezifiziert mit dem Team zusammen seine Anforderungen und diese werden gleich umgesetzt. Sobald eine Ladung (Sprint) abgenommen ist, gehts an die nächsten Punkte. Gearbeitet wird streng nach der Priorisierung des Kunden, so dass am Ende vom Geld auf jeden Fall ein Ergebnis da ist.

Ich bin kein Freund von Überspezifikation und versuche, in meinen Anwendungen flexibel auf Änderungen zu reagieren. Ich arbeite allerdings auch in der Regel nicht an Projekten mit mehreren hundert Personenjahren, sondern bewege mich im Bereich von ein paar Personenjahren, also mittlere Webanwendungen.

Man könnte hier noch sehr viel mehr schreiben (wurde auch schon gemacht, es gibt 1000e Bücher), aber die Stichworte sollten Dich bei Google schon weiterbringen.

Schöne Grüße,

Peter