Ich arbeite für eine Softwareentwicklungsfirma, bei der die Entwicklungsarbeit auf uns verlagert wurde. Das On-Shore-Team kümmert sich um den Support und spricht direkt mit den Kunden. Wir sprechen nie direkt mit den Kunden, sondern nur mit Leuten aus dem On-Shore-Team, die direkt mit den Kunden sprechen.
Wenn Anforderungen kommen, spricht das On-Shore-Team mit den Kunden, erstellt Anforderungsdokumente und informiert uns. Wir erstellen Entwurfsunterlagen, nachdem wir die Anforderungen untersucht haben (wir folgen dem traditionellen Wasserfallmodell).
Es gibt jedoch ein Problem im gesamten Prozess: Niemand im Offshore- oder Onshore-Team versteht die Funktionalität der Anwendung vollständig. Wir wissen nur, dass es sich um eine große komplexe Web-App handelt, die komplexe Auftragsabwicklung, Katalogverwaltung, Kampagnenverwaltung und andere Aktivitäten abwickelt. Wir haben Probleme mit dem Designdokument, da die Anforderungen nicht klar wären. Anschließend wird eine Reihe von Fragen / Antworten zwischen dem On-Shore-Team, dem Off-Shore-Team und den Kunden gestellt. Wir werden oft aufgefordert, die Funktionalität anhand des Codes zu verstehen. Dies ist jedoch normalerweise nicht möglich, da die Codebasis sehr groß ist und das Verstehen eines einfachen Menüelements Tage, wenn nicht Wochen dauert. Wir haben versucht, den Kunden zu sagen, dass sie uns Wissenstransfer geben sollenüber die Anwendung, aber ohne Erfolg. Unser Manager hat uns oft angewiesen, mit dem Codieren zu beginnen, selbst wenn das Designdokument nicht vollständig ist oder die Anforderungen nicht klar sind. Wir würden zunächst den Teil der Anforderungen codieren, der klar erscheint, und auf den Rest warten.
Dies würde die Bereitstellung normalerweise um einen Monat verzögern. In extremen Fällen hätten wir sehr geringe Fehler in der Entwicklung und Produktion, aber die Kunden würden sagen, dass dies nicht das ist, was sie gefragt haben. Das würde ein Schuldspiel und eine Reihe von Änderungswünschen auslösen und wir würden am Ende etwas ganz anderes entwickeln.
Meine Frage ist, wie würden Sie Entwicklungsarbeit leisten, wenn Sie die Funktionalität der App nicht vollständig kennen?
AKTUALISIEREN
Die Entwicklungsmethode ist nicht wirklich meine Wahl und ich bin nicht der Leiter meines Teams. So hat es begonnen. Ich habe versucht, den Leuten von den Vorteilen von Agilität zu erzählen, aber ohne Erfolg. Außerdem glaube ich nicht, dass mein Team die notwendige Einstellung hat, um in einer agilen Umgebung zu arbeiten.