ドキュメント化とKPI設定の重要性(オフショア開発成功のすすめ)

・オフショアの納品物の品質を上げるには?
・発注側が意図する納品物を納入してもらうには?
といった質問に答えます。

オフショア開発を

経験したことがある人は

分かると思いますが、

開発をうまく進めるのは

なかなか難しいですよね?

特に、

納品物の品質を上げること。

発注側が意図した納品物を

納入してもらうこと。

どちらも簡単そうで、

なかなか簡単ではありませんよね?

オフショア開発経験

13年の筆者が、

自身の経験から、

納品物の品質を上げる方法、

意図した納品物を

納品してもらう方法について

説明します。

是非、皆さんの開発の現場で

試してみてください。

目次

以下が今回の目次です。

1.何故問題が発生するのか?
2.Goalを明確にしましょう
3.コツはドキュメント化とKPIの設定
4.ドキュメント化とKPI設定の具体例
5.まとめ

では、1つ1つ説明していきますね。

1.何故問題が発生するのか?

何故オフショア開発が

うまくいかないと思いますか?

一言で言ってしまえば、

日本企業は

・性善説

を前提として

仕事を進めているからです。

こう書くとオフショアが

・「悪」

みたいに聞こえますが、

そうではありません。

これは、

ビジネスのやり方の違いに

起因しています。

日本企業では

仕事を受けた場合、

最高の品質で

応えようとします。

これはこれで

素晴らしいのですが、

グローバルビジネスでは

このやり方は通じません。

グローバルビジネスでは、

・80点の出来栄え

で納品するのが

当然のことなのです。

より短い時間、

より少ないコストで

依頼されたものを仕上げる。

これが双方にとって

もっとも良いと

考えています。

この考えを理解しないまま

仕事を発注すると、

発注側が期待したモノが

納品されずトラブルになります。

なので、

まず日本の企業は、

グローバルの常識を

理解する必要があります。

その上で、

自分たちが希望する品質や

出来栄えを得るためには

どうするかを考えるように

しましょう。

2.Goalを明確にしましょう

日本企業から

オフショアに

仕事を発注する場合、

一番犯しやすミスが、

・Goalを明確にしない

ということです。

Goalというのは、

納品されるモノの

出来栄えや品質レベルを

明確にしていないと

いうことです。

日本の企業に発注すると、

全てを説明しなくても

こちらの意図を汲み取って

希望する成果物を

納品してくれる

ケースが多いのですが、

それと同じ感覚で

オフショアに開発を依頼すると、

はっきり言って

必ずと言っていいほど

失敗します。

しかも、発注側の意図と

全く違うモノが

できてきたりします。

これは、前述の通り、

・完成形を明確にしていない

ことが原因で起こります。

なので、オフショアに

開発を依頼する場合には、

必ず完成形を明確に

伝えることが重要になります。

3.コツはドキュメント化とKPIの設定

では、どうやって

完成形を明確にするのか?

その方法として考えられるのが、

・仕様をきっちりドキュメント化する
・KPIを設定する

ということです。

ドキュメン化は

よく聞くと思いますが、

ただし、

これには1つ問題があります。

・どこまで書き下す必要があるのか?

という点です。

ドキュメント化といっても

100%書き下すのは不可能です。

しかも、

あまりにも細かく書き下すと

記載ミスも発生しますし、

効率も良くありません。

・それじゃどうすれば良いの?

と言われそうですが、

そのために重要なのが

・KPIの設定

です。

KPIというのは、

Key Performance Indicatorの

略で、重要業績評価指標と

呼ばれます。

主にマーケティングや営業の

場で使われることが多いのですが、

・到達目標レベルを設定する

という点でソフトウェア開発に

おいても使うことができます。

特にドキュメントでは表しきない

品質や生産性を

向上させる点でとても重要で、

筆者の開発現場では、

・品質指標
・開発効率指標

といった項目にKPIを設定して

管理していました。

4. ドキュメント化とKPI設定の具体例

では具体的に

どのようにドキュメントを作成し

KPIを設定するのでしょうか?

(1)ドキュメント化

ドキュメント化のコツとしては、

・オフショアに書いてもらう

というのをお勧めします。

まずは、ベースとなる仕様書や

設計書を日本側で書いて

オフショアに渡しましょう。

その後、そのドキュメントを

ベースに打ち合わせを重ね、

オフショア側に不足部分を

追記していってもらいます。

発注側と受け側では、

気にするポイントが

異なってきます。

そのため、

発注側の思いをドキュメント化し

それをベースに

Q&Aセッションを設けて

受け側にポイントを

加筆してもらう。

オフショアに

加筆してもらうことで

発注側の作業量が減りますし、

受け側の疑問点も抜け漏れが

なくなります。

発注側は完成した

ドキュメントの中身を検収し

合格したところで

開発作業を開始します。

今まで色々な方法を

試してきましたが、

この方法が、

多少時間がかかるものの、

もっとも効率の良い

方法でした。

(2)KPI設定

品質や開発効率といった項目は

なかなかドキュメント化

しにくいものです。

特に日本の企業に発注する場合は、

品質に関する考え方が

似通っていますので、

それほど明確にしておかなくても

トラブルことはあまりありません。

しかし、オフショアに開発を

依頼する場合、

・最高の品質を目指す日本企業

・80点の品質
・問題が見つかったら直せば良い

と考えているオフショアとの

考え方の違いがあるため。

事前に考えを合わせておかないと

必ずトラブります。

ドキュメント化しにくい

品質をどのように事前に

合意するかというと

KPIを設定しておくのが

もっとも分かりやすと思います。

筆者が使用している

品質に関するKPI指標を

いくつか紹介します。

・ソースコードのC0/C1カバレージ率
・ソースコード1000行あたりのテスト項目数
・ソースコード1000行あたりで許容される不良数
・1つの機能に対するテストケース数
・正常ケース/異常ケースのテスト項目割合

などです。

ソフトウェア開発を

している方なら

意味は分かると思います。

日本企業間で作業を行う場合、

前述の通り、

日本の企業は

品質重視の考え方が

基本にあるので、

事前に決めておかなくても、

上記のような項目は

自分たちで設定して

品質を確保します。

しかしながら、

オフショアに開発を

依頼する場合、

前述のようなKPIを

事前に設定していないと

極端なケースでは、

異常系の評価を

ほとんど実施しないまま

納入したり

自分たちの意図したものとは

違う結果が納入される

ことになります。

(3)グローバルでは当たり前

ドキュメント化やKPI設定を

面倒だと感じる人も

いるかもしれません。

しかしながら、

グローバルでビジネスを

していくためには

これが標準だと心得ましょう。

当たり前ですが、

日本的なやり方は

日本の中でしか通じません。

今後グローバルで

仕事をしていくつもりであるなら、

グローバルなやり方を

取り入れて、

自分たちが変わっていくことも

時には必要なのです。

5.まとめ

まとめです。

今回は、

・オフショアの納品物の品質を上げるには?
・発注側が意図する納品物を納入してもらうには?

といった質問に答えてきました。

具体的な解決方法としては、

・仕様をきっちりドキュメント化する
・KPIを設定する

を提案しました。

当たり前といえば

当たり前かもしれませんが

日本の企業の中では、

お互いの経験がベースとなり、

暗黙の了解の中で

当たり前が省略されている

ことがあります。

面倒だと感じるかも

しれませんが、

グローバルで仕事を

していくためには、

もう一度この

・「当たり前」

に立ち戻りましょう。

この当たり前を実践するだけで、

驚くほどオフショアからの

納入物の品質が向上します。

現在、

オフショアとの開発で

納入物の品質に

悩んんでいる人は

是非試してみてください。

今回のブログの内容が、

読者の方々が直面している

課題の解決に結びつけば

これほど嬉しいことはありません。

それでは、また。

あつし