はじめに
今まで個人開発をしてきましたが、チーム開発をする機会は短期のインターンでしかありませんでした。また、そのインターンも2人での開発で規模も小さく、チーム開発の楽しさやチーム開発で重要ことなどについてまだ分かっていません。
そこで、サポーターズ主催の勉強会「チーム開発で成果を引き出すためのアプローチを学ぼう」に参加させていただきました。そこでの学びをここに記します。
講師はGMOインターネットグループの成瀬 允宣さんです。
チーム開発と個人開発は全然違う
個人開発で1の成果を出せるとして、普通に2人でチーム開発をすると1.5くらいの成果になってしまうようです。この成果を最大化するにも、チーム開発で成果を引き出す能力を身につけておくことは重要になります。企業では必ずチーム開発をするので、必須のスキルです。
チームビルディングの難しさ
チーム開発には画一的な成長のためのレールがありません。「この本さえ学べばチームビルディングができる」みたいなものがないということです。
とはいえ、セオリーはあるようです。
チームワークの構築
リードを決める
物事を進めるために必要なことは、「誰が何をやるか」です。それを決めないと、誰が権限や責任を持つか分からず全然進みません。
そのため、役割を分けてチームごとにリードする人を決める必要があります。ただ、失敗の責任がリードではなくチームにあります。
リードは意見を集め、主体的に進めて方針を決定する必要があります。
一方で、ほかのメンバーはチームの決定を尊重し、チームに寄与する必要があります。
チームでのコミュニケーション
細かいマネジメントは互いに不幸になりがちなので、チームで開発する上では細かいマネジメントより細かいコミュニケーションの場を設けることが重要です。
起こりがちな問題
チーム開発で起こりがちな問題にバッファを盛り過ぎてしまうという問題があります。
停滞を打破する方法
オンラインのミーティングでは停滞してしまうことが多いです。
そのため、基本マイクオンにして、発言のハードルを下げるのが重要です。
リーダーシップの種類
後ろに立つ
精神的につらく、肉体的に楽
前に立つ
肉体的につらく、精神的に楽
現状のまま最高のパフォーマンスを出すには後ろに立つリーダーシップでもいいですが、現状の先に進むには前に立つリーダーシップが必要になります。
ハッカソンでのチーム開発
チーム開発の実地訓練をする場所はなかなかありませんが、ハッカソンに参加するという方法があります。
そこで求められることは、基礎的なプログラミングとWebの基礎です。
また、フロントエンドかバックエンドどちらかの知識があれば最低限活躍できるようです。