Letzten Dienstag und Mittwoch fand in Baden-Baden die
Prioconference (s.
www.PrioConference.de)
mit dem Thema Softwarequalität statt.
Ich hatte das Glück dort anwesend und somit auch die
Vorträge hören zu können.
Interessant ist die Idee der PrioConference. Es geht dort
nicht um die reine Verwendung einer Technologie, wie es zumeist bei anderen Konferenzen der
Fall ist. Sondern viel mehr um generelle Themen, welche meinem Gefühl nach
beider Alltäglichen Softwareentwicklung zu oft zu kurz kommen.
So findet man Themen wie „Useability Engineering“ , „Von der
Idee bis zur Implementierung“ ,“Production Debugging“ oder sogar „Soft Skills“
im Vortragsplan.
Abgerundet wurde das Programm durch Erfahrungsberichte zu
Softwarequalität, wie man diese erreicht und hält, von Firmen / Entwicklerteams
wie Vanatec, sharpDevelop usw….
Viele der Sessions wären auch für Entwickler geeignet gewesen ohne C# oder .NET zu kennen.
Das begründet sich in der Art der Vorträge, welche sich mehr auf generische
Sachverhalte bezogen die auf nahezu alle Entwicklungsumgebunden übertragbar
waren.
Trotz des eher Theoretischen Inhalts waren, meinem Gefühl
nach, die meisten Themen auf das tägliche Arbeiten übertragbar. So konnte man einige Impulse und Anregungen
für Optimierungen des täglichen Arbeitens mitnehmen.
Insgesamt drängten sich mit in den Tagen nach der Konferenz
jedoch einige Frage auf, deren Beantwortung mir nicht leicht fällt.
Je mehr man sich mit Softwarequalität beschäftigt umso mehr
kommt man meiner Meinung nach zu dem Schluss, dass Softwarequalität direkte Auswirkungen
auf Stabilität, Flexibilität und fotlaufende Entwicklungsdauer für
Erweiterungen und Bugfixes hat.
Insofern müsste doch bei jedem Softwareentwickler einer „großen“
Software doch die Softwarequalität eine
besonders große Priorität haben. Gerade
weil uns das .NET Framework immer größere Möglichkeiten bietet (z.bsp. WF &
WPF) werden sich doch die angebotene
Software immer weniger durch extra Funktionalität als viel mehr durch Stabilität,
Erweiterbarkeit und Usability unterscheiden.
Wann dann die eigene Struktur der Software nicht mehr
tragfähig oder Flexibel genug ist ist bleibt die Frage wie man sich von anderen
konkurierenden Produkten abheben kann.
Ist dann die eigene Anwendung noch Buggy so wird man wohl
nicht lange bestehen können.
Im krassen gegensatz dazu steht aber meine Erfahrungen aus
dem Internet. So werde ich viel häufiger gefragt wie man X,Y in der .NET Syntax
implementieren kann als „Was wären denn logische Strukturen für meine Anwendung“.
Schaut man sich die Webcasts beim MSDN Webcast Finder an so findet man hundere
Webcasts zu verschiedensten Klassen & Namespaces im .NET Framework aber
kaum etwas über Softwarearchitektur oder nur wenig zu Unittests.
MSDN Solve bietet wenigstens ein paar Webcasts zu Software Patterns
aber auch das ist wohl eher nur ein Tropfen auf den heißen Stein.
Ich frage mich wieso ist das so ? Ist Softwarequalität eine
theoretisch tolle und notwendige Sache ,die aber in der Praxis auf Grund
Knapper Budgetpläne immer gekürzt wird?
Auch wenn das Bedeutet dass Nachfolgende Entwicklungen immer teurer
werden, da die Software nicht stabil oder die Struktur zu inflexibel ist ? z.Bsp.
habe ich bis jetzt nur sehr selten von jemanden gehört, der Konsequent Refactoring
Pausen durchgezogen hat
Wie sind eure Erfahrungen und Meinungen zu dem Thema?