Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#49

AW: Verwaister und undokumentierter Bestandscode - was tun?

  Alt 11. Dez 2017, 08:57
Das Thema Altlasten scheint ja nicht unproblematisch zu sein.
Sehr diplomatisch ausgedrückt

IMHO ist das Thema Software Lifecycle sehr schwierig. Selbst Milliardenkonzerne wie Microsoft können da auf die Nase fallen. Siehe Windows. Je älter das Produkt wird, umso häufiger scheinen Major-Releases zu floppen.

Ein Paradebeispiel sind eigentlich die Webbrowser. Man schaue sich die ganze Geschichte mal an:

Am Anfang war der Mosaic. Ein sperriges Stück Software, entsprungen aus den Untiefen elitärer akademischer Umgebungen. Es kam der Netscape Navigator mit einer hübschen Oberfläche, die jeder bedienen konnte. Aus wars mit Mosaic im breiten Feldeinsatz. Netscape wurde älter und fetter.

Es kam der IE mit vielen proprietären Non-Standard-Extensions wie z.B. Blinke- und Marquee-Text-Effekten. Das Web wurde schrecklich "zappelig" weil alle Webdesigner die lustigen Effekte des IE einsetzten. Der Netscape zeigte dagegen standardkonforme Langeweile an und verschwand bald in der Versenkung, während der IE einen Marktanteil von 96% hatte und älter und fetter wurde.

Es kam der Firefox. Genauso kostenlos wie der IE, definitiv schneller und frei vom faden Beigeschmack des "Big Brother" aus Redmond. Außerdem mit der cleveren Idee des Addon-Store. Der FF näherte sich 80% Marktanteil. Während im Hintergrund Google mit einer gigantischen Marketingmaschinerie den neuen Chrome-Browser in Position brachte, der unter der Haube mit diversen wilden Hacks "glänzte", verstrickte sich Mozilla in endlosen Diskussionen um die Schönheit des Codes. Chrome legte eine JS-Performance an den Tag, da konnte FF nur mit den Ohren wackeln. Es kam wie es kommen musste: Firefox wurde älter und fetter, Chrome dagegen hatte einen Marktanteil von über 60%.

Nun versuchen Microsoft mit Edge und Mozilla mit Firefox 57 wieder gegen zu steuern. Dabei werden ganz verschiedene Strategien verfolgt:
Microsoft nimmt die alte IE-Trident-Engine, stülpt eine mehr oder weniger hübsche neue Oberfläche ("Hausmeinung" bei Microsoft) drüber und wirft ein paar überkommene Altlasten raus. Beim ersten Release von Edge schauten sich alle an und fragten sich: Was zur Hölle soll der Blödsinn? Aus Nutzersicht konnte der Browser nicht mal die Hälfte dessen, was Firefox und Chrome konnten. Er war instabil, beherrschte nicht mal die Fähigkeit, Lesezeichen zu speichern und sah zudem auch noch mit der unbeliebten Metro-ModernUI-Oberfläche potthässlich aus. Man konfrontiert den Nutzer defakto mit einem völlig neuen Programm, anderem Aussehen und neuem Namen. Was soll ich sagen? Marktanteil 3,5% Stand heute.

Mozilla dagegen geht mit Firefox 57 einen gänzlich anderen Weg. Man modernisiert und modularisiert das Innenleben des Browsers und der Engine im Hintergrund schon seit langer Zeit. Teile der Neuentwicklungen sind bereits seit Firefox 53 eingeflossen. Mit Version 57 dann der große Wurf mitsamt neuer Oberfläche und neuen Schnittstellen. Ein ganzer Haufen veralteter Addons fliegt raus, weil nicht mehr supportete Schnittstellen genutzt werden. Ausgerollt wird das Update im normalen Service-Pfad als schlichtes Service-Update "getarnt". Marktanteil 23% Stand heute.

Chrome steht übrigens aktuell bei 35%. Die Statistiken sind hier entnommen.

Was lernen wir daraus? Software hat viel mit Psychologie zu tun. Der Nutzer will ein stabiles Programm, ohne sich ständig an neue Bedienweisen, Mauspfade und UI-Layouts gewöhnen zu müssen. Stetige kleine Veränderungen mit positiven Auswirkungen werden mehr goutiert als Knall-auf-Fall-Veränderungen. Deshalb ist die stetige Pflege von Bestandscode aus marktstrategischer Sicht die klügere weil wirtschaftlichere Vorgehensweise.

Neuentwicklungen sind zweifelsohne der einfachere Weg aus Sicht des Entwicklers. Doch was nützt einem das, wenn der Anwender am Tag X die Wahl hat, sich an ein völlig verändertes Programm von Anbieter A zu gewöhnen oder stattdessen sich in ein gleich teures, aber mit mehr Features versehenes Programm von Anbieter B einzuarbeiten. Wenn man als Anwender so oder so neu lernen muss, dann nimmt man doch zumindest die Kiste, wo die süßeren Äpfel drin sind.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (11. Dez 2017 um 09:00 Uhr)
  Mit Zitat antworten Zitat