Baseconnectの「今」と「メンバー」を伝えるブログ。

「常により良い開発体制を模索し続ける」エンジニアチームの開発体制とは

Baseconnectは代表がエンジニア出身ということもあり、社内にはエンジニアリング文化が根付いています。そこで、開発部門の責任者である飯野さんに、実際の開発体制についてお話を聞いてみました。

飯野 晃司
開発部門 責任者 
NTTデータ関西にて14年間、開発職・マネージャー職を歴任。主にBtoBプロダクトのプロジェクトに参画し、官公庁や救急医療システムの開発にも携わる。その後、先端技術への興味から、ITベンチャーに開発兼マネージャーとして転職し、遠隔での動画コミュニケーションツールの開発を経験する。2018年にBaseconnectに入社。

継続的にプロダクトの価値を向上させていくことを意識する

現在、Baseconnectの開発体制の大まかな流れとしては、事業戦略メンバーが考えた戦略をもとに企画を作り、そこからUX/UIデザイナーがデザインや画面設計を考え、エンジニアがプロジェクト化して開発を進めていっています。

エンジニアは開発部門の中で「フルスタックエンジニアチーム」「フロントエンジニアチーム」「サポートエンジニアチーム」という3つのチームに分かれており、Musubuという1つのプロダクトに対して複数のプロジェクトを立ち上げてアプローチするという体制で動いているんです。

「フルスタックエンジニアチーム」はフロントエンドからバックエンドまで幅広く開発に携わっていて、「フロントエンジニアチーム」はプロダクトのデザインを作り上げる実装部分を担当しています。また、「サポートエンジニアチーム」は、主に直接お客様から問い合わせを受けるビジネス側のカスタマーサポートチームと連携して、技術的なサポートをしています。

常にアジャイルを意識した開発体制で取り組んでいますが、徐々に開発の規模が大きくなってきているので、スクラムといったコアフレームワークから、よりスケールアップさせた開発体制を作る取り組みも行なっていますね。

プロジェクトには複数の種類があるのですが、企画を元に「新機能開発」「機能改善」を行うもの、「基盤改善」を行うものの、大きく2種類に分けられます。事業戦略チームがおよそ3年間程度の中長期の企画を考えているので、そこから1年間のマイルストーンを決めて、企画をプロジェクト化していっているんです。

その他にも、必要に応じてプロジェクトが立ち上がることがあります。例えば集客のための改善をエンジニアチームとマーケティングチームが協力して行うなどです。

f:id:yuri_terao:20210126183407j:plain

また、Baseconnectの開発チームの特徴として、社員よりもインターンの方が多いことが挙げられます。これは、Programming Bootcampという仕組みが整っているだけでなく、雇用形態による区別をせず、実力のある人が活躍していく活気のある雰囲気があるからこそだと思います。そういった雰囲気に魅力を感じて、継続的に優秀なメンバーが集まってきてくれています。

Programming Bootcampとは
未経験からエンジニアを目指せる学生向けのトレーニングプログラム。無償で参加が可能で提供されたプログラムにそって学習を進めていく。希望者はテストを受けることで、エンジニアインターン選考に挑戦ができる。

皆が開発しやすいよう、最適な体制を常に模索している

Baseconnectは元々フルスタックエンジニアを採用してきており、最初はフルスタックチームしかありませんでした。そのため『Musubu』などのプロダクトに関連してチームを分けていた時期もあります。 しかし1on1を通してメンバーの声を聞いていると、フロントエンドを牽引していきたいと立候補してくれるメンバーがいたので、フロントエンドチームを作ってリードしてもらった方がよりプロダクトの成長に繋がると思いました。

また以前までは、デザイナー中心のチームがフロントエンド部分も担っていたのですが、チームを編成し直したことで、モダンな技術を使ってより実装の速度を上げていけるようになりました。さらに、全体としてのリソースの調節もしやすくなったと感じています。プロダクトで分けられた枠組みがなくなったので、目的に応じて開発メンバー内でチーム化がしやすくなったんです。

ビジネスチームも開発チームもお互いを尊重し合える

私は今まで複数の企業で働いた経験がありますが、その中でもBaseconnectは会社としてエンジニアリング文化が浸透していると感じます。代表の國重さんが元エンジニアということもあって、例えばツールの導入1つをとっても「エンジニア視点から、使いやすいツールは何か?」「最適なツールは何か?」を調べて全社的に導入することができます。

さらにビジネスチームと開発チームの関係性も良いと思います。お互いに尊重し合うコミュニケーションが取れているので、プロジェクト開始前もいきなり「いつまでにやりたいからよろしく。」と一方的に始まるのではなく、「こういうことを考えているけど、実現って可能なのかな?」という会話から始まります。

開発を進める時に状況をお互いに確認出来るので、「こういうところをビジネスチームにも協力してもらいたい。」と言うこともありますし、リリース後もお互い努力して良くしていこうという目線で話し合っています。

f:id:yuri_terao:20210126183330j:plain

今後目指していきたいこととして、リアルタイムに意見を交換することで、実装サイクルのスピードを早めていきたいと考えています。そのためにはエンジニアだけでなく、ビジネスチームやデザインチームのメンバーをどんどん巻き込みたいですね。

例えば、今は企画チーム主体で考えている、ユーザーに届けたい価値を考える段階からエンジニアも積極的に参加し、デザインチームとも一緒に話をしながら、その場でプロトタイプを作るといった手法を取り入れたいと考えています。そうすることで、その場でフィードバックをもらいながら進めていけるので、開発のサイクルを早められるからです。

今はまだまだ組織の形がきっちりと定まっていない段階です。けれど、その分試行錯誤が出来る面白さも感じているので、今後も常にベストな開発体制を探しながら、より価値の高いプロダクトを作っていきたいですね。