こんにちは、Bizer teamのプロダクトマネジャーをしています田中です。現在Bizerではチームで一緒に働いてくれるエンジニアさんを募集中、ということで実際にどんな風に日々開発が行われているのかをお伝えしたく筆をとりました。
(カバー写真はリモートワークで打ち合わせの際にチームで撮った写真です、写真撮るので身だしなみよろしく!とお願いしたら正装してくれたメンバーが…)
この記事では実際のサービス開発のみではなくその前後も含めて、アイデアがどのように形になってサービスとしてリリースされるのかを書いてみます。
機能開発の過程
何を作るのか
Bizer teamでは「小さく作ってリリースする、そして改善する」というスタンスを取っているので、膨大なやりたいことリストの中から優先順位をつけて何を作るのか、を決めます。ここは主にプロダクトマネジャーである私の仕事です。大小様々なアイデア、課題の中から今何をやるか、をチームと相談しながら優先順位をつけていきます。ちなみに、アイデアやユーザーさんからの要望はすべてGithubで誰でも見れるようになっています。
どう作るのか
何を作るのかが決まると、それを具体的にどうサービス上で表現するのかということを考えます。普通はここでワイヤーなどが登場するわけですが、Bizerの場合は、まず私がUIデザイナーに課題と解決案を説明します。たいていの場合「意味がわかりません」という厳しいフィードバックを受けるので、ここでなるべく解像度をあげてやりたいことを具体的にしていきます。課題とやりたいことが伝われば、それをもとに敏腕UIデザイナーが見事に形にしてくれます。
そうして形になったデザインを見ながら、デザイナー、実装するエンジニア、ユーザーの操作を一番わかっているカスタマーサポート担当とチームで細かい部分を詰めていきます。
作る
デザインが決まると、フロントのコーディングと内部の実装に入っていきます。基本的には、設計から実装までひとつのissueに対してひとりのエンジニアが担当します。ちょうどこのリモートワークの環境下でお互いの状況が見えにくくなっていることからもスクラムを始めてみようか、という話になっており、チームとしての開発力をあげるために様々な取り組みをしています。
実装が終わると、コードレビューがあったりなかったり、開発環境での確認を経てサービスリリースとなります。
その後
リリース後は、その機能がどれだけ使われているのかの数値を確認したり、実際にユーザーさんにヒアリングしたりしながら改善を繰り返していきます。
開発の割合
悩ましいリソース問題
新しい機能をどんどん追加したい、でも既存の機能の改善もやりたい、それに加えて将来を見据えてコードのリファクタリングもおろそかにしたくない…どんなサービスも抱えているであろう、やることはたくさんあるけどリソース足りないよね、どうしよう…Bizer社も例外なく常にこの問題を抱えています。
現状では、機能追加:機能改善:リファクタリング = 5:3:2くらいの割合でしょうか…
リリースから2年半が経ち、サービスもコードもどんどん複雑になる中、機能追加のスピードを落とさずに既存の機能や全体のUIもメンテナンスしながらどんどんよくしていきたい、そんな状況にあります。
まとめ
というわけで、人が足りません!というまとめです!!!
特に、サービスのフロントをどんどん改善して、すてきな新機能を作ってくれるフロントエンジニアの方を積極募集中です。やることは山のようにたくさんあるので、機動力のある小さいチームで意見を出して議論しながら良いサービスを一緒に作りたい、という方、ぜひお気軽にご連絡ください!