Ich möchte hier mal was Grundsätzliches bemerken: Wie ausführlich und wartungsfreundlich ein Programmierer eine Application entwickelt (bzw. entwickeln kann), hängt von mehreren Faktoren ab.
- Zuerst kommt natürlich die Frage: Entwickelst du hobbymäßig oder beruflich?
- Dann spielt natürlich die gesammelte Erfahrung eine große Rolle. Man kann von einem Anfänger nicht erwarten, daß er sofort alle Eventualitäten berücksichtigt.
- Arbeitest du für ein Software-Unternehmen, das umfangreiche und komplexe Anwendugnen entwickelt und pflegt (z.B. Warenwirtschaft, Praxis-Software etc.), ist es mit Sicherheit äußerst ratsam, hier eine strikte Einhaltung erprobter Entwicklungskonzepte zu fordern.
- Wer wie ich für Kleingewerbler, kleine Ladengeschäfte, Vereine und sonstige Kunden mit stark eingeschhränktem Budget entwickelt, kann nicht alle diese Forderungen einhalten, weil sonst die Entwicklungszeit zu lang und damit die Kosten zu hoch würden. Eine einfache Datenbankanwendung für z.B. einen TShirt-Druckladen, der damit seinen Bestand, seine Verkäufe, Einnahmen und Rechnungen verwalten will, entwickle ich in ein paar Tagen (rapid development), wobei meist ein Tag für die Gestaltung der Reports draufgeht. Für ein vor Jahren entwickeltes Computerkassenprogramm hab ich knapp 4 Tage benötigt. Der Kunde arbeitet noch heute zu seiner vollsten Zufriedenheit damit und hat keinen einzigen Tag bereut, bei mir diese Software in Auftrag gegeben zu haben, auch wenn er die Rechnung nur in Raten bezahlen konnte. Ein kleiner Webdesigner erhielt von mir eine umfangreiche Webvorlagenverwaltung, die ihm nach einer Entwicklungszeit von knapp zwei Wochen schon fast wieder zu teuer war.
Meine Kundschaft hat nunmal nicht das Geld, um langwierige, Entwicklungskosten im fünfstelligen Bereich zu stemmen. Ich bin mit meinen 53 Jahren froh, nach längerer Krankheit und Arbeitslosigkeit diese Marktnische gefunden zu haben. Die Programe, die ich entwickle, sind deswegen nicht schlecht oder gar Schrott, sonst würden meine Kunden nicht bereits Jahre damit arbeiten können.