# Vorgehensweise beim Programmieren



## DennisXX (7. Jul 2011)

Hi Folks !

Mich würde mal interessieren, wie ihr genau beim Programmieren vorgeht. Also nciht direkt beim Codeschreiben, sondern eher schon sehr viel weiter vorher, beim Sammeln der Anforderungen z.B., bei der Priorisierung und dann auch letzenendes bei der konkreten Umsetzung der Anforderungen in Programmcode.

Danke für eure Beteiligungen

Greetz
Dennis


----------



## Marco13 (7. Jul 2011)

Die klassische Vorgehensweise:






Eine verbesserte, professionellere Vorgehensweise:





Die übliche Vorgehensweise: 





(von Crystal Methodology | Java.net )


----------



## Andi_CH (7. Jul 2011)

Bei der üblichen Vorgehensweise fehlt das dritte Feld in dem "Shit" steht


----------



## DennisXX (8. Jul 2011)

Eigentlich war diese Frage sehr sehr ernst gemeint, mir geht es vor allem darum, wie ihr eure Anforderungen sammelt und priorisiert, wie ihr praxirelevante (und nicht theoretische) Methoden nutzt, um eine Aufwandsabschätzung zu betreiben usw.


----------



## Marco13 (8. Jul 2011)

Der Post sollte diesen Thread nicht ins lächerliche ziehen (und ich hoffe, das tut er nicht). An sich ist die Frage ja interessant und für jeden relevant, der sich "richtig" mit Softwareentwicklung beschäftigt. Es ist aber so, dass es verschiedene Modelle und Strategien gibt, und aus meiner subjektiven (und NICHT repräsentativen) Erfahrung heraus ... keine funktionieren. Die Ursache dafür (NICHT dafür, dass sie nicht funktionieren, sondern dafür, dass ich diese Erfahrung gemacht habe) könnte damit zusammenhängen, dass diese Strategien z.B. während eines Studiums nicht vermittelt werden, und es mir scheint, als würde jeder einzelne das durch eine Mischung aus Trial&Error, Infos von Kollegen und durch Buzzwords und Flussdiagramme oberflächlich angedeutete Strategien lernen. 

Weiter gehende Aspekte (die auf eine Weise mit den schon genannten zusammenhängen, die ich nicht näher spezifizieren will (und kann)) wären, dass die Strategie auch von der Art des Projektes abhängt. Eine Oberfläche+Datenbankanbindung für einen Online-Shop wird anders geplant als ein EU-gefördertes Forschungsprojekt. Bei ersterem ist die Anforderungsanalyse plakativ formuliert: "Ich will Gartenzwege über's Internet verkaufen", und die Aufwandsabschätzung "Das wird so lange dauern, wie der Online-Shop, mit dem T-Shirts verkauft werden sollten". Bei letzterem ist die Anforderungsanalyse "Schaut mal, was man da cooles machen kann", und die Aufwandsabschätzung ist "Das dauert (zufällig) genau SO lange, wie die Projektlaufzeit ist".

Aber falls jemand meint, fundiertere und spezifischere Aussagen dazu machen zu können: Die würden mich auch interesseren


----------



## Andi_CH (8. Jul 2011)

DennisXX hat gesagt.:


> Eigentlich war diese Frage sehr sehr ernst gemeint, mir geht es vor allem darum, wie ihr eure Anforderungen sammelt und priorisiert, wie ihr praxirelevante (und nicht theoretische) Methoden nutzt, um eine Aufwandsabschätzung zu betreiben usw.



Die Grafik von Marco darfst du durchaus ernst  nehmen. Dass er da noch etwas Komink eingebaut hat die mich zum lachen brachte tut der ernsthaftigkeit des ersten Teils keinen Abbruch.

Stichworte nach denen du suchen könntest:

Entwicklungsprozess
agile Prozesse
Scrum
.....
Es gibt extrem viele Prozesse und alle sind mehr oder weniger gut dokumentiert und mehr oder weniger gut für ein spezifisches Umfeld geeignet - frag bitte nicht, welches der Beste ist - darauf kann dir niemand eine Antwort geben.

Was in der Mitte der Grafik angedeutet wird ist, dass du keinen der Prozesse genau so übernehmen kannst, wie er dokumentiert ist - jeder muss erst an das Umfeld und möglicherweise auch an das Projekt angepasst werden - das nennt man tailoring.


----------

