Programmiersprache Pascal

Grundsätze für die Software-Enwicklung

  1. Trauern Sie Ihren Nutzern zu, daß sie in der Lage sind, jede sich bietende Fehlermöglichkeit zu nutzen.
    (Murphy'sche Regel: Wenn etwas schief gehen kann, so geschieht es !)

  2. Gehen Sie als Software-Entwickler vom schlimmsten Fall aus:

  3. Die Produktivität des Nutzers ist zu messen an der Anzahl der Eingabehandlungen, die er tätigen muß - bis er das Problem wirklich gelöst hat.

  4. Routinierte Nutzer bewerten die Nutzeroberfläche eines Programms oft es anders als neue oder gelegentliche Nutzer.
    Der routinierte Nutzer sieht mehr den Aufwand bei der täglichen Bedienung des Programms. Der neue bzw. gelegentliche Nutzer sieht - zunächst - mehr den Aufwand, um die Bedienung des Programms zu lernen.
    (ease of use - ease of learning)

  5. Beide Aussagen haben eine gewisse Berechtigung: Ein Programm, welches der Nutzer nicht nutzt, ist wertlos !
    Der Nutzer weiß, was er will, er kann es nur nicht exakt und nicht vollständig ausdrücken.
    Ein Nutzer kann nicht Dinge wollen, die er nicht kennt !
    10 % aller Wünsche verursachen oft 90 % allen Aufwands.

  6. Ein Programm sollte so arbeiten, wie der Nutzer es erwartet.
    Der Nutzer sollte durch Reaktionen des Programms nicht überrascht werden !
    (no surprises)

  7. Der Software-Entwickler sollte nicht Probleme lösen, die es nicht gibt !
    Entscheidend sind nicht die Probleme, die der Entwickler sieht, sondern die, die der Nutzer hat !
    Selten ist der Chef der wichtigste Nutzer !
    (Allerdings weiß er dies nicht immer !)

  8. Folgende Fragen sind gegeneinander abzuwägen:
    Was kostet es, wenn das Programm einen Fehler zuläßt ?
    Was kostet es, ein Programm zu entwickeln, welches keine Fehler zuläßt ?
    Was kostet es, ein Programm zu nutzen, welches Fehler zuläßt ?

  9. Was kostet es, wenn ein Programm nicht optimal mit Zeit und Speicherplatz umgeht ?
    Was kostet es, wenn niemand - einschließlich des Entwicklers - in der Lage ist, ein "optimales" Programm (rechtzeitig) zu verändern ?

  10. Was ein Programmierer nicht in natürlicher Sprache ausdrücken kann, das kann er auch nicht in Programmcode ausdrücken.

  11. Wenn der Algorithmus zur Lösung eines Problems zu kompliziert wird, dann suche einen neuen.
    (Der Mut zum Neuanfang.)

  12. Wenn ein Problem zu umfangreich ist, dann zerlege es !
    (Teile und herrsche !)

  13. Ein Problem ist nur dann gut zerlegt, wenn die Teilprobleme wenig voneinander abhängig sind.

  14. Es ist billiger, einen mißratenen Entwicklungsschritt zu wiederholen, als ein mißratenes Entwicklungsprodukt jahrelang mühevoll zu warten.
    (Oder es nie einzusetzen.)
Bemerkung:
Es wird mißlingen, alle Grundsätze gleich wichtig zu nehmen !



P. Böhme, 25.01.1996