Hallo Leute,
Nur kurz zur Erklärung, ich bin der

von lilliana und hab gerade heute von eurem Vorhaben erfahren. Soweit habe ich den Thread bisher einmal durchgelesen und finde es toll, dass ihr eine kleine motivierte Truppe für euer Vorhaben zusammenstellen konntet.
Kurz zu meinem Background: Ich bin selbst auch Informatiker und habe in letzter Zeit viel mit Systementwicklung zu tun gehabt. Nachdem mir nun lilliana von dem Projekt erzählt hat, bin ich natürlich neugierig geworden und dachte mir es könnte nicht schaden, wenn ich ein paar Gedanken zu dem Ganzen beisteuere:
1. Soweit hab ich viele gute Ideen gelesen, allerdings wurde noch nirgends abgesteckt, was im Detail eigentlich entwickelt werden soll. Nach dem, was ich gelesen habe, sollte im ersten Schritt einmal eine Online Anwendung her, bei der man seine Daten eingeben und darstellen lassen kann. Daher sollte man sich zuerst nur darauf konzentrieren und im Hinterkopf behalten, dass man später diese Daten auch exportieren bzw. über eine API ansteuern kann, um sie in "offline" Anwendungen verfügbar zu machen.
2. Ich weiss, dass jeder am liebsten gleich anfangen würde, allerdings sollte so ein Projekt wohl durchdacht sein. Bevor man mit der Darstellung anfangen kann (Bilder, Grafik, Interpretation), muss erst mal das Datenmodell stimmen, dazu aber später.
3. Wahrscheinlich haben die meisten von euch, genau wie ich, eher einen beschränkten Zeitrahmen zur Verfügung. Daher wäre es klug, die Arbeit so gut wie möglich aufzuteilen. Konkret fände ich es sinnvoll, wenn die Projektinfrastruktur jemand anderes managed als die Entwickler. Beispielsweise ist es nicht wirklich wichtig wo und welches Versionskontrollsystem man verwendet,Hauptsache, eines ist da. Das gleiche gilt auch für Projektverwaltung a la Redmine und co.
Soweit wäre das das erste, was mir spontan eingefallen ist. Aufbauend darauf, würde ich euch noch folgendes Vorgehen vorschlagen, da es sich bei Softwareprojekten im Allgemeinen bewährt hat:
1. Sammelt Use Cases: Konkret geht es darum, typische Szenarien festzuhalten, die beschreiben, was ihr mit der Software machen wollt (möglichst kurz, sollte nur eine einzige Zielsetzung enthalten).
Da kann jeder mitmachen, und am Ende muss dann entschieden werden, welche Funktionalität für den Anfang reingenommen werden soll.
2. Mit den Use Cases kann ein Anforderungsprofil erstellt werden, aus dem sich das Datenmodell ableiten lässt. Mit dem Datenmodell weiss man dann, womit in der Anwendung genau hantiert wird (wichtig für Frontend und Backend).
3. Parallel zu 1 & 2 kann die Infrastruktur aufgesetzt werden. Die beinhaltet Projektsoftware und Versionsverwaltung. Was hier genau eingesetzt wird, sollte derjenige entscheiden, der das verwaltet. Im Endeffekt gibt es nicht wirklich Gründe, warum man darüber abstimmen sollte (Den Zweck sollte eigentlich jedes erfüllen).
4. Mit Anforderungsprofil und Datenmodell kann man sich Gedanken über die passende Plattform machen. Google App Engine scheint vielversprechend, aber letztendlich weiss noch keiner von uns, ob man nicht über die Grenzen der kostenlosen Nutzung kommt. Falls ja, muss man sich auch hier weiter umschaun.
5. Hier beginnt erst die eigentlich Entwicklung: Nun können Arbeitsgruppen erstellt werden für einzelen Bereiche (z.B. Fontend, Backend, Datenhaltung).
6. Gerade für die Frontendentwicklung sind viele Meinungen wichtig. Mockups, Skizzen etc. gerade von den Anwenderinnen, die zeigen, wie das Ganze bedient werden soll/kann, sind hilfreich (im Übrigen auch schon bei den Use Cases).
7. Testen, Testen, Testen...
Das Ganze hier ist nur als gut gemeinter Vorschlag meinerseits gemeint. Ob ihr den nun annehmt, ist natürlich eure Sache. Allerdings sind leider schon genügend Projekte an einer sauberen Struktur gescheitert, was ich für euer Vorhaben nicht möchte.
Natürlich ist das hier auch nicht der Weisheit letzter Schluss, insofern ist jeder Vorschlag zu obigen Punkten willkommen
