Eine Art Ja / Nein-Frage und warum?
Ist es die Verantwortung des Softwareentwicklers, zu verstehen, was der Kunde mit seiner Anfrage gemeint hat, oder ist es die Verantwortung des Kunden, seine Anfrage dem Entwickler richtig zu erklären?
Die Situation bei der Arbeit ist derzeit "der Kunde hat uns bereits erklärt, was er will. Es liegt in Ihrer Verantwortung, die Anfrage zu verstehen, nicht mehr Fragen zu stellen".
Obwohl Englisch nicht meine Stärke ist, sind alle Anfragen in obskurem Englisch mit falsch platzierten Wörtern und schwer zu verstehenden Sätzen verfasst. Einige Anfragen setzen mein vorheriges Verständnis des Systems voraus.
Ich bin der 3. oder 4. Entwickler des Systems (die letzten Entwickler haben den Job gekündigt), und dies könnte der Grund sein, warum der Kunde von der Entwicklerseite Verständnis erwartet.
Das System selbst ist sowohl in der Benutzeroberfläche als auch auf der Quellcode-Ebene ziemlich unordentlich. Dies sieht aus, als würde ein Affe für mich den Code verschlüsseln. Ich hoffe, Sie erhalten die richtige Anfrage, verstehen die Anfrage aber nicht wirklich.
Eigentlich denke ich darüber nach, den Job zu kündigen, habe es aber noch nicht getan, da ich mir nicht sicher bin, wer Recht und wer Unrecht hat.
quelle
Antworten:
Wenn es Ihre Aufgabe ist, zu verstehen, ist es Ihre Aufgabe, Fragen zu stellen, bis Sie dies tun
Die Person, die Sie fragen, ist möglicherweise jemand, der nicht der Kunde ist (ich habe oft mit einem Vermittler gesprochen, der mit dem Kunden in Kontakt stand). Daher sollten diejenigen, die Ihnen verbieten, mit dem Kunden zu sprechen, die Fragen selbst beantworten oder an Sie verweisen Jemand, der kann.
Aber am Ende muss es EINIGE Arten von Kommunikation geben. Wenn sie es ablehnen (und das Bereitstellen einiger Dokumente, die Sie nicht verstehen, die Kommunikation effektiv verweigert), sollten Sie wie Ihre Vorgänger vorgehen: schnell weglaufen.
quelle
Wenn Ihre Kunden und Vorgesetzten Ihnen eine chaotische Spur hinterlassen, können Sie nur so viel Sinn wie möglich aus Ihren Vorstellungen gewinnen und beginnen, Szenarien in einfachem Englisch zu schreiben, um zu strukturieren, welches Wissen über die System soll sich verhalten.
Gegebene / Wann / Dann- Szenarien ermöglichen es Ihnen, detailliert zu erfahren, was geschehen muss. Da sie in einfachem Englisch verfasst und strukturiert sind, können Sie sie verwenden, um Ihrem Vorgesetzten und Kunden mitzuteilen: "Hören Sie, Ich bin an diesem Punkt angelangt und habe keine Ahnung, was das System hier tun soll ".
Wenn Sie sich einfach gescheut haben, wenn Sie um zusätzliche Klärung gebeten haben, obwohl Sie sich bemüht haben, alles zu dokumentieren, was Sie tun und nicht verstehen, dann haben die vorherigen Entwickler versagt, nicht weil sie nicht wussten, wie die Spezifikationen kommuniziert werden sollen, sondern weil das ist unmöglich.
quelle
Meiner Meinung nach müssen sowohl Kunde als auch Entwickler das Problem und seine Lösung gleich verstehen.
Wenn Sie die Anfrage nicht verstehen, können Sie die Lösung nicht erstellen.
Sie müssen also die technischen Daten lesen. Wenn die Spezifikation nicht klar genug ist (oder es keine schriftliche Spezifikation gibt), sollte es jemanden geben, der die Antworten geben kann.
Ich arbeite in Teams mit einer Person, die die geschäftlichen Fragen beantworten kann. Dieser Geschäftsinhaber ist entweder ein Mitglied der Entwicklungsfirma, für die ich arbeite und die das Kundengeschäft kennt, oder ein Mitglied des Kundenteams.
quelle
Anscheinend befürchtet der Projektmanager in Ihrer spezifischen Situation, dass der Kunde verärgert ist, wenn ihm dieselben Fragen mehrmals gestellt werden (aufgrund des Entwicklerumsatzes erforderlich), und dass dies ihn und sein Unternehmen schlecht widerspiegelt.
Wenn Sie diese Fragen nicht stellen, dauert es natürlich viel länger, das System zu vervollständigen / zu modifizieren, und es kann sein, dass das Ergebnis nicht den Wünschen des Kunden entspricht, was zu weiteren Verzögerungen führt und AUCH den Projektmanager und seine Mitarbeiter schlecht berücksichtigt Unternehmen, zumindest in den Augen des Kunden.
Es gibt einige Gründe, warum der Projektmanager Sie möglicherweise keine Fragen stellen lässt:
IMO Grund 2 ist unwahrscheinlich. Um Grund 1 zu beseitigen, versuchen Sie, ihm die Alternativen zu erklären, und bitten Sie ihn, eine explizite Wahl zwischen ihnen zu treffen - schlagen Sie vor, dem Kunden das Problem zu erklären, um den Ärger zu verringern. Um Grund 3 zu beseitigen, sollten Sie dies schriftlich tun, damit Sie nachweisen können, dass Sie potenzielle Probleme frühzeitig erkannt und versucht haben, diese zu beheben. Aber um ehrlich zu sein, wenn Sie vermuten, dass dies notwendig ist, sollten Sie wahrscheinlich so schnell wie möglich da raus.
quelle
Ich denke, es liegt immer in der Verantwortung des Dienstleisters, sicherzustellen, dass er die Absichten des Kunden verstanden hat.
Als Experten auf unserem Gebiet ist es nicht nur unsere Aufgabe, Schriftsätze auszufüllen, sondern unsere Kunden durch den Prozess der Nutzung unseres Service zu führen. Dazu müssen sie über die Möglichkeiten informiert werden, die wir bieten, und darüber, was wir jetzt tun.
Ich glaube, ein kundenorientierter Ansatz ist absolut die richtige Vorgehensweise. Es ist ein bewährtes Geschäftsmodell.
quelle
Der Kunde und die Entwickler müssen zusammenarbeiten, um ihr Verständnis des Systems zu verfeinern.
Das Softwareunternehmen muss mit dem Kunden eine Vereinbarung darüber treffen, was von jeder Partei verlangt wird, das ist der grundlegende Aspekt eines Vertrags. Wenn es keine "Begegnung" gibt, dann gibt es im wahrsten Sinne des Wortes keinen Vertrag.
Angenommen, Sie sind ein kompetenter Programmierer, und wenn die Spezifikation nicht klar ist, wird Ihnen lediglich gesagt: "Es liegt in Ihrer Verantwortung, die Anfrage zu verstehen, nicht mehr Fragen zu stellen".
quelle
Dies basiert auf einigen neuen Informationen in Kommentaren zur ursprünglichen Frage.
Die Aussage, dass
kommt vom Projektleiter; das erklärte Grundprinzip ist
Was Sie also ausdrücklich vermeiden sollen, ist , den Kunden mit Fragen zu belästigen .
Es ist nicht unbedingt unvernünftig, Sie zu bitten, "zusätzliche Zeit mit der Interpretation der Frage zu verbringen". Sie sollten sich zumutbar oder vielleicht sogar ein wenig unangemessen anstrengen, um herauszufinden, welche Anforderungen auf den tatsächlichen Aussagen des Kunden beruhen. Wenn nichts anderes, ist das eine wertvolle Fähigkeit.
Wenn dies fehlschlägt (und dies aus verschiedenen Gründen bereits der Fall ist), fragen Sie Ihren Projektleiter um Hilfe. Versuchen Sie in Ihren Fragen so genau wie möglich zu sein und zeigen Sie, dass Sie Ihre Hausaufgaben gemacht haben. Zum Beispiel eher als
etwas fragen wie,
Oder wenn die Anforderungen wirklich so schlecht geschrieben sind, dass Sie sie nicht entziffern können, sagen Sie ihm das.
Ich würde sagen, dass es letztendlich die Verantwortung des Projektleiters ist, dafür zu sorgen, dass die Anforderungen richtig verstanden werden (es ist sicherlich in seinem besten Interesse, dass das Projekt erfolgreich ist). Als Mitglied des Teams teilen Sie jedoch einen Teil dieser Verantwortung. Wenn Sie zeigen, dass Sie selbst Anstrengungen unternommen haben und der Projektleiter sich weigert, Ihnen zu helfen, liegt es ganz in Ihrer Verantwortung. Wenn es zu diesem Punkt kommt, stellen Sie sicher, dass er das weiß.
quelle
In einer perfekten Welt sollte es irgendwo eine Liste mit Funktionen und Spezifikationen geben, die auf einem Vertrag zwischen Ihrem Unternehmen und Ihrem Kunden steht.
Um Ihre Frage zu beantworten, sollte der Entwickler in der Tat verstehen, was der Kunde wünscht, und ein schriftliches Dokument haben, damit beide Parteien der gleichen Vision zustimmen.
Natürlich ist dies keine perfekte Welt, und häufig gibt es keine Spezifikationen. Wenn Sie keine schriftlichen Spezifikationen haben, wird dies schwierig. Gibt es in Ihrem Unternehmen noch jemanden, der als Beziehungsdelegierter mit dem Kunden arbeitet und Ihnen helfen kann, die Wünsche des Kunden zu verstehen?
Wenn nicht, würde ich in Ihrer Position versuchen, Informationen von den vorherigen Entwicklern zu erhalten, vorausgesetzt, sie haben die Aufgabe verstanden.
quelle
Ich denke, dass die tatsächliche Rolle, die angibt, wer sich um das Verständnis der Anforderungen kümmert, in Abhängigkeit von einigen dieser Variablen variiert
Wenn Sie also nur ein Ein-Mann-Team sind, sollten Sie alle Anstrengungen unternehmen, um den Anforderungen auf den Grund zu gehen. Wenn Sie in einem laufenden Projekt neu sind, sollten Sie sich bemühen, die Anforderungen erneut mit dem Kunden zu besprechen.
EDIT: Am wichtigsten ist, dass der Kunde möglicherweise nicht weiß, dass er so schlechte Anforderungen gestellt hat, und dass das Sammeln von Anforderungen oft langwierig und langwierig ist, aber es ist ein wichtiger Prozess mach es mit ihnen.
quelle