Zur Diskussion: Neues Manifest für Softwareentwickler
Ab und zu stolpere ich über Aussagen in Artikeln, die mich nachdenklich machen und denen ich vielleicht sogar skeptisch gegenüber stehe.
Über solche Artikel möchte ich gerne mit Euch diskutieren und Eure Meinungen dazu wissen, so wie auch zu dem Folgenden:
Was sind die Ziele und Absichten der Softwareentwicklung? – Auf welche Punkte sollte man bei der Entwicklung von Software beachten?
Auf diese Fragen will nun ein neues Manifest, das auf den Namen Manifesto for Software Craftsmanship hört, antworten geben.
In diesem werden vier Punkte genannt, die Softwareentwickler beachten sollten.
Dabei beziehen sich die Ersteller dieses Schriftstücks (und die hunderten von Unterschreibern) auf das bereits 2001 erstellte Manifesto for Agile Software Development.
Damals wurde geschrieben:
„Wir zeigen bessere Wege zur Entwicklung von Software, indem wir Software entwickeln und anderen helfen, dies zu tun.
Durch diese Arbeit haben wir Folgendes schätzen gelernt:
- Individuen und Interaktionen mehr als Prozesse und Tools.
- Funktionierende Software mehr als umfangreiche Dokumentation.
- Kundenzusammenarbeit mehr als Vertragsverhandlungen.
- Auf Änderungen reagieren mehr als einen Plan zu befolgen.“
Die neue Erklärung versucht nun noch einen darauf zusetzen:
- nicht nur funktionierender Software, sondern auch handwerklich gute Software.
- nicht nur Reaktionen auf Änderungen, sondern auch einen stetigen Wertzuwachs.
- nicht nur Individuen und Interaktionen, sondern auch eine professionelle Gemeinschaft.
- nicht nur die Zusammenarbeit mit den Kunden, sondern auch eine produktive Partnerschaft.
Während die erste Stellungnahme eher sehr allgemein gehalten wurde, so wird in der neuen Erklärung viel mehr der Entwickler selber in den Mittelpunkt gerückt.
Aber ist dies im Vergleich zu den eher allgemein gehaltenen Punkten auch gleichwertig oder sogar wichtiger?
Ich denke nein. Softwareentwicklung ist in erste Linie eine Dienstleistung.
Und ob der Entwickler in einem professionellen Team arbeitet oder ob das Programm handwerklich gut programmiert ist interessiert den Kunden nicht
Mal ganz ehrlich, ist es für den Kunden nicht völlig egal, ob (Achtung Übertreibung) die gesamte Applikation im Code-Behind (sprich in einer Schicht) steht oder schön ordentlich nach einem Paddern klassenorientiert, in Schichten unterteilt etc. programmiert und aufgebaut wurde?
Hauptsache die Anwendung läuft, sagt er ( natürlich fehlerfrei;-) ).
Und genau diese Kundenzufriedenheit sollte für den Softwareentwickler auch als das Allerwichtigste angesehen werden.
Natürlich braucht es handwerkliches Können und die anderen aufgezählten Dinge um fehlerfreie Software effizient zu erstellen und damit die Kundenzufriedenheit zu erreichen.
Aber ich denke nicht, dass solche Punkte Ziele der Softwareentwicklung sein sollten, sondern eher ein Mittel um die Ziele zu erreichen.
Und deshalb halte ich die Punkte dieses neuen Manifests für nicht gleichgewichtig und schon garnicht wichtiger.
Aber jetzt würde ich gerne wissen was Ihr darüber denkt. Also, was ist Eure Meinung dazu?