Ich fühle deinen Schmerz....
Die schlechte Nachricht ist: Abhängig davon, mit welcher Art von Kunden Sie gerade zu tun haben, kann dies das übliche Geschäft sein.
Ein allgemeines Problem ist grundsätzlich, dass Kunden nicht wissen, was sie wollen . Sie wissen normalerweise, was sie in Bezug auf ein Geschäftsziel erreichen möchten, aber sie wissen oft nicht, wie es in Bezug auf die Softwarelösung aussehen soll. In vielen Fällen befinden Sie sich also in diesem iterativen Zyklus, in dem ein Projekt fünfmal so lange hin und her springt wie die ursprüngliche Schätzung, da der Kunde ständig seine Meinung ändert und eine Optimierung und Neuoptimierung der Lösung wünscht. Und ja, es ist nicht ungewöhnlich, dass sich das Endergebnis in etwas völlig anderes verwandelt als das ursprüngliche Ziel.
Ich hatte vor ein paar Jahren ein episches Beispiel dafür - ein Projekt, das ursprünglich 10 Wochen brauchte, um Code zu erstellen, verwandelte sich in eine 15-monatige Wiederholung. In diesem Fall lag es hauptsächlich daran, dass verschiedene Manager und Abteilungen des Kundenunternehmens unterschiedliche Anforderungen stellten. Sie schickten die Arbeit immer wieder zurück, um sie zu optimieren und erneut zu optimieren (unsere Software basiert auf Abonnements, und dies war ein wichtiger Kunde.) war keine finanzielle Belastung für uns - nur ein großer technischer Ärger wirklich).
Mein Rat lautet also im Grunde:
Wenn dies die Art und Weise ist, wie Ihre Branche und diese Kunden sind (das ist ein großer WENN), dann gewöhnen Sie sich einfach daran. Stellen Sie es sich als einen agilen, wartungsorientierten Job vor (so ist mein aktueller Auftritt mehr oder weniger). :)
Wenn dies nicht die Art und Weise ist, wie die Dinge getan werden sollen, und Sie die Schuld für die langen Umwege auf sich ziehen, dann sprechen Sie mit Ihren Vorgesetzten. Erklären Sie ihnen, dass es Kommunikationsprobleme gibt und dass die Spezifikationen, die Sie von den Kunden erhalten, nicht klar genug sind, um die gewünschte Lösung zu implementieren. Sie möchten sich nicht in einer Situation wiederfinden, in der Sie die Schuld dafür tragen, dass Sie den Kunden nicht das geben, was sie wollen, wenn Sie nicht alle erforderlichen Informationen erhalten, um ihnen das zu geben, was sie wollen.