オフショア問題のマスター

良いソフトウェアを書くだけでは不十分です。 多くの人がこれを行うことができ、実際にこれに対してあなたはお金を支払われます。 しかし、望むかどうかにかかわらず、ITで働くには、関連する技術スキルだけでなく、人々、特に顧客と働く能力も必要です。 オフショアチームの場合、チームが顧客から数千キロメートル離れている場合、このルールはさらに重要になります。



この記事の目的は、オフショアチームによるプログラムの作成に伴う特定のポイント、およびタスクプランニングとクライアントとのコミュニケーションの特性に注意を向けることです。



私の仕事の中で、私は長年オフショアと仕事をしてきました。一方では、オフショアチームのマネージャーの側で、もう一方では顧客の側で。 この間、リモート通信中に必然的に発生する顧客との「おろし金」を回避するか、少なくとも最小限に抑えることができる多くの観察と結論が出されました。



すべての推奨事項は、西ヨーロッパおよび米国の顧客との個人的な経験に基づいています。 他の地域の顧客と仕事をする際には独自の特徴がある可能性がありますが、この場合にはおそらくいくつかの結論が当てはまるでしょう。



オフショアチームのオプションを検討してください。チームは技術的に精通しており、適切なコードを記述していますが、クライアントとのコミュニケーションは適切なレベルで編成されていません。 結果:遅かれ早かれ、そのような協力は終了します。



オフショアチームが顧客の目によく見えるようにするためのヒント/コメントを以下に示します。



1.アクティブになる

これは最初は重要に思えないかもしれませんが、実際には開発チームの印象に大きな影響を与えます。 アクティビティは、プロジェクトマネージャーまたはあなたにお金を支払う人の観点から常にプロジェクトを見ることに現れます。

つまり、プロジェクトを開発するだけでなく、開発速度の向上、さまざまなコンポーネントをより効率的に統合する方法の発見、より最適なアーキテクチャの検討、または最も単純な場合はプロジェクトのアセンブリの高速化を試みています。

これにより、プロジェクトを管理/理解するタスクの一部を引き受け、とりわけ、プロジェクトに対するお客様の関心を示します。



2.完了したタスクの流れ

顧客とのコミュニケーションの最も重要な瞬間の1つは、実行されたタスクに関する情報です。

アクティブなプロジェクトでは、タスクは常に受信されます。実行した内容について「バランスの取れた」レポートを作成すると、期待が正しく形成されます。 たとえば、UIとサーバー側にタスクがある場合、両方の部分のタスクが週次レポート/リリースに存在する必要があります。

もう1つのポイントは、タスクの速度です。 原則として、クライアントは1つのタスクに1時間かかり、もう1週間かかることを理解していないため、これらをすぐに実行しないでください。 すべてのタスクは、同じ複雑さのクライアントに提示されます。 したがって、大きなタスクはバックグラウンドで実行され、小さなタスクはクライアントに「表示」されます。

言われたことを言い換えると、顧客に向かって「ポジティブな流れ」が必要になります。



3.プロジェクトの人々を変えないでください

原則として、オフショア企業は次のことを行います。 プロジェクトの開始時には、非常に経験豊富な人々が開発者の代わりに配置されます。 マネージャーは、タスクの高品質と速度に慣れ、このレベルが維持されることを期待しています。 しかし、時間が経つにつれて、経験豊富な開発者は他のプロジェクトに移され、弱いプロジェクト(読み物、安いプロジェクト)が代わりになります。 その結果、開発速度と品質が低下しています。 インドはこのアプローチで特に有名です。

プロジェクトマネージャーがこの状況に気付くと、彼はもう何もできなくなります。プロジェクトが引き渡されるまでの時間が足りず、別の会社に業務を移すとプロジェクトが混乱するからです。 さらに、キャッシュフローを別の会社にリダイレクトすることはそれほど簡単ではありません(書類への署名、経営陣の支援の参加など)。 さらに、「同意書に署名したとき、どこを見ましたか」などの不快な質問が発生します。

これはすべて関係の緊張につながり、遅かれ早かれ彼らの休憩につながります。



4.メトリック/開発環境

デフォルトでは、ビルドサーバー、単体テストカバレッジ、Jiraなどをインストールする必要があります。 この情報を使用すると、プロジェクトマネージャーは上位管理職に進捗状況を簡単に表示できます。 つまり、管理者が経営者の前でどのように「見える」かを気にします。

さらに、これらのメトリックは、プロジェクトの進捗状況の客観的な評価です。



5.テクノロジーを正しく選択する

今後のプロジェクトについてさらに質問してください。 回答から、どのテクノロジーを選択するかが明らかになります。 たとえば、最初のデモが.Netで行われ、誰もが満足し、プロジェクトの最後にこれらすべてをunuxにインストールする必要があることが判明した場合、厄介な状況が発生します。

未来を理解することは、タスクをよりよく完了し、運用環境を計画するのに役立ちます。



6.常に存在を思い出させる

毎週、たとえば金曜日に現在のタスクのステータスを送信します。 レポートには、先週行われた内容、次の計画、およびタスクの実行で発生した問題に関する情報を含める必要があります。

この場合のプロジェクトマネージャーは、タスクの優先度を変更し、必要に応じて顧客に通知できます。

レポートに追加するのは、システムの現在の状態のデモです。



7.直接連絡先

オフショアチームの側には、クライアントと話し(通常はクライアントの言語に堪能)、電話で問題を解決できる人が必要です。

これらは、会社で長く働いており、早い機会に会社を辞めない人々です。 これが会社の「顔」です。

作業スキームは次のようになります。2人が大規模プロジェクトで際立っています。 プロジェクトのすべての問題を解決できる1人のマネージャーと1人の技術スペシャリスト。

クライアントが同意できない場合、クライアントが「苦情を申し立てる」ことができる人(エスカレーション担当者)がもう1人必要です。

遅かれ早かれクライアントと通信するための開発者のアクセスは、開発者がクライアントを「リード」しようとするという事実につながります。 私は何度もこのような状況にありました。開発者は単に捨てるだけで(そして彼はそれを買う余裕はありますが、会社はできません)、会社は顧客を失います。

顧客とのすべてのコミュニケーションが1人で行われるという事実の追加の利点は、状況を制御できることです。この選択された人は、プロジェクトの現在の状態、発生した問題、質問などをいつでも知っています。



8.メール

電子メールは、決定に基づいた文書です。 プロジェクトのメールは削除されないため、いつでもディスカッションチェーン全体を上げることができます。 すべての電話での議論は、議論されたすべてのことと計画された手順を説明する手紙で確認されることが望ましい。

実際、夏の10時にあなたから座っている人に何をする必要があるのか​​の説明は簡単なことではありません。 私は次のようにします。 基本的な要件を記載した小さなドキュメントを作成してから、電話ですべての詳細を発音します。 議論の後、開発者は、これらすべてをどのように理解したかを説明するドキュメントを作成します。 これを読んだ後、元々開発者に伝えたかったような「写真」を作成したら、タスクは完了します。 それ以外の場合は、議論を続けます。

これは追加の赤いテープのように思えるかもしれませんが、最終的には、タスクの本質を理解せずにすべてをやり直すよりも、結果的に速くなることがわかります。 このような練習を1か月行った後、すべてが十分に迅速に行われます。



9.実行スクリプト

Run Down Scriptは便利なものですが、銀行で仕事をするまでその目的を理解していませんでした。

銀行は大規模な組織であり、製品の新しいバージョンのインストールは特定の時間、いわゆる「リリースウィンドウ」に行われます。 現時点では、多くの人がそれぞれのバージョンを展示する予定であり、調整は非常に重要です。

Run Down Scriptはこの問題を解決します。 このドキュメントでは、誰が、いつ、何を、どのサーバーにインストールし、何かが「落ちた」場合に、前の段階にどのようにロールバックできるかについて説明します。 実行する必要があるコマンドに至るまで、すべてを説明する必要があります。



10.技術サポート

サポート/サポートのためにプロジェクトを取ることを恐れないでください。 ソフトウェア会社はそれらから大部分のお金を受け取ります。 開発ではなくサポート。

経験の浅い開発者は彼らをサポートするために雇うことができ、経験のある開発者は新しいプロジェクトを行っています。



11.「フォワード」ソリューション

クライアントは、特に作業の90%がすでに完了しており、条件付きの空き時間がある場合に、システムに追加の要件を「プッシュ」することを好みます。

2つの解決策があります。

*機能の10%を行う時間がないという印象を与えるような方法でタスクの実行を示し、「信じられない」努力とチームワークの助けを借りてのみ、すべて同じようにやった

*プロジェクトの初期要件を使用して反撃します-あなたはすべて議論された手紙と文書を持ち、このボリュームで作業を実行するための同意が得られました。



12.禁止された言葉

コミュニケーションで禁止語を使用しないでください。 たとえば、「システムを1週間で書き換える」というフレーズは根本的に間違っています。 「書き換え」と言うと、次の質問は「これまでずっと何をしていたのですか?」 そのような瞬間は、適切なレベルでの顧客の言語の知識の不足が原因で発生する場合があります。 「システムを改善する」または「システムを調整する」と書く方が良いでしょう。



13.わからない-もう一度尋ねる

何も本当に理解されていないことを示さないように、多くの人が尋ねることを恐れています。 しかし、タスクを完了することになると、問題が始まります。

誰もがすべてを知ることは不可能であることを理解しており、質問/議論は人が理解したいことを示しており、これは常に歓迎されサポートされています。



14.リリース

リリース日は非常に重要です。リリースは書面によるソフトウェアだけでなく、ハードウェア、管理者などでもあるため、特定の日付に製品を提供することが重要です。

この日に多くのパラメータを同期する必要があります。

たとえば、鉄が購入されてアイドル状態になった場合、クライアントはそれを支払います。 ソフトウェアがあれば、サービスは有益であり、ハードウェアはそれだけの価値があります。

タスクを正しく計画し、時間通りにソフトウェアを提供してください。



コメントを歓迎します。



All Articles