Softwarewartung ???
Alle Jahre wieder begegnet mir im Zusammenhang mit Software der Begriff Wartung. Ich habe mich schon immer gefragt, was das im Zusammenhang mit Software eigentlich sein soll.
Wenn man sich einem solchen Thema näher möchte, ist es zunächst immer sinnvoll, nach einer Definition des Begriffs zu suchen. Gemäß DIN 31051 werden als Wartung “Maßnahmen zur Verzögerung des Abbaus des vorhandenen Abnutzungsvorrates der Betrachtungseinheit verstanden.” - D. h. um von Wartung sprechen zu können, muss das zu wartende Gut über Eigenschaften verfügen, die sich abnutzen können. Die Wartungsarbeiten wirken dieser Abnutzung entgegen. Als typisches Beispiel kann hier das Säubern und Schmieren von Maschinen herangezogen werden.
Da Software sich nicht abnutzt, sondern in der erstellten Form unverändert weiterexistiert, kann man hier genaugenommen also nicht von Wartung sprechen. Leider werden unter dem Begriff Wartungsarbeiten bei Software oft Dinge verstanden, die nur deshalb notwendig sind, weil die Software schlecht oder in minderwertiger Qualität entwickelt wurde oder notwendige Automatismen nicht umgesetzt wurden (z. B. Überarbeitungen schlechter Datenmodelle, Datenbereingungen etc.).
Wie seht ihr das?
in der Softwaretechnik unterscheidet man zwischen Softwarewartung und Pflege.
Unter Pflege versteht man regelmäßige, geplante Vorgänge, die dazu dienen, die Alterung der Software zu verhindern. Auch die beste Software nutzt sich mit der Zeit ab, da sich sowohl die technischen (z.B. Versionen von Betriebssystemen, Frameworks, Browsern, Hardware etc.) als auch die gesellschaftlichen Rahmenbedingungen ändern. Als Beispiel muss man nur mal an den geänderten Mehrwersteuersatz sowie die sich ständig ändernde Gesetzeslage beim Datenschutz nennen. Dies alles führt dazu, dass Software irgendwann nichtmehr den Gegenbenheiten entspricht, man sagt, sie ist veraltet.
Im Gegensatz dazu ist die Wartung kein geplanter, sondern vielmehr ein Ereignissgesteuerter Vorgang. Die meisten Ereignisse dürften natürlich, wie du ja schon richtig angemerkt hast, in die Kategorie "Software Bug" fallen.
Du wirst auch in anderen Bereichen kein Produkt finden, das vollkommen ohne Fehler ist. Der Unterschied ist halt, das meistens nur Einzelstücke betroffen sind, und das Problem meistens durch ein Austauschen durch den Hersteller gelöst ist. Bei Software ist der Fehler immer systematisch und alle Kunden sind gleichermaßen betroffen.
Allerdings ist die Ursache hierfür nicht nur in schlechter Entwicklung zu suchen. Auch der beste Entwicklungsprozess wird nie in der Lage sein, Fehler vollkommen auszuschliessen. Oft sind es gerade äußere Vorgänge, die Fehler erst provozieren. Man denke daran, in wievielen Softwareprodukte Fehler aufgetreten sind, als Microsoft Servicepack 2 für Windows XP veröffentlicht hat.
Insgesamt bin ich also der Meinung, dass sich Fehler nie vollkommen ausschliessen lassen, und dass die Entwicklung von Software immer auch einen vernünftigen Wartungs- und Pflegeprozess erfordert.
Viele Grüße,
Marcel
da bist Du Dir ja tatsächlich mit Björn einig, der in seinem Blog eine ähnliche Meinung vertritt.
Mir ist dennoch nicht ganz klar, wie sich ein virtuelles Gut abnutzen oder einer Alterung unterliegen können soll. Das Beispiel mit der Mehrwertsteuer und dem Datenschutz hat aus meiner Sicht nichts mit Wartung zu tun: Hier handelt es sich eindeutig um eine Änderung der fachlichen Anforderungen und somit um eine Anpassung der Software und somit nicht um Wartung. Diese Anpassung ist je nach Qualität der Software mehr oder weniger leicht durchzuführen.
Beispiel: Wenn ich mein Auto in die Wartung gebe, werden Verbrauchsmittel aufgefüllt oder erneuert und ggf. Abnutzungserscheinungen korrigiert. Lasse ich mir ein neues Radio einbauen oder muss einen Partikelfilter wegen einer veränderten Gesetzeslage nachrüsten, fällt dies nicht unter die Wartung.
Um die Frage, ob sich Fehler völlig ausschließen lassen ging es mir in dem Posting nicht. Dass Fehler nicht völlig auszuschließen sind, ist klar - unabhängig davon ob es sich um Softwareentwicklung oder andere Produktentwicklungen handelt. Das wäre dann aus meiner Sicht auch der einzige Punkt, über den man streiten kann: Kann man die Behebung dieser Fehler als Wartung bezeichnen?
Viele Grüße und bis bald,
Ulli
na ja, ich habe ja die Änderung der Mehrwertssteuer bewusst nicht unter Wartung sondern unter Pflege eingeordnet und gebe dir um übrigen zu diesem Punkt auch vollkommen Recht, es ist eine Änderung der nicht-funktionellen(!) Anforderung und daher keine Wartung sondern Pflege.
Das ist auch genau der Punkt, in dem ich mit Björn nicht einverstanden bin: Er differenziert da nicht zwischen Wartung und Pflege.
Ansonsten ist es, wie du auch schon korrekt bemerkt hast, so, dass der Begriff im Kontext von Software nicht wirklich semantisch äquivalent ist, zu den Begriffen aus dem ingenieurwesen. Dies liegt IMHO daran, dass der Begriff "maintenance" schlecht aus dem Englischen übersetzt wurde - wie leider so oft im Computersektor (vgl. "personal Computer" <-> "Personal Copmuter" <-> "persönlicher Computer"). Eine Übersetzung mit "Nachsorge" oder "Instandhaltung" wäre wohl besser gewesen.
Viele Grüße aus Karlsruhe,
Marcel
Anforderungen...
stimme Dir soweit zu.
Aber:
> es ist eine Änderung der nicht-funktionellen(!) Anforderung...
Natürlich handelt es sich beim Thema Mehrwertsteuer um eine FUNKTIONALE Anforderung.
Siehe hierzu auch: http://de.wikipedia.org/wiki/Anforderung_(Informatik)
Anforderungen...
> Natürlich handelt es sich beim Thema Mehrwertsteuer um eine FUNKTIONALE Anforderung.
Nun, laut Balzert gehören "politische und kulturelle" Anforderungen (wie z.B. Steuern oder sonstige Gesetze) zum nicht Funktionalen Bereich (steht übrigens auch in dem Wikipedia Artikel so drin). Wenn du möchtest, krame ich dir mal unsere Softwaretechnik-Folien zu dem Thema raus.
Viele Grüße,
Marcel
Ansichtssache...
2. Die Bücher von Balzert fand ich noch nie besonders doll (und die von Heide Balzert überigens auch nicht). - Schon wieder Ansichtssache.
3. Für mich ist das eine funktionale Anforderung, weil sie fachlichen Ursprung hat, vom Kunden bzw. in diesem Fall vom Gesetz vorgegeben ist und es sich um keine technisch begründete Anfoderung (Antwortzeitverhalten etc.) handelt.
4. Politisch/Kulturell: Das wäre für mich was ganz anderes: z. B. eine andere Benutzungsphilosophie in asiatischen Ländern u. ä.
Ansonsten möchte ich auf deinen Punkt 1. verweisen, und vorschlagen, dass wir es mit der Diskussion dabei belassen.
Viele Grüße,
Marcel
@Marcel:
Leider nur Theorie...
Leider ist das eben nicht so. Software wie zum Beispiel ein "richtiges" RDBMS mit ihren hunderten von Konfigurationsparametern ist mittlerweile so komplex, daß eben genau NICHT alle Kunden gleichermaßen betroffen sind, sondern wir mehr und mehr mit Einzelfällen konfrontiert werden und oft die sprichwörtliche Nadel im Heuhaufen suchen.
Gruß von einem der das schon ein paar Tage länger macht ;-)
lol ;-)
Eigentlich sollen Softwarewartungsvertraege doch eher die Lieferung von Updates sicherstellen, und nicht selten gibt es dabei einen echten Mehrwert fuer den Kunden, zum Beispiel verbesserte Performance in der neuen Version. Bugfixes sollten eine Selbstverstaendlichkeit und kostenlos verfuegbar sein.
@virtualmono
Das lol bezog sich nicht auf irgendwelche Inhalte sondern ausschließlich auf den Satz: Gruß von einem der das schon ein paar Tage länger macht.
Und nun kommen wir endgültig zu theoretischer Haarspalterei: Ob die Änderung der Mehrwertsteuer letztlich programmtechnisch, per Setup-Einstellung, Customizing (SAP - lol) oder sonstwie erfolgt, spielt für die (theoretische) Klassifizierung der Anforderung keinerlei Rolle.
Es wäre wohl besser gewesen hier ein anderes, eher funktionales, Beispiel zu nehmen, statt einer Parameteränderung.
Jetzt solls aber gut sein! - So spannend ist das Thema nun auch nicht und ich muss mein nächstes Posting zu Mitarbeiterführung vorbereiten.
Viele Grüße,
Ulli