Der Anfang sollte immer sein, dass man sich erst einmal im Detail überlegt, was da überhaupt passieren soll. Was soll das Programm machen?
Das ist übrigens das Vorgehen, was ich auf jadventure.de versucht habe zu beschreiben. Das wäre dann ein agiles Vorgehen bei dem man erst einmal die einzelnen Features / User Stories / wie man es auch immer nennen will sammelt um das dann zu bewerten (Abhängigkeiten, Wichtigkeit) um dann mit den ersten Punkten anzufangen.
Die werden dann in Tasks unterteilt, damit man kleine Arbeitspakete bekommt, die schnell (sollte nicht mehr wie 1/2 bis 1 Tag dauern ... 2 Tage ist meist das absolute Maximum) umgesetzt werden können. Und dann setzt man es um - Task für Task.