Agile Entwicklung oder streng nach Pflichtenheft

Am Anfang steht das Gespräch

Der Klassiker: Kunde hat eine Software und benötigt eine neue. Wie soll die funktionieren? Natürlich so wie die Alte!
Abläufe werden als gegeben hingenommen und nicht hinterfragt. Optimierungspotential bleibt unausgeschöpft.

Ein Beispiel aus der Praxis

Der Kunde hat rund 50 Filialen verteilt über Deutschland. Der Einkauf ist zentral geregelt. Benötigt eine Filiale etwas, bestellt sie den Artikel per Mail beim Einkauf. Bei einem Warenwert über 400EUR benötigt der Einkauf eine Freigabe des Vorgesetzten, ab 1.000 EUR zusätzlich von der Filialleitung. Diese erfolgt per Laufzettel/Post.
Die neue Software soll den Einkauf aus Outlook in unsere Software verlagern. Was benötigt man? Für unseren Kunden eine einfache Sache: natürlich braucht die Software eine Funktion um den Laufzettel als PDF zu generieren. Aber bitte mit vorausgefüllten Daten, man will das in Zukunft nicht mehr von Hand machen müssen - die neuen Software soll ja Zeit sparen!

Wirklich?!

Intern sind manche Prozesse bereits seit vielen Jahren/Jahrzehnten so festgefahren, daß Sie manchmal nicht mehr hinterfragt werden. Für uns stand jedefalls schnell fest, daß man sich den Laufzettel sparen und statt dessen die Freigabe nach dem 4 Augen-Prinzip direkt in der Software erledigen kann.
Kein Ausdrucken von Angeboten, keine Laufzettel per Post quer durch dei Republik. Die Anfrage kommt per Mail, der Freigebende klickt einen Link an, sieht alles zu der Bestellung was er wissen muss und gibt frei. Statt 3-4 Werktage auf den Laufzettel zu warten, kann der Einkauf sofort die Bestellung bearbeiten.

Am besten ein Praktikum machen

Gerade bei größeren Programmen wäre es manchmal tatsächlich sinnvoll, erst mal ein paar Wochen lang ein Praktikum im Betrieb des Kunden zu absolvieren, um die internen Abläufe wirklich zu verstehen.
Leider ist das in der Regel nicht möglich; darum ist es um so wichtiger, daß in der Planungsphase, aber auch während der Programmierung die richtigen Fragen gestellt werden und gut zugehört wird.
Natürlich arbeiten wir hin und wieder nach einem im Vorfeld vom Kunden eingereichten Pflichtenheft - hier haben wir auch schon wirklich gute gesehen, wo es kaum Rückfragen gibt und man praktisch 1:1 den Anforderungskatalog nachprogrammieren kann.
Meistens sieht es aber anders aus.

Entwicklung ist ein Prozess

Nicht umsonst heißt es eine Software entwickeln. Die meisten unserer Kunden kommen mit einer mehr oder minder genauen Vorstellung was das Programm können soll, aber Details und Zusammenhänge sind dann noch nicht bedacht.
"Aber was wenn..." ist eine häufige Frage unsererseits und leider werden einfache Sachen dann manchmal doch komplizierter als ursprünglich gedacht.
Insbesondere bei angebotsbasierten Auftrgägen ist es für uns wichtig, daß wir im Vorfeld alle möglichen Probleme finden, nur so können wir sauber kalkulieren und Ihnen ein verbindliches Angebot erstellen. Sofern sich dann im Projektverlauf keine Anforderungen ändern, ändert sich dann auch nichts mehr am Preis.

Stichwort Preis: Preise und Lizenzbestimmungen

Agile Softwareentwicklung

...mehr als nur ein Buzzword für die Google-Suche

Mit langjährigen Kunden arbeiten wir in der Regel "auf Zuruf" zusammen. Da reicht im Vorfeld eine grobe Aufwandsabschätzung per Mail, oft nicht mal das. Der Kunde schildert das Problem, wir machen Lösungsvorschläge und setzen diese dann um.
Dabei ändern sich im Verlauf des Projektes häufig die Anforderungen, weshalb es um so wichtiger ist, daß man sich regelmäßig abspricht.
Darum hier eine schlechte Nachricht für Sie: Wenn Sie uns einen Auftrag geben, müssen Sie in Folge etwas Zeit mitbringen. Es funktioniert leider nur selten, daß Sie sagen was Sie wollen, wir programmieren und nach 4 Wochen erhalten Sie ein fertiges Programm. Das geht nach unseren Erfahrungen, zumindest ohne das perfekte Pflichtenheft, schief. Wir setzen bei der agilen Entwicklung nicht auf Scrum, das ist für unseren Geschmack zu unflexibel, dennoch wollen wir regelmäßig Feedback von unseren Kunden, damit am Ende alles so läuft wie es soll. Manchmal haben wir Ideen, manchmal Sie, oft sind einfach manche Sachen noch nicht detailiert besprochen gewesen, oder Fragen tauchen erst im Verlauf des Projektes auf. Darum ist es für uns wichtig, daß wir am besten einen festen Ansprechpartner mit Überblick über das Gesamt-Projekt haben, der im Zweifel Dinge entscheiden kann.
In unserer Softwareplattform haben wir einen integrierten Bug & Feature-Tracker in Form eines Kanban-Boards, auf dem für alle geplanten Features, Änderungswünsche und auch mal Fehler, ein Ticket eröffnet werden kann. So sehen Sie als Kunde immer an was wir gerade arbeiten, können Prioritäten für die einzelnen Tickets ändern und einfach den Überblick bewahren.

Screenshot des Ticketsystems

Ticket lassen sich einfach per Drag'n'Drop verschieben. Aufgaben lassen sich direkt einfügen/ändern, zuweisen, etc.
Über die Benachrichtgungseinstellungen kann man regeln, unter welchen Umständen man über Änderungen an Tickets informiert werden möchte.
Im Ticket kann man sich über das Ticket unterhalten und Dateien dazu hochladen - so findet man alles dort, wo man es braucht...

Ein Ticket ist gut, persönlich ist besser

Natürlich ersetzt so ein Ticket nur selten das persönliche Telefonat. Was aber nicht direkt während, oder im Anschluss an das Telefonat erledigt werden kann, wird von uns als Ticket eingestellt, so geht nichts verloren und alles ist dokumentiert.