大手プログラミングスクールのフリーランスコースに半年ほど通い、はじめてチーム開発を経験したので、そこでの学びを共有できればと思います。「チーム開発をうまく進めるために意識したい3つのこと」、と題して3つのポイントに整理してお伝えします。自分への戒めも込めて書いていきます。
その1:納期を意識しよう
チーム開発に限った話ではないですが、納期通りに仕事をやり切らないと仕事をしたことにはなりません。クライアントは開発のスケジュールと成果物に対する対価としてフィーを払ってくれるので、その責任をおって開発者は業務を遂行すべきです。
偉そうに書いていますが、自分はスクールの最終課題で、期限内に全てを作りきることができず悔しい思いをしました。今思えば、時間をかけるべきところと、そうでないところを見極め、もっと有効的な時間の使い方ができたんじゃないかと反省しています。
またチーム開発はもちろん人で行うものではないため、チーム全員でこの意識を持っていることが重要です。チームで意識統一を心がけることがポイントですね。
その2:作る範囲(スコープ)を明確にしよう
次に重要だな〜と思ったのが、開発する対象となる範囲(スコープ)を明確にすることです。ここでいうスコープとは、作る機能の全量だけでなく、個々の機能をどこまで作り込むかという広さと深さの問題だと思っています。
まず広さですが、作るサービスをユーザが利用する際に必要な必要最低限は何なのか、Must機能とWant機能をきちんと判断することが重要だと思いました。限りある時間の中で、クライアントの求めるものをアウトプットするためです。また同様の理由で、深さについても検討が必要です。必要以上に作り込んでしまうことで、時間を浪費してしまうリスクがあります。
その3:イラっとしても怒らず前に進めることを優先しよう
チーム開発では複数人と関わり合いながら開発を進めます。そのため自分の思い通りにならないことや、自分が他のメンバーに迷惑をかけてしまうことも時として起きてしまいます。人は誰でも何か思い通りにならない時、イラっとしてしまいついつい気分に任せて怒ったり、作業をやめてしまったりと問題を起こしてしまいがちです。
チーム開発では、問題が起きて当たり前です。そのため、チーム開発に関わる方は最初から問題は起こるもの、起きた時にどのようにうまく前に進めるかを考えるようにしておくと良いかと思います。
最後に
いかがでしたでしょうか。自分の少ないチーム開発経験を振り返って、「もっとこうしておけばよかった、、」と思ったポイントをご紹介しました。これからもチーム開発の知見は積極的に発信していきたいと思います。