BLOGブログ

オフショア運営ナレッジ
2017.08.02

意外に知らない?すぐに成果が出るラボ運営のコツ:大規模ラボ編

オフショア開発、ひいてはラボ型開発を選ぶ一番のメリットは、組織のスケールアップによる圧倒的なコストパフォーマンスの高さではないでしょうか。

ここ数年の間で、エンジニアの質も伸びてきており労働市場も安定化しているのも相まってオフショア開発の成熟期を向かえております。

さて、そんなコストメリットを最も享受するにはやはり大規模ラボを作ることなのですが、大規模ラボには小規模ラボとはまた別の運営ナレッジが必要となってきます。もし小規模ラボの延長線で運営を続けますと以下のような問題が発生してきます。

・ベトナム開発の担当日本人の稼働が激増する。
→主にコードレビューや仕様伝達がほとんどの業務となる

・ベトナム側でタスクが無くなる。
→日本側から仕事を依頼する関係上、日本が受け入れテストなどで忙しくなると仕事依頼ができなくなりベトナム側の仕事がなくなってしまう

・メンバー全員に目が届かなくなり、品質課題やメンバーのパフォーマンスが見えづらくなる。
→8人を超えるとこまめなサポートをするのが難しくなり、検知すべき品質課題やパフォーマンス上のキャッチアップが遅れてプロジェクト遅延が頻発するようになる

 

とこのような問題が発生するとせっかく大規模ラボとなったにも関わらず課題ばかりが大きくなっては目も当てられません。やはり大規模になっても自主的に機動力高く動ける状態を維持することが理想です。

ここで弊社でアドバイスさせて頂いている大規模ラボ運営のコツを幾つかご紹介致します。

 

1.ワークルールを明文化する

大人数で成果を出すためには、個々のパフォーマンスよりも全体がいかに1つの目的に向かって団結出来るかにかかってきます。そのためには、仕事の手順や仕事の進め方をひとつひとつ明文化しチーム全体で守っていくマネジメントが必要になってきます。朝礼や夕礼だけなく障害発生時の対応フロー、品質チェックの観点など誰でも一定の成果が出るような仕組みやドキュメントを整えるのが大切です。

 

2.なぜなぜ開発を進める

オフショア開発でやりがちなのが、「誤解をしてしまわないように、システム仕様だけを伝えて開発してもらおう」というスタンスです。ビジネス背景を伝えなくても、開発に影響が無いだろうという気持ちから、仕様伝達時に省かれてしまうことが多いのですが、オフショアを成功させるためには、むしろその逆で

「なぜ?このシステムを作るのか?」
「なぜ?この仕様なのか?」
「なぜ?このスケジュールなのか?」

という担当プロジェクトにまつわる様々な「なぜ?」を理解してもらいながら開発を進めていくことが大切です。

"なぜ?"が分かれば、仮に仕様書に書かれていなくても必要な仕様を類推し実装することが出来ますし、その思想は設計やコードにも及ぶので結果としてメンテナンス性が高いシステムが出来上がりやすくなります。

3.自動化ツールを積極的に利用していく

品質管理やリリース周りなど、定型的に発生し、作業工数が多いものは積極的に自動化ツールの導入を進めていくべきです。

たとえば、リリース作業でいえばcapistranoなどのデプロイツールこちらはコマンド一つで事前に組まれたスクリプトを実行しデプロイ作業を自動実行してくれます。仮にバグが発生しても、同じくコマンド一つで元に戻せるので非常におすすめです。

品質管理では各パッケージ・クラス・メソッドごとに品質状況をビジュアル化してくれるSonar Qubeなどの静的チェックツールがあります。コードを逐一見なくてもどのモジュールの品質が悪くなってきているかが視覚的に判断出来るので、以前よりも稼働時間を下げつつ、品質管理をしっかりと行う事ができます。

 

さて、いかがでしたでしょうか。

今回はほんの一例を紹介させていただきましたがまだまだ大規模ラボを運営するコツはございます。

このブログをご覧になった方でもし今後のラボ拡大を懸念されている、現在上記のような課題を感じていらっしゃる、または他社事例をもう少し聞いてみたいというお客様などいらっしゃいましたらぜひご気軽にお問い合わせいただければと思います。