はじめまして。ジモティーでiOSアプリ開発をしております玉井です。
今回は、ジモティーのiOSアプリをどのように開発しているか説明したいと思います。
背景
ジモティーのiOSエンジニアは3名いて、それぞれが機能追加・修正を行いリポジトリにプルリクエストを送ります。 プルリクエストのレビュアーにアサインされたら、エンジニア同士でレビューを行いマージを行います。 リリースはその時に空いているエンジニアが担当しています。
このフローで進めて行く上で、以下のような課題が出てきました。
- リリース前に必要な作業(関係者への確認会を開く等)があるが、担当者が曖昧でその進捗が不明確
- リリース後のモニタリング(クラッシュや、数字の動き等)をするルールが無くて属人化している
こういった課題を解決するために、リリースマネージャーを導入してみました。
リリースマネージャー
バージョンごとに、リリースに責任をもつリリースマネージャーを1人選びます。 リリースマネージャーは当番制でiOSエンジニアが持ち回りで担当します。
リリースマネージャーのタスクは以下のとおりです。
- バージョンに含める修正内容を決める
- 開発の進捗確認
- リリース作業
- リリース後の監視、振返り
リリースごとにタスクをチェックリストで一覧化したissueをGitHub上に作成しています。
導入効果
『誰が何をすべきか』が明確になり『リリース前に必要なあの作業、誰もやってない気がするけどどうなんだっけ?』といった悩みの解消や、リリース後のモニタリングや振返りの実施が習慣付くようになり、以前より開発フローがうまく回るようになりました。
今後の展望
- iTunesConnectへのアップロード自動化
- CI導入(Bitrise/Travis CI)
良いアプリを作るために出来ることから少しずつ改善を続けていきます。
弊社では一緒にプロダクトを改善していただける仲間を探しています!
こちらでお気軽にお声がけください!