こんにちは。デベロッパーリレーションズチームの村上です。今回は私が開発マネージャーを務めるとくとくBBプロダクトチームについて書いていこうと思います。多拠点開発に興味のある方にぜひ読んでいただけたら嬉しいです。
多拠点開発における組織変遷
チーム紹介をする前にまず、多拠点開発ならではのマネジメントの苦悩と、現在のチーム編成に至るまでを簡潔にお伝えできればと思います。組織全体で俯瞰すると複雑になるので、今回は私を主軸として組織変遷を簡潔にお伝えします。
組織改善前
kitaQの開発チームは、『ConoHa、Z.com』、『お名前.com』、『とくとくBB』の開発を担当していました。各サービス毎にマネージャーを配置し、プロジェクトマネジメントとヒューマンマネジメントを行っていました。
プロジェクトマネジメント案件進捗管理、メンバーアサイン、技術フォロー等ヒューマンマネジメント工数管理、チーム内調整、評価など
マネージャーの業務としては他の組織と相違ないと思うのですが、改善前の私たちの組織では、マネジメントの役割を拠点で分けて行っていたためマネジメントの工数が無限でした。
3つの商材にまたがってヒューマンマネジメント、とくとくBBに関してはプロジェクトマネジメントも開発業務も行っておりましたため、マネージャーとしてメンバーが気持ちよく開発に集中できる環境を用意することがなかなか難しいことも課題であると感じていました。具体的には以下です。
マネジメント範囲が広すぎて、開発で困っていることをタイムリーに解決できない3つのサービスそれぞれに関わるメンバーの状況をすべて把握する必要があるが、現実的に難しいことがあった
組織改善後
そこで上記で示しているとおり、多拠点にまたがって1つのチームとして稼働していく体制へと改善されたのです。
サービスごとに縦割りにし、ヒューマンマネジメントもプロジェクトマネジメントもすべて1人のマネージャーが請け負うことで、改善前にあげていた課題を少しずつクリアにすることができました。たとえば以下のようなことが改善されました。
マネジメントすべきメンバーがある程度固定されたことでTODOが把握できるようになったタイムリーに困難なことに対応できるようになったマネジメントコストが削減されたことにより、私自身の開発工数が捻出できるようになった上記をもって、開発の質があがった
多拠点開発チームの特徴
ここからは、現在の私のチームについてご紹介します。
特徴としては、メンバー構成が多拠点に跨っていること、構成するメンバーのほとんどが若手が多いことです。北九州に私を含む6名、東京に1名、ベトナムに2名という形で開発を行っています。
メンバーとうまく意思疎通ができるかどうかは非常に大事です。なのでコミュニケーションにかける時間を大事にしています。メンバーのほとんどが新卒という点は、まだまだ課題の方が多くありますがこれからの成長に期待できるかなと考えています。あとは若いメンバーが多いので、自分の知らない分野の話や考え方が聞けたりして勉強になるなと感じる部分も多いです。
主な業務
とくとくBBのnaviと呼ばれる、とくとくBBの会員向けコンパネの開発を行っています。取り扱っているサービスの申し込みや、契約情報の確認ができるサイトです。具体的な業務としては、新サービスを取り扱う際の開発、事業部の施策対応、不具合やCSからの問い合わせ対応を行っています。お客様がよりわかりやすく、使いやすいサイトを作っていってます。上記のサイト管理以外にも、サイトのリニューアル開発も並行して行っています。リニューアル開発とはなにかというと、現在naviはサービス初期から使われている旧サイトから、現サイトへと機能移管を行っています。ただリニューアル開発のスピードより、新サービスの展開スピードのほうが早く、中々移管が進んでいないのが悩みの種だったりします。。
使っている技術
現在使用しているのは「ASP.NET MVC」で言語は「C#」を使用しています。フロント側は「jQuery」を使っています。少し昔の定番のような構成です。JavaScriptのフレームワークといえばReactやVue.jsを使っていないの?って思われるかもしれませんがまだまだ現役で使っています。バックエンドのバッチやAPIと連携する為にSQLでクエリも書きます。ただ作ってから結構な年数が経過しているので、通常の開発と並行して色々とアップデートしたいなと感じています。たとえば実際にコード書いてるとTypeScriptを使うと楽だなと感じる部分が出てきてたりします。
チームのミッション
チームのミッションとしては「業務領域の拡大」と「エンジニアの育成」を掲げています。
業務領域の拡大
先ほど、とくとくBBの会員向けコンパネの開発を行っているとお伝えしましたが、メンバーの増えてきたので、さらにkitaQでできる開発を増やそうと考えています。
とくとくBBには入会サイトや申込みサイトが多数存在するので、そこをすべてkitaQで開発できるのが私の野望だったりします。
エンジニアの育成
もう1つはエンジニアの育成です。若手エンジニアには、スキルアップとサービスへの理解を深めてもらいます。とくとくBBは歴史の長いサービスで現在150万以上の会員様がいらっしゃいます。その分だけサービスの数も多いですし、仕様はどれも違ったりするので理解度を深めるというのは非常に大事だったりします。
具体的な施策
下記の施策を行うことで、メンバーの成長の加速させています。
サービス説明
サービスへの理解を深めてもらう為、東京・北九州のチーム合同で古いサービスから最近のサービスまでどういう仕組なのか、裏側のロジックはどうなっているのかというのを説明する時間を設けています。これのおかげで途中からジョインしたメンバーもサービスへの理解を深めることができていると実感しています。
コードレビュー
これはどこもチームも当たり前のようにやっていますが、うちのチームではメンバー同士のでコードレビューに加え、最終的には私が必ずコードレビューを行うことで細かな部分への指摘もしっかり行えるようにしています。最初は私だけがコードレビューを行っていたのですが、コードをレビューするのも自分の実力になると思ったので、若手メンバーにもコードレビューをしてもらって、何かしら指摘できるように育ってもらおうとしています。
ペアプログラミング
結構な頻度で取り扱うサービスが増えるので、新規開発する機会が多いです。
若手メンバーによろしく!と振りっぱなしにせず、1枚の画面(オンラインではZoomの画面共有)で一緒にコーディングを進めたりします。ペアプロで開発するのはコストがかかってしまうのでは、という指摘をいただきますがペアプロですすめることで成果物の完成度は断然よくなります。検証中の不具合修正作業量も減っているので、やる価値はあると私は考えます。
まとめ
まだまだチーム的にもメンバー的にもこれからではありますが、成長を考えるとこれからが非常に楽しみなチームになっています。若手エンジニアが早く一人前のエンジニアになれるように、私も頑張って支えていこうと思います。