みなさんこんにちは。
リンクトブレインのエンジニア、高桑です。
今回のブログでは、僕が参加しているプロジェクトの開発体制をお伝えできればと思います。
応募に悩んでいる方に、少しでも参考になれば嬉しいです。
1:プロジェクトの開発体制の紹介
今回は、新規アプリ受託開発(iOS,Android)の開発体制についてご紹介します。
• チーム体制
チーム体制はプロジェクト責任者をトップに据え、開発責任者である開発ディレクターが我々エンジニアチームを指揮しています。
エンジニアチームは、クライアントチームとサーバーチームに分かれています。
クライアント側のリーダーが僕になります。
僕は、クライアントチームリーダーとして進捗管理やメンバーフォローをしつつ、プレイングマネージャーとして実際に開発にも携わっています。
サーバーチームは別拠点で開発しているため、コミュニケーションが取りづらいのが難点です。
そこで、サーバーチームへの相談はサーバーチームリーダーを通して相談するというルールを作り、問題の解決を図りました。
また、拠点は徒歩5分程度の場所にあるので、頻繁にFace to Faceでコミュニケーションを図るようにしています。
【新規アプリ開発体制図】
• 開発の流れ
開発の流れは、クライアントの要件を聞き、リリース予定日に合わせてスケジュールを組み、タスクを切っていきます。
そのタスクを各リーダーがメンバーに割り開発していきます。そして、成果物を月に1度、クライアントに納品しています。
クライアント開発はUnity +C#
スケジュール管理はRedmine
バージョン管理ツールはgitを使用しています。
2:リンクトブレインのエンジニアチーム
• リーダーとしての役割
僕がチームリーダーとして気を付けていることは、チームの雰囲気作りです。
僕からメンバーに積極的に声をかけたりして、気になったことは気軽に相談できるようにしています。
また自分の信条として、リーダーはメンバーが気持ちよく仕事できる環境をいかに整備していくかが、重要だと思っています。
だから、問題になりそうなことを先回りして見つけることはリーダーにとって重要な役割です。
メンバーが開発に入る前に、その他の問題を片づけないとメンバーに負荷が掛かってしまうため、事前にできるだけ取り除いておきます。
• 週に1度の振り返り
毎週金曜日にKPT「Keep・Problem・Try」のフレームワークを使って、振り返りを行っています。
振り返りで一番気を付けているのは、個人の否定をしないことです。
なぜかというとチームが上手く回っていないのは、チーム内のルールや開発の仕組みに問題があるからです。
また、問題はシステム的に解決するように心がけています。
「気を付ける」ではなく、「ルールを決める」「自動化する」ことで、事故を防ぐことができる仕組みを作っています。
• 向上心の高いチーム!
チームメンバー1人1人がソースコードの質を高める努力を惜しまないことも、エンジニアチームの特徴です。
ソースコードを修正したときは必ずレビューを行っており、1人が作ったものを全員で見るようにしていています。
全員が確認することにより、属人化防止・ナレッジを共有できるといったメリットがあります。
また、コメントにもルールがあって、「必ず対応してほしい」、「自分ならこうする」、「細かい指摘」、「質問」といったprefixをつけています。
こうすることでフィードバックを受けた人がどう対処すればいいか迷わないようにしています。
• 勉強会で新しい知識を身に着ける
エンジニアチームでは定期的に勉強会を行っています。
現在はGCPについて、週4回、業務の時間を使って勉強会をしています。
書籍を購入し「これはどういう意味か」と意見を交換したり、時にはチームメンバーの誰かが先生をしたりしています。
いかがでしたでしょうか。
普段はお伝えできないことも、皆さんに知って頂けたかと思います!
少しでも興味をお持ちいただけましたら、リンクトブレインHP(https://linkedbrain.jp/)よりぜひご応募ください!