19

少し前に、オンショアチームから私たちのチーム (オフショア) にプロジェクトを引き継ぎました。しかし、引き渡しプロセスに問題がありました。

  1. 膨大な量の情報に圧倒されたため、設計のウォークスルー中に質問することは考えられませんでした. 尋ねたかったのですが、何を尋ねたらよいかわかりませんでした。こちらから何の質問もなかったので、経営陣は引き渡しプロセスが成功したと考えています。

  2. 引き継ぎのプレゼンテーションに参加する前に、会社の wiki ページからすべてのドキュメントに目を通そうとしましたが、ドキュメントが多すぎて、どこから始めればよいかさえわかりません。

私たちから、または私たちへのプロジェクトの引き継ぎを成功させるために、私たちが従うことができる規則やベストプラクティスはあるのでしょうか.

ありがとう。

4

5 に答える 5

37

ドキュメントを読むという点では、個人的には次の順序で進みます。

  1. アプリケーションの基本機能の概要を簡単に説明します。これは、何を達成するためのものでしょうか。ビジネスケースはおそらく、すでに存在する最高のドキュメントです。

  2. 次に機能仕様。この時点では、どのような方法や技術を理解しようとしているのではなく、アプリが何をするつもりなのかを理解しようとしているだけです。大規模な場合は、主要なビジネス プロセスは何かを尋ね、それらに焦点を当てます。

  3. 次に、高度な技術概要です。これには、アーキテクチャ図、必要なプラットフォーム、バージョン、構成などを含める必要があります。質問があれば記入してください。

  4. 次に、他の有用な技術文書をざっと読みます。FAQ がある場合は確かに FAQ です。テスト スクリプトも、詳細な「ハウツー」タイプのシナリオを概説しているため、優れている可能性があります。私だけかもしれませんが、システムを理解する前に技術文書を読むのはもったいないと思います。学術的すぎて、通常、驚くほど書かれています。費やした時間に対して妥当な見返りが得られていないと感じた場合は、間違いなく時間を制限する領域です。

構造化されたレビューを作成し、読んだ文書について話し合う人が何人かいる場合は、そこから必要なものが得られていることを確認してください。システムが大きい場合は、それぞれがエリアを取り、その上で他の人にプレゼンテーションを行います。できるだけ多くを学ぶ理由を自分自身に与え、クイズを受けることを知っておくことは良い動機になります。わからないところは質問リストを作りましょう。2 人で構造化されたレビューを行うことで、退屈なドキュメントのページを次々とめくるのではなく、よりインタラクティブなタスクに集中できます。

彼らと顔を合わせたら:

  1. 完全なシステムのデモから始めます。質問が出てきたら質問してください。不明確な答えであなたをだましてはいけません。答えられない場合は、それを書き留めて、答えを得るように指示してください。

  2. コードをチェックアウトして、マシン上で実行します。少なくとも 2 台のマシンでこれを行います。プロセス全体を文書化します。これが最も重要なステップです。コードを実行できない場合は、めちゃくちゃです。

  3. ビルドプロセスを実行します。アプリをビルドできることを確認します (自動化されたビルドと単体テストを含む)。すべての単体テストに合格する必要があることに注意してください。合格しない場合、または「ああ、それは常に失敗する」と言う場合は、最終的な承認の前にそれを修正する必要があります。

  4. インストールプロセスを実行します。これを少なくとも 2 回行います。文書化されていることを確認してください。

  5. ここで、アプリケーションで実行される一連の一般的なビジネス機能を考え出します。これを使用して、コードを一緒に歩きます。コード ベースは大きすぎて全体をカバーできませんが、代表的なサンプルをカバーするようにしてください。

  6. データベースまたは API がある場合は、同様の演習を行います。抽出する必要がある標準的なデータや、API を使用して実行する必要がある基本的なタスクを考え出し、時間をかけてそれらを処理します。

  7. あなたが知っておくべきだと思うことがあるかどうか彼らに尋ねてください。

  8. 他の場所に書き留めた質問に回答があることを確認してください。

  9. バグリスト (オープンとクローズ) を調べる価値があると考えるかもしれません - 優先度の高いものから始めて、特に気になるものについて話し合ってください。彼らがそれを修正したとしても、面倒なコードを指している可能性があります。

  10. 最後に、機会があれば - 未解決のバグや変更がある場合は、ペアでプログラムできるかどうかを確認してください。

次のことを 100% 確信できる場合を除き、最終的にアプリを承認しないでください。

  1. コンパイルするコードを取得する
  2. ビルドするコードを取得します (データベースを含む)
  3. アプリケーションをインストールする

次のことが完了するまで、引き渡しが完了することを受け入れないでください。

  1. あなたが拾ったもので、あなたの満足のいくものではなかったものはすべて文書化しました
  2. あなたのすべての質問に答えた - 繰り返し尋ねられた後、彼らが答えない質問 彼らが隠している何かの悲鳴

そして、彼らの電子メール アドレスと電話番号を取得します。たとえそれが非公式であっても、本当にファンを襲った場合、彼らはおそらく喜んで助けてくれるでしょう...

幸運を。

于 2009-09-04T07:15:47.830 に答える
11

引き継ぎを受けるための私の基本的なプロセスは次のとおりです。

  1. アプリの概要を把握し、文書化する
  2. クライアントが期待する将来のすべての作業のリストを取得する
  3. ... すべての既知の問題
  4. ...実装の詳細
  5. 彼らが持っている最新のドキュメント
  6. 可能であれば、システムの重要なコンポーネントのいくつかのテストを作成してもらいます (または、少なくとも完全に文書化してもらいます)。

ドキュメントが多すぎる場合 (可能性あり) は、すべてが最新であることを確認し、明確でない場合はどこから始めればよいかを確認してください。

できるだけ多くの質問をしてください。二度とチャンスはないかもしれないので、頭に浮かぶものは何でも。

于 2009-09-04T05:08:48.740 に答える
5

ほとんどのハンドオーバー、おそらくすべてのハンドオーバーにより、多くの情報が失われます。私が見たハンドオーバーを実行する唯一の効果的な方法は、徐々にそれを実行することです。そのための1つの方法は、フェーズ1の数人の主要人物がフェーズ2までプロジェクトにとどまることができるようにすることです。

極端な解決策は、すべてのハンドオーバーを取り除き、アジャイルの考え方を使い始めることです。

于 2009-09-05T20:11:33.477 に答える
4

まず、ハンドオーバーの終了基準を定義します。これについては、両当事者と話し合い、交渉し、合意する必要があり、上級管理職がこれを認識していることを確認してください。次に、終了基準を達成するために必要なすべての項目のチェックリストを作成し、追跡します。

于 2009-09-04T05:04:36.863 に答える
1

プロジェクトに関する情報を収集する際に尋ねる質問のアイデアについては、「ソフトウェア要件」ソフトウェア要件パターンを確認してください。新しい開発に取り組むのと同じように、既存のプロジェクトとの折り合いをつけるのにも役立つと思います。

于 2009-09-04T12:40:35.637 に答える