LTSコラム

わかるようでわからない、何が違うの、海外プロジェクト? - 海外のプロジェクトをいかにコントロールするか - 第1回
2011.6.1

プロジェクトと呼ばれる取り組みに、責任者として、または、責任者の極近くで携わったことのある方であれば、世の中には、プロジェクトを成功裏に導くノウハウが多いことを知っていよう。
一方、世の中のノウハウを知らずとも、プロジェクトを成功に導ける剛のものも少なからず活躍している。

あなたがどちらのタイプであったとしても、プロジェクトの責任者である以上、プロジェクトのリスクを察知し、コントロールし、最終的に排除、またはその影響を食い止め無力化することが、ゴールへの近道であることを知っている。
2つとして同じリスクは存在しないし、一方で、まったく過去に類似のない真新しいリスクもない。
故に、1.パターン化により過去から学び、2.前提を分析することで適用可能性を見極める、という2点は、あなたが答えを見出す力の根底をなしている。(答えを見出した後には実行力が必要になる。)

本コラムでは、上記2点に役立つと思われる私の経験を紹介したい。
これが、海外プロジェクトに取り組むあなたの一助になることを希望してやまない。

≪もうすぐ終わります。≫
ユーザと協力してデータを移行した。数百件のデータであったため移行データ作成のためのプログラムは最小限にとどめ、データの準備と検査は、ユーザに実施してもらうことにした。人の手が多く介在する分、本番のデータ移行前に、リハーサルを2回実施することにした。1回目でデータ以降手順(データ作成用のエクセルフォーマット、記載内容、検査方法等)を確認し、不備を修正。2回目のリハーサルは、本番さながらのシミュレーション。ここでのデータは、受入テスト環境に移行され、受入テストにも使用される。
事前の打合せで計画は合意した、ユーザのデータの準備期間は2週間ほど。

[作業開始時]
システムチームメンバー(以下Sys):”Is the data volume the same as you expected? Can you manage this?”(データ量は想定どおりですか?なんとかなりそうですか?)
ユーザ(以下User):“Yes. We will set that”(想定通りだよ。これからはじめるよ)

[1週間前]
Sys:”How’s your work progress? Is there any issue?”(進捗はどう?問題ない?)
User: “Almost fine. We are doing our best”(概ね問題ない。引き続きがんばるよ。)

[3日前]
Sys:”How’s your work progress? Can you deliver this by the due data?”(進捗はどう?期日どおりにデータもらえる?
User:“We have done most of it. We will finish soon.”(結構進んだ。もう少しで終わるよ。)

[2日前]
Sys:”How’s your work progress? Could we have data delivered by the due data?”(進捗はどう?期日どおりにデータもらえる?
User: “We have done most of it. We will finish soon.”(結構進んだ。もう少しで終わり。)
Sys:“How many items remaining? Could you give me actual number?” (何件残っているの?
User: “A few as I said.” (少し)

[前日]
User: “Can you wait for me a little longer?”(もう少し待てる?)
Sys:”What’s? Yesterday you said you could finish it soon and send us by tomorrow.” (昨日は、すぐ終わる、明日までに送るって言ったじゃない)
User: “Well, That’s right. But what I said is that I try my best.” (確かに昨日はもう少し終わりといったけど、ベストを尽くすって言ったんだよ。)

結局、その後、クリスマス休暇をはさみ、データは3週間遅れで送られてきた。

≪システムテストの進捗率が下がりました。≫
チームリーダーを任せていた部下から、不意に、進捗率が下がるという報告を受けた。作業が進まない場合、進捗率は変わらないはずなのに手戻りが出たということか、、、と想像する。どんな手が打てるかに頭を巡らせ始める一方、報告の続きを聞く。
やはり、そのフェーズの成果物に不具合があって、手直しが必要であるため、進捗率を戻したということ。
サブシステムAで入力したデータを、サブシステムBに連携して、Bの画面で表示する、というシナリオだったが、テスト結果としてドキュメントされている内容は、Aで入力したデータと、Bで表示されているデータが異なっていた。SEが作成したシナリオに基づき、プログラマーがテストを実施、SEがテスト結果をレビューしてOKとなった状態でレビュー終了、というステータスにしていたが、チームリーダーが念のためと思って、サンプルを取り出して、確認したところ不具合が発覚。他のシナリオも確認してみると同様の不備が見つかったため、差し戻して再テストした。
SE(外国人)になんでこんなことが発生したのか、途中で気づかなかったのか確認する。
“Well, actually I notice that data is not consistent from system A to system B. At the first time I came across, I repeated to instruct developers what is the purposed of this test and how to carry out the test. But at the second time I found the error again. Then I decide to keep it going on because I was worried about timeline if I carry on giving them instruction every time whereas it is time consuming to give them instruction.”(データが異なることは気づいていた。最初気づいた時は、プログラマーに、テストの目的を再度伝えて、テストの進め方を指示しなおした。でも、2回目に同じ問題を見つけたときは、そのままにした。というのは、もし、毎回指示した場合は時間がかかりすぎて、期日を守れないと思ったからだ。)

「もうすぐ終わります。」は、海外のユーザとのやり取りで、「システムテストの進捗率が下がりました。」は、海外の開発者とのやり取りである。

この2点は、プロジェクト管理プロセスの問題として顕在化しているが、本当の原因は何で、どのようにすれば再発を防止できるのであろうか。
次回、もう少し掘り下げて論じたい。