Hallo zero-one!
Vielleicht genügt es dir ja, wenn du dir die Gedanken zu einem neuen Projekt detailliert aufschreibst.
Diese Gedanken kannst du dann, bevor du anfängst zu programmieren, in die richtige Reihenfolge setzen und laufend ergänzen und anpassen. So hast du, wenn du einmal ein paar Wochen aussetzt, trotzdem noch einen Plan davon was gemacht werden muss.
Ich nehme dazu meist eine einfache Textdatei.
Code: Alles auswählen
Was soll das Programm alles können?
===================================
- Kundenverwaltung mit GUI, die primär unter Windows läuft.
Es soll aber kein Problem sein, diese auch nach Linux zu
portieren.
- Anzeige der Kunden in einer Tabelle.
- Schnellsuche
- ...
Bereits erledigt
================
- ...
ToDo
====
- Datenbank planen
- Datenbankschnittstelle grob skizzieren
- Globale Programmoberfläche zeichnen (Papier)
- Ordnerstruktur erstellen
- *help*-Ordner nicht vergessen
- Globale Module kommen in den *lib*-Ordner
- ...
Diese Textdatei kann ich dann im Laufe der Programmierung um weitere Details erweitern. Außderdem wandern die erledigten Punkte in den Bereich *Erledigt*. So hat man am Ende des Tages auch einen Überblick, was erledigt wurde und kann sich schon während der Programmierung ein Bild davon machen, wie lange man noch brauchen wird.
Wenn mehrere Leute im Spiel sind. Ob das nun noch ein Programmierer oder jemand ist, der das Programm testet oder jemand vom Support. Dann würde ich zu *Trac* und *Subversion* greifen. Im Trac hast du ein Wiki in dem du dir alles aufschreiben kannst. Was ich gerne mache: Ich beauftrage andere, mir Informationen zusammenzusuchen und mir ins Trac-Wiki zu schreiben. Arbeitsteilung vom Feinsten.
Auch wenn du alleine bist oder nur sehr wenige am Projekt mitarbeiten -- Trac bietet ein paar Vorteile, die dir die Arbeit an einem Projekt sehr erleichtern können. Du kannst dir z.B. eine Roadmap zurechtlegen. Dann kannst du einzelne (kleine) Arbeitsschritte als Tickets hinterlegen, die du dann auch noch an einen Milestone (Programmversion) binden kannst. So kannst du über Tickets genau festlegen, welche Arbeiten bis zu welcher Programmversion fertig sein sollen. Diese Tickets kannst du mit Prioritäten markieren. So weißt du immer, welches die nächst wichtige Arbeit ist.
Außerdem können andere Leute (Support, Qualitätstest,...) Tickets mit Fehlerberichten anlegen. So geht nichts verloren.
Das ist vielleicht einfacher und produktiver als sich an irgendeinen großmotzigen Projektplan zu halten.
mfg
Gerold
