Nie mehr wieder Programmierprojekte ohne ausgiebige Planung



  • Jover schrieb:

    Ist Extreme Programming auch für einzelpersonen als Entwickler?

    Schwierig. Da Extreme Programming besonderen Wert auf Kommunikation legt. Außerdem wird es auch mit dem möglichst ständig erreichbaren Domain-Experten schwierig. Ich glaube da hilft nur eine ausgefeilte Schizophrenie.

    Kleine Iteratioen, Techniken wie Test First und Refactoring sowie Prinzipien wie DTSTTCPW funktionieren natürlich aber auch bei Einzelpersonen.

    [edit by kingruedi]hab mal die Quote Tags gefixed[/quote]



  • Nein ich glaube nicht, dass ich schon so Schizophren bin, ein ganzes Entwicklungsteam in mir zu beherbergen. 😃

    Welche Wege gibt es dann für eine einzelne Person Projekte zu planen und durchzuführen?



  • Also ich hab das bisher immer so gemacht (wobei ich gestehen muss, dass ich kein großer Planer bin 😞 😞 ), dass ich mir ein großes Blatt Papier genommen habe. Erstmal Brainstorming zu dem Projekt gemacht und das versucht zu notieren. Dann habe ich versucht, mir Gedanken über die Implementierung zu machen, in dem ich die grobe Klassenstruktur inkl. Memberfunktionen auf dem Papier notiert habe. Dafür kann man auch gut UML nehmen, damit kenn ich mich aber (noch) nicht aus.

    Die Programmierarbeit besteht dann eben "nur" noch aus der Implementierung der Memberfunktionen.

    Aber bisher war das immer so, dass ich die ersten paar Tage die Skitzen auf dem laufenden gehalten habe (ich hab es nie geschafft, ein Projekt so zu planen, dass wirklich alles funktioniert hat, ich hab ständig eigentlich was am Design geändert, weil mir Dinge eingefallen sind, die ich vorher nicht beachtet hatte 😞 ) und dann, nach einer Zeit, hab ich es sein lassen 😞



  • kingruedi schrieb:

    ... [1]
    und dann, nach einer Zeit, hab ich es sein lassen 😞

    [1]: Ebenso, bloß hab ich noch einen Schmierzettel mit Ideen neben mir liegen und ich versuche viele "// TODO: "- Kommentare in den Quelltext einzubauen.



  • \aleph_0 schrieb:

    [1]: Ebenso, bloß hab ich noch einen Schmierzettel mit Ideen neben mir liegen und ich versuche viele "// TODO: "- Kommentare in den Quelltext einzubauen.

    jo, dass mit den TODO Kommentaren mach ich auch 🙂



  • Kennt jemand von euch die Bücher "UML @ Work" bzw. "Rapid Developement".

    Könnt ihr eines Empfehlen?



  • Jover schrieb:

    Welche Wege gibt es dann für eine einzelne Person Projekte zu planen und durchzuführen?

    Wenn Du von echten Projekten ausgehst (also schliessen wir mal Hobbyprojekte für die Homepage ohne Zielgruppe aus), gibt es eigentlich GAR KEINE Projekte, wo nur eine einzelne Person arbeitet!

    Glaubst Du nicht? Doch.

    Du gehst jetzt nur von dem Entwickler aus. Aber Du hast im Regelfall schon mindestens eine Person, die ebenfalls beteiligt ist: den Auftraggeber/Kunden. Häufig sogar noch eine weitere Person, nämlich den Tester bzw. denjenigen, der damit arbeiten soll. Oft ist dieser bereits nicht mehr identisch mit dem Auftraggeber.

    Also gibt es doch Chancen zur Kommunikation.

    Damit kannst Du Dir wohl doch einige der Ideen z.B. von eXP rausziehen, z.B. die schnellen Releasezyklen, oder die intensive Rückkopplung nach jedem Release mit dem Abnehmer.

    Denn gerade bei einem einzigen Entwickler ist folgender Weg völlig fatal: Pflichtenheft machen, 4 Monate verschwinden, mit Software wiederkommen. Ein solches Programm erfüllt nicht die Wünsche der Leute, die damit arbeiten müssen, so Sachen werden abgenommen, einige Wochen angesehen, und verstauben dann im Regal.

    Je kleiner das Entwicklungsteam ist, desto größer besteht die Gefahr, daß Interpretationsfehler entstehen - also benötigst Du auch als Einzelkämpfer eine intensive Kopplung an den Abnehmer der Software. Und das ist die Erkenntnis, die man auch aus den eXP oder Agile Development-Methoden herausziehen kann.



  • Ja so ungefähr habe ich es bei meinem letzten Projekt ja gemacht.
    Ich habe einfach die Wünsche vom Auftraggeber aufgeschrieben, und dann habe ich begonnen zu Programmieren. Nach ein paar Wochen, hab ich ihm dann das erste Release gezeigt, und er hat dann weitere Wünsche eingebracht. Das ging dann so 3-4 mal.

    Aber das hat meiner Meinung nach nichts mit der Orgranisation des Sources, der Klassenhirachie und dem Design der Anwendung zu tun.
    Oder bietet da eXP auch was?

    Mir geht es darum, dass ich wenn ich die Wünsche des Kunden habe, ich das Programm so code, dass es sauber und Erweiterbar ist.
    Erweiterbar, in dem Sinn, dass ich spätere Wünsche des Kunden problemlos einbauen kann.

    Also:
    Wie komm ich vom Wunsch, zu den einzelnen Klassen mit den Daten und Methoden?



  • Ok, Du hast damit aber ein Softwareentwicklungsproblem und kein Projektplanungsproblem. Demnach sind solche Dinge wie UML oder Bücher zum Thema Entwurfsmuster vielleicht näher an Deinem Problem dran.

    eXP befasst sich mit dem allgemeinen Projektablauf, nicht mit technischen Festlegungen.



  • Ok, ich hab mich mit der Formulierung etwas vertan.
    sind dann die Bücher "Rapid Developement" und "UML @ Work" das richtige?

    Welches könnt ihr empfehlen?


Anmelden zum Antworten