Die Diskussionen zum Thema Change Request reissen nicht ab. Hilfe ist nicht in Sicht, oder doch?

Die Szenarien ähneln sich. Der Kunde ruft den Softwareentwickler an und erklärt diesem, dass er bei bei der Anmeldung auf seinem Portal gerne noch eine Checkbox für die Newsletter-Anmeldung haben möchte. Der Entwickler, weitsichtig wie er ist fragt, was denn mit der Information geschehen soll. „Wir benötigen dies nur als reine Information in der E-Mail, die wir bei jeder Anmeldung erhalten“, antwortet der Kunde schnell und gibt noch den freundlichen Hinweis, dass man es nicht zu komplex und vor allem nicht zu teuer machen soll.

Der Softwareentwickler baut die Checkbox ohne Plausibilitätsprüfungen ein und erweitert die E-Mail Daten um die Information, ob der Newsletter nun erwünscht ist oder nicht. Der Aufwand war gering und das neue Szenario ist sofort live geschaltet worden.

Ein Traum von einem Change-Request? Nein sicherlich nicht, denn zwei Wochen später meldet sich der Kunde und möchte eine Liste aller Newsletter-Abonnenten und fragt freundlich, ob man diese gleich als Excel-Liste haben könnte. Weiterhin hatte sich ein Portal-Benutzer beschwert, dass er sich nicht vom Newsletter abmelden kann. Als er erfährt, dass die Daten nicht gespeichert werden, sondern nur als E-Mail versendet werden ist der Kunden enttäuscht und erzählt dem Entwickler etwas von „Selbstverständlichkeitsanforderungen“.

Nach kurzer Abklärung des Falls und der Definition des „richtigen“ Vorgehens erhält der Kunde eine Aufwandsschätzung, die deutlich weitsichtiger aber auch deutlich höher ist, denn trotzdem es sich nur um eine „einfache“ Checkbox handelt sind die Auswirkungen weitreichend. Das Datenmodell ändert sich, die ORM Modelle werden angepasst, es ist eine Exportfunktion geplant und es soll eine Abmeldefunktion mit Double-Opt-In Verifizierung programmiert werden. Unit-Tests werden geändert bzw. neu geschrieben. Weiterhin muss die Dokumentation des System auf den neusten Stand gebracht werden.

Das hätte man von Anfang an machen sollen, lautet es unisono aus beiden Lagern, aber wo lag das Problem? Hätte der Kunde seine Geschäftsprozesse besser durchdenken müssen, bevor er die Anforderung artikuliert hat oder hätte der Entwickler als IT-Berater ihn aktiv auf die Probleme hinweisen müssen? Sicherlich ist beides richtig. Change Requests sind tiefe Eingriffe in ein Software-System und keine kleinen Änderungen. Am besten hilft immer noch: Miteinander reden und zuhören!