【オフショア開発事情】良い開発チームを作るには?2つの大事なポイントを解説
Webサービスやモバイルアプリの開発を行う上で良い開発チームを作ることはプロジェクトの成否を握る重要な要素のひとつです。
しかし、過剰なタスク量や人材不足、無茶な開発スケジュール等で実際の開発現場の多くはチーム作りに時間を割く余裕がなく、結果プロジェクトが途中で頓挫するケースもあります。
そんな中、これまで数多くのプロジェクトを成功に導いてきた若きリーダーのビン氏に今回は「良い開発チームを作るには」というテーマでお話を伺いました。
目次
プロフィール
Binh Nguyen T. / ビン グエン Supreme Tech CO., LTD CEO
学生時代は日本へ留学し新卒から約3年間日本で就労。社会人3年目で自分のキャリアを見つめ直し、自身のIT会社を立ち上げるためベトナムへ帰国。会社経営を数年経験した後、ベトナムのオフショア開発企業にジョインし、ビジネスアナリスト、プロジェクトマネージャー、ディレクター業務に携わる。現在は株式会社Enlytのベトナム開発拠点であるSupreme Tech CO., LTDにて、組織作りや新規事業の成長に日々尽力している。
開発におけるチームワークとは?
インタビュアー:ビンさんにとって開発におけるチームワークとはどういったものでしょうか。
いきなり難しい質問ですね。笑
開発におけるチームワークとは大きく分けて2種類あると考えています。
目標を共感できるチームであること
1つの開発チームは全員が個人の目標とチーム全体の1つの目標を持って、その目標に向けて仕事をします。
チームメンバー全員が同じ目標を見れるようにすることで、そこから問題提起や改善提案などより建設的な意見が出やすくなります。
チームメンバーを信頼できること
これはプロジェクトマネジメントのスタイルにも依りますが、私は自分の開発チームは「目標を達成できるチームだ」と自信を持つことが大事だと思います。
そしてそのことを常にチームメンバーに伝えチーム全体を鼓舞します。
一人一人が自信を持てるようになりお互いに強い信頼関係を築くことができます。全員が自信を持って自分の仕事をすることは仕事へのモチベーション含め大切だと考えています。
良いチームの定義とは?
インタビュアー:ビンさんが考える良い開発チームとは一体何でしょうか
開発に限ったことではないですが、仕事に対してワクワクできるようなチームではないでしょうか。
一人一人のモチベーションが高いチームは成長率も大きいですし、個人としてもチームとしても成長できると思います。
開発の話でいくと、良いチームの場合はアジャイルで開発を進めている際にスプリント毎にベロシティが向上したり、UI/UXに関するプロダクトへの提案がチームメンバーから挙がったりとポジティブなシーンが数多く見られます。
良いチームを作り上げるために工夫していることは?
インタビュアー:良いチームを作るにはどのようなことが大切なのでしょうか。
私がプロジェクトマネージャーを担当する際に「タックマンモデル(Tuckman’s Model)」をチームビルディング(組織進化)モデルとして参考にしています。
プロジェクト成功の鍵:タックマンモデル
タックマンモデルは開発チームの成長を形成期、混乱期、統一期、機能期の4段階にモデル化したものです。通常開発チームはこの4つの段階を経てチームが構築(チームビルディング)されます。
形成期(Forming)ではメンバー間に距離があり挨拶やアイスブレイクを経て信頼を深めていくことが重要です。
混乱期(Storming)ではチーム間の意見の対立や問題等が多く発生するため、メンバー間で議論を重ね問題を解決していくことが求められます。
統一期(Norming)は各メンバーの役割が明確化しチームとしての結束力が強くなるフェーズです。
機能期(Performing)ではお互いが同じ目標を持ち、どんな問題があっても必ず解決できる状態になります。
プロジェクトマネジメントとして一番大変なのはどの時期?
やはり混乱期と統一期だと思います。
一番PMとしての実力が試されるフェーズだと考えています。良くないチームの場合は問題があっても表面化せずにそのまま放置されてしまうパターンもあります。
また、口に出して言えないけど実は内面に抱えている不安・不満もPMがメンバーとヒアリングすることで紐解いていく必要があります。
いかにチーム内で隠れている問題を探し出し、最適解を考え、チームを前に進めるようにできるか、これが混乱期と統一期をうまく乗り越えるための鍵だと考えています。
失敗談・失敗の反省、工夫していることは?
インタビュアー:多くのプロジェクトをご経験されて、失敗したこと等はありましたか?
はい、中にはうまく進められなかったと感じるプロジェクトもあります。共通しているのは「コミュニケーションがうまくいかない」ことです。
コミュニケーションがうまくいかないとは?
これはクライアント⇄開発メンバー間に限らずクライアント⇄ステークホルダー間でコミュニケーションがうまくいかない時があります。
コミュニケーションがうまくいかない理由は大抵「開発チームとクライアントのやりたいことに齟齬がある」ことです。
具体例を挙げると「一刻も早くリリースしたい」というクライアントの想いと「品質の高いプロダクトを余裕を持ったスケジュールで開発したい」という開発者の想いがあるとします。
そして納期に間に合わせるために残業や休日出勤が続くことで開発現場が疲弊し、結果として開発側の目標が「良いプロダクトを作りたい」ということから「休みたい」に切り替わってしまいます。
それに伴いクライアントも開発が思うように進まず不満が募っていき、双方が不幸せになる状況となってしまいました。
良いチームを作るためには
インタビュアー:上述いただいたような失敗を防ぐためには、どのようなことが大切でしょうか
大事なのは「クライアント含め全員が一丸となってプロジェクトを進めること」だと思います。
プロジェクトに参画する全員が同じ目標を共感し、問題があれば全員で解決策を考えることがプロジェクトの成功に大きく関わることだと学びました。
まとめ
ただクライアントを満足させたいが為に開発現場が疲弊することはクライアントを含め良いチームとは言えないと思います。
クライアント含めワンチームとなって、プロジェクトを成功させることで強い信頼関係を構築でき、長きにわたる良いチームを作り出すことができると考えています。
Enlytについて
株式会社Enlytはベトナムに開発拠点SupremeTechを持ち、これまで50以上の開発プロジェクトを行ってきました。ベトナムと日本のグローバルなチームで、数多くのプロジェクトを成功に導いてきました。
Enlytのオフショア開発は、アジャイル・スクラム開発を採用しています。コミュニケーションの透明化を意識してそれぞれの役割で責任の範囲を明確化しています。クライアントも含めたワンチームとして、フラットな関係で開発を進めることができます。
お客様の納得のいくまで、共に開発させていただき、アイデアを最高のかたちにサービス化いたします。
オフショア開発についてのお悩みやご相談がございましたら、下記ボタンより気軽にお問合せください!