はじめまして!モバイルアプリチームを担当している北沢です!
内製開発チームは複数のチームで構成されており、私は「モバイルアプリチーム」での開発を担当しています。
東京ガスが掲げている大きな目標である「『CO2ネット・ゼロ』をリード」に貢献すべく、お客さまへの新たな価値提供をモバイルアプリによって実現していくために発足したチームです。
今はまだプロダクトの内容についてはご紹介できないのですが、技術スタックや開発手法などチームがどのような形で日々開発を行なっているのかをご紹介できればと思います。
開発の流れ
モバイルアプリチームではスクラムを採用し、1 スプリント 1 週間で開発を行っています。 内製開発チームではドキュメント管理にはNotion、オンラインホワイトボードとしてMiro、タスク管理ツールではLinear、コミュニケーションツールにはSlackといったツールが導入されており、私たちのチームでもそれらのツールを有効活用しながら開発を進めていいます。
プロダクトビジョン、行動規範
プロダクトのビジョン、スクラムで出たワーキングアグリーメントや DONE の定義やスプリントプランニングやレビューでの議事録、 システムアーキテクチャやコーディングルール、そしてチームでの行動規範といったものは Notion でまとめて、チーム全員がいつでも確認できるようにしています。
スクラムイベント
バックログは Linear というタスク管理ツールで管理しており、これを用いてプランニング、デイリースクラムなど各セレモニーを行っています。 Linear はサイクル(≒スプリント)と呼ばれる期間を区切った開発管理が可能なツールです。 このサイクルには名前をつけることができ、スプリントプランニングでキャラクターの名前などをつける等を行い、コミュニケーションの促進を図っています。 本来はスプリントゴールを意識できるようなスプリント名をつけるのが良いと思いますが、スプリントプランニングなどで自分がこれだと思うキャラクターをプランニングポーカーのように出し合うのは なかなか面白く、スプリント開始時にチームの盛り上げとして機能していると感じています。
- レトロスペクティブ
レトロスペクティブでは、Miroを使用して振り返り実施しています。「KPT」フレームワークを用いて振り返りを行うことが多いですが、 不満や不安が溜まっていそうなときは「象、死んだ魚、嘔吐」を行うなど状況に応じて振り返りのフレームワークを変更しています!
コミュニケーション
スクラムイベント以外でのコミュニケーションは、Slackのハドルを活用しています。 必要に応じてモブプロやペアプロをしたり、時には雑談をしたりしながら開発を進めています。 リモートワークが多くオンラインでの対応が多いチームなのですが、ツールを活用しチーム内では活発なコミュニケーションを行うことができています。
技術スタック
モバイルアプリチームでは、Flutter を採用して開発を進めています。 昨今のモバイルアプリエンジニアの採用の難しさに加え、iOSとAndroidの両方で動作するアプリを同一のコードベースから開発できるクロスプラットフォームでの開発は、少人数で開発を進める内製開発チームにマッチしていると判断しました。
開発を進める中で、単一コードで UI デザインを統一して開発できるため開発効率も良く、必要に応じて OS 別に実装できる柔軟性もあり、何より「こういう UI あるかな、こういう UI の設定できないかな」と思って探すと Flutter 側で実装されており可能だった、というような体験が多いことから、開発体験が良いフレームワークだと感じています。
今回の記事では詳細な内容についてはお話ししませんが、今後はFlutterの開発事例なども記事にしていきたいと思います。
さいごに
今回はモバイルアプリ開発チームの開発の流れや技術スタックについて軽くご紹介させていただきました。 内製開発チームでは、モバイルアプリについても内製化を今後推進していきます。 現在ソフトウェアエンジニアやSREのポジションにて積極的に採用を行なっています。 Webエンジニアだけでなく、モバイルエンジニアも対象ですので、ぜひご興味がある方は以下をご覧ください。
Application Developers
www.wantedly.com
SRE
www.wantedly.com