Was ist der Stand der Technik bei Software?

Üblicherweise versteht man in der Softwareentwicklung unter dem Stand der Technik bei Software all das, was aktuell in aller Munde ist, was auf Fachkonferenzen besprochen wird, was man zumindest in neuen Projekten einsetzen möchte. Doch entspricht das tatsächlich dem Stand der Technik?

Ob in der Informatik eine bestimmte Technologie oder Technik dem Stand der Technik entspricht, lässt sich mittels der 4 Grundsätzen des Standes der Technik bestimmen:

  • Entwicklungsstand - gibt es dazu beispielsweise aktuelle Bücher, Veröffentlichungen oder Fachvorträge?
  • Fortschrittlich - gibt es dazu eine neuere Version oder gar andere Technologie bzw. Technik, die als Nachfolger dafür betrachtet werden kann?
  • Bewährt - hat es sich in anderen Projekten bewährt, gibt es dazu beispielsweise Praxisberichte, regen Austausch auf Stack-Overflow oder aktive Benutzergruppen?
  • Zielgerichtet - lässt sich die gegebene Aufgabenstellung damit überhaupt lösen und ist diese Lösung auch wirtschaftlich d.h. günstiger und besser als andere Technologien bzw. Techniken?
Die ersten drei Punkte kann man in der Informatik oft generell beantworten:

In der Informatik gibt es zu beinahe allem, was in aller Munde ist, auf Fachkonferenzen besprochen wird und Informatiker in neuen Projekten einsetzen möchten, aktuelle Bücher, Veröffentlichungen, Stack-Overflow Einträge und Praxisberichte und noch keine Nachfolgetechnologien.

Derartige Techniken und Technologien sind also am fortschrittlichen Entwicklungsstand und bewährt. Ob sie aber auch zielgerichtet sind, kommt auf das Ziel an und ist somit individuell zu beantworten: Dazu muss einerseits das Ziel klar sein, welches man mit der jeweiligen Technologie oder Technik erreichen möchte, andererseits muss überprüft werden, ob es nicht etwas anderes gibt, mit dem man das Ziel (vielleicht sogar deutlich) effizienter erreicht. Dabei geht es nicht nur um die Effizienz im Einsatz von Entwicklungsressourcen, sondern um die Effizienz im Einsatz sämtlicher Ressourcen (von Personalaufwand bis Hardware) im gesamten Lebenszyklus der Software.

Fazit: Die Technologien und Techniken, die Entwickler heute neu einsetzen wollen, sind üblicherweise bewährt und am fortschrittlichen Entwicklungsstand. Ob sie auch zielgerichtet und somit am Stand der Technik sind, muss für jedes Projekt einzeln geklärt werden.

Kommentare

CC BY-NC-SA 3.0 AT Sebastian Dietrich, e-movimento