こんにちは。Product Teamの北原です。
Product Teamでは普段チームでペアプロ開発をしていますが、1ヶ月間チームから離れて自由に開発をすることができる「1人プロジェクト」という制度があります。
今回、1人プロジェクトに参加してみたのでその感想についてお話しします。
1人プロジェクトに参加した目的
1人プロジェクトとは1ヶ月間1人でデプロイからアプリケーションの実装をするというものです。
今回1人プロジェクトをやる目的として以下がありました。
- 一人で0からアプリケーションを作り技術力を向上させたい
- インフラ周りの苦手意識を克服したい
弊社に入ってから0→1の開発に携わったことがなかったため、1人プロジェクトに参加し実際にゼロからデプロイまでを経験することで、多くのことが学べるのではないかと思いました。
また実際にデプロイするにあたってKubernetes周りに苦手意識を持っていたため、そこを少しでも克服したいという目的がありました。
取り組んだこと、作ったもの
ビジネスサイドで運用しているオペレーションの作業効率化と効果測定を行いました。
普段いるチームで日頃からオペレーターの方の運用負荷を感じており、チーム作業では着手が難しいビジネスサイドの方の作業の効率化を行いました。また行動解析などデータを使ってよりオペレーターの方の生産性を高める開発を行いました。
具体的にはKintoneから今回開発したAPIを経由し、自社APIを叩くことで、自社データを取得しそのデータを整形してKintone上で見れるようにしました。
- Kintone内の開発
- 外部APIの0→1開発
- 自社APIの追加開発
Kintone内の開発ではカスタマイズ機能を使った内部データの更新や外部APIの取得の開発を行いました。
外部APIの0→1開発ではゼロから外部APIを実装し、自社APIの追加開発では外部APIからリクエストされる自社APIの口を追加実装しました。
工夫したこと
ビジネスサイドの方と頻繁にコミュニケーションを取った
週に2回のMTGとSlackでのコミュニケーション、また随時必要な時にMTGを設定しビジネスサイドの方と頻繁にコミュニケーションを取っていました。
また完成イメージを共有や小さくリリースすることで、ビジネスサイドとの認識のズレの解消などに繋がりました。
他にも実際にオペレーターの方が使ってもらうこともあり、MTG内でロールプレイングをしたり分析チームとコミュニケーションを図ることでより良いプロダクト作りに取り組むことができました。
1人プロジェクトの取り組み方や進捗を開発メンバーに共有しFBをもらう
開発メンバーに頻繁に1on1を設定してもらい、進捗状況や取り組み方などについて逐一FBをもらうようにしました。
そうすることで自分が感じている不安点の解消や抜け落ちている観点の気づきなど1人プロジェクトを進める上でとても助けられました。
よかったこと
0→1を経験できた
選定技術やどういったアーキテクチャにするかなどを考えて実際にAPIとして落とし込むなど、0→1流れを経験できよかったです。
またSREや開発メンバーに協力してもらい、目的の1つであったインフラ周りの知見も得ることができました。
カンバンを用意しストーリー作成してアジャイルっぽく開発した
1人プロジェクトとはいえ、一人だけのチームと考えて普段のチーム開発のようにカンバンを用意し、ストーリーなどの付箋を作成して開発を進めていました。
ストーリーの付箋や優先順位、簡単な構成図をカンバンに用意することで、ビジネスサイドとのMTGや1on1でのFBが進めやすくなったと思います。
伸び代
事前調査が甘かった
Kintoneでのカスタマイズ方法や開発したAPIのIP制限のやり方など、事前調査が甘かったことにより、実際に着手する段階になって気づくことがありました。
Kintoneでのカスタマイズでは管理者権限を変更することで使えるようになる認識でしたが、実際は契約プランをアップグレードしなくてはならないなど事前の確認が甘かったように思います。事前調査の甘さは反省点として今後の業務に生かしていきます。
技術にコミットする時間の確保
1人プロジェクトでの一番の目的として純粋な技術力向上が挙げられており、実際に0→1での開発で技術力の向上を実感したのですが、もっと技術にコミットできる時間を確保できるよう計画するとよかったように思います。
携わったプロジェクトの特徴としてもオペレーターの方が運用で使うこともあり、ビジネスサイドのコミュニケーションやデータ設計に多くの時間を使ったため、純粋な技術に向き合う時間があまり取れなかったように思います。
次回1人プロジェクトをやる際はあらかじめビジネスサイドとの交渉の上、技術の時間にコミットする時間を多く取りたいと思います。
まとめ
1ヶ月間1人プロジェクトをやってみて、自分の目的としていた技術力の向上や0→1の経験ができとても充実した時間を過ごせました。 また近いうちに1人プロジェクトに挑戦してみたいと思います!
過去に1人プロジェクトをやってみた感想もあるのでぜひこちらもチェックしてみてください。
また、ユーザベースではエンジニアを募集しています。
ぜひ、興味を持たれた方はエントリーをお待ちしております。