私のプレート上の主要なタスクの1つは、クライアントとのコミュニケーションです。私が特に難しいと思うことの1つは、期限がクライアントによって義務付けられており、頻繁に相談されないためです。
クライアントとのコミュニケーションを担当することになっている場合、組織内の責任者とクライアント側のカウンターパート間でこの情報を伝達できるように、なぜスケジュール(および予算)について相談しないのですか?この問題を修正することは、あなた、あなたのチーム、そしてあなたのプロジェクトにとって大きな利益になると思います。
クライアントは、追加したい機能Xを思い付きます。機能Xは、約6営業日後の来週のアプリリリースで見栄えがよくなります。この時点で、機能リクエストは承認を受ける必要があり、対処する必要がある他の依存関係が頻繁にあります。最終的に、N日後に、機能のリクエストが私のチームに伝わります。元のデッドライン(開発者以外のマネージャーが設定した)が達成できたとしても、それはもはや達成できません。
控えめに言っても、このスケジューリングのシステムは奇妙に思えます。
私の経験では、クライアントは特定のリリースにサインオンします。必要な機能と変更のリストを送信し、必要なときにそれらを送信してから、ソフトウェアを構築するチームと交渉します。または、開発チームに機能の優先順位リストを提供し、開発チームはさまざまな機能セットをいつ出荷できるかについての見積もりを提供します。他にもバリアントがあります。
しかし、私が許可したことは一度も見たことのないことの1つは、特にリリースから1週間後ではなく、ゲームの後半でリリースを変更できることです。デザイナー、開発者、テスターにそのような圧力をかけるのは適切ではないようです。繰り返し開発を行っている場合、優先度の高い機能であれば、バックログのフォームに追加して、できるだけ早くそれを取得するようにしてください。優先度の高い機能ではない場合、このリリースでは絶対に不要であり、次のリリースまで待つことができます。
設計、開発、テスト、配信の各チーム、および顧客に対応する基本ルールを設定し、機能の凍結、コードの凍結、および配信を行うことをお勧めします。これらを書面に入れ、全員からコミットメントを得て、それに固執します。一度振ると、さらに曲がることが予想され、プロセスを制御できなくなります。
残念ながら、私はここで権力の座にいないので、私にできることはあまりありません。
あなたは一人ではないかもしれません。しかし、あなたのデザイナーや開発者、テスターは、スケジュールを満たすために多くのプレッシャーを受けているようです。チームとして上司と座って状況を説明する必要があります。最初に、組織にプロセスの改善を約束させ、次にクライアントと協力して、物事がどのように機能するかを理解してもらいます。
これは私が言い訳をしているように感じます。
言い訳をし始めたら、難しい会話や重要な会話をする時が来るかもしれません。私はこれらの2冊の本のいずれかをお勧めします。それらを読むことは、特にあなたがすべての面で緊張が高い困難な状況に直面する必要があるとき、私のコミュニケーション能力を向上させるのに役立ちました。
他の回答のいくつかに対処するため。
悲しいことに、権力は他の人からあなたに与えられるのではなく、主にあなた自身によって奪われます。
アンドレアがこれでどこに行くのかわかりません。はい、情報の流れを修正する必要があります。しかし、プロジェクトの開始時に全員が合意したことを確実に把握するために、PMとクライアントと協力する必要があります。何らかの理由で取り決めがうまくいかない場合は、再検討し、仕事と役割をより適した人々に再配分します。
あなたは権力を奪ったり、権力と戦ったりしませんが、あなたはそれで働き、それを飼い慣らし、それを皆のために働かせようとします。
問題は、顧客が機能のビジネス上の価値をほとんど知っているが、その複雑さを認識していないことです。話し合い、明確にするだけです。常に。
loki2302からのこの引用はほとんどスポットです。ソフトウェアエンジニアとしての仕事の1つは、適切な人がタスクの難しさ、所要時間、何かをする際にどのようなオプションやリスクが存在するかなどを確実に把握することです。チームの主要なコミュニケーターとして、この情報を組織から顧客に伝えることは、理論的にはあなたの仕事です。