Aufräumen – Das muss ab und zu sein

Standard
Was sich so im Laufe der Jahre, manchmal in der hintersten Ecke über Jahrzehnte ansammelt ist gigantisch. Ab und zu wird ausgemistet. Aber vielleicht kann man das noch brauchen, oder das und schwups, schon liegen die Sachen noch ein paar Jahre in der Gegend rum. Solange bis eine unserer Damen im Sekretariat meint, jetzt reichts mal wieder, wir kommen nicht mehr zu unserem Plotter und Schneidetisch durch. Ausmisten ist angesagt.
IMG_20150819_094721Vor allen Dingen, stelle man nie etwas in den Keller. Nur so, kurz zum Zwischenlagern. Es wird in Vergessenheit geraten. Spinnweben werden sich darüber spannen. Und irgendwann. Oh, da gibt es ja noch mehr Müll zum Entsorgen.

IMG_20150819_094941

Advertisements

Über die Kunst Software anwendergerecht zu testen

Standard
Es gibt sie, die Anwender mit den „goldenen“ Fingern. Alles ist fertig. Die Software ist getestet und abgenommen. Dann passiert’s. Die Anwender klagen über Fehler. Der Kundenbetreuer ist verzweifelt, der Projektleiter wütend über die Entwickler, die Entwickler verstehen das nicht. Geht doch alles.
Woran liegt’s, das ist hier die Frage.
Oder doch nicht? Lag’s nur am Softwareerstellungsprozess?
Muss: der Anwender-Stakeholder beschreibt vor Beginn der Implementierung zusammen mit dem Softwareprojektleiter was rauskommen soll. D.h., Anwenderprozess, Use cases. Was soll an Bedienung möglich sein, was nicht. Der Softwareprojektleiter achtet auf das „Außenherum“ und macht den Stakeholder auf Abhängigkeiten und Einschränkungen aufmerksam.
Muss: der Softwareprojektleiter gibt dem Entwickler die Beschreibung weiter, ergänzt und erläutert diese. Weißt auf Abhängigkeiten hin. Prüft, ob der Entwickler das verstanden hat. Er definiert Tests, die eine Verifikation der Realisierung der neuen Anforderung zulassen.
Muss: Code review mit einem erfahrenen Entwickler. Der Ersteller des neuen Codes erklärt, was dieser tun soll.
No go: der Entwickler checkt sein Werk ein. Es compiliert ja.
Muss: der Entwickler testet, dass das, was er entwickelt hat, prinzipiell geht.
Herausforderung: Automatisierung von Tests zur Minimierung des Aufwandes und für Nachvollziehbarkeit. Interne Algorithmik gerne mit Unit Tests. Die müssen allerdings vor der Implementierung geschrieben sein und auch verifiziert werden. Sonst nutzen sie dem Entwickler nichts. Anwenderprozesse, schwierig. Aufgezeichnet über Makros. Zwar nachvollziehbar, aber sie können nicht die Umgebung und die Kreativität von Anwendern abbilden. Daher aufwendig und weniger brauchbar.
No go: nur der Entwickler testet. Denn, der weiß, welche Algorithmik er programmiert hat und deshalb testet er nur auch den Weg, der funktioniert.
Muss: Test durch einen Softwaretester. Der Projektleiter erklärt die Anforderung und die Use Cases, sowie die Abhängigkeiten und in welchen Prozess beim Kunden das Ganze eingebettet ist. Ebenso übergibt er die Liste der definierten Tests. Der Softwaretester verifiziert an Hand der Tests und muss dann in einem begrenzten Zeitraum versuchen, mögliches und unmögliches zu tun, um Fehler zu provozieren. Alles sollte nachvollziehbar dokumentiert werden.
No go: Damit wird die Software für die produktive Umgebung freigegeben.
Muss: Anwendertest mit echten Endkundenanwendern auf einem Testsystem. Beurteilung der Bedienbarkeit und testen durch ganz normales Arbeiten.
No go: Anwender testen nicht, weil zu mühsam, keine Zeit, keine Lust, eh unnötig.
Muss: alle Beteiligen (Stakeholder, testende Key User, Projektleiter Softwaretester) müssen aus ihrer Sicht das Go geben.
Ergebnis: einen Monat später Fehlermeldung durch Anwender im fernen Timbuktu. Feststellung Daten korrupt. Nicht erklärbar, oder doch. Andere Länder, andere Denkweisen. Wurde leider nicht in den Key User Test einbezogen. Hat ganz andere Vorgehensweise. Wurde im Test nie überprüft und genau da sitzt der Bug.

Zitat der Woche

Standard
Ein Problem ist halb gelöst, wenn es klar formuliert ist.
John Dewey
Aber erst muss es einmal formuliert werden. Davor scheuen die meisten Menschen zurück bzw. sie sehen zu viele Bäume und nicht den Wald.

Das Gefühl habe ich auch – Zitat der Woche

Standard
Der Computer wurde zur Lösung von Problemen erfunden, die es früher nicht gab.
Bill Gates

 

Zu der Feststellung komme ich auch immer wieder. Wie hat das Leben früher ohne Computer nur funktionieren können. Aber eins steht fest: wir sind schon an dem Punkt angelangt, an dem die Menschen ohne Computer nicht mehr überleben können.