こんにちは、ピクスタ開発部の星直史です id:watasihasitujidesu です。 idがwatasihasitujidesuですけど、執事ではありません。エンジニアです。
先日PIXTAのiOSアプリがリリースされました。 ピクスタではiOSアプリ開発経験者が1名しかおらず、どのように作っていくか手探りのスタートでした。
今回は、iOSアプリ開発を通してチームビルディングについて学びがあったので、その紹介をします。
目次
- キックオフMTG時のチームの状態
- チームビルディング
- ステートメント共有
- 実装イメージ共有
- まとめ
キックオフMTG時のチームの状態
開発チームメンバーの職能と経験、スキルセットは下記の通りです。
職能 | iOSアプリ開発経験 | スキルセット |
---|---|---|
エンジニア | あり | Railsは書けないが、iOS経験がある |
エンジニア | なし | Railsは書けるが、iOS経験はない。 |
デザイナー | なし | Webアプリが主。iOS経験はデザインを少しやったことがある。 |
チーム全体としてiOSアプリ開発経験がほぼないため、1人のプログラマーに頼るしかない状況でした。残り2人のメンバーはiOSアプリ開発経験がないので、発足当初は、アプリの操作イメージやデザインのイメージがついていない状態です。
以前のエントリからiOSの需要が見込めるため、まずはキックオフMTGを行いました。
そこで巻き起こった問題は下記の通りです。
- 具体的なターゲットは誰なのか
- ユースケースが想像できない
- 機能はどこまで作れば良いのか
- 機能過多にならないか?少なすぎないか?
大きなものだけピックアップしましたが、小さいものを含めると本当に多くの疑問質問が飛び交い、 キックオフMTGの時点で空中分解してしまうのではないかと不安になりました。
また、口頭でのやりとりが多い上にチームメンバー間のイメージ共有が全くできておらず、 話が進まない状態でした。
Webアプリとは違い、初めてのiOSアプリ開発なのでチームメンバーがどのようにプロジェクトを進めるのが正解なのか不安になっているのがわかりました。
私自身もiOSアプリに携わったことがありませんでしたが、チームを牽引してきた経験はあるので今回はこれまでの経験を活かしてチームビルディングを重点的に行おうと考えました。
チームビルディング
ステートメント共有
まずはiOSアプリを作成するにあたり、アプリのステートメントを共に考え、共有することにしました。
- ステートメント
- アプリの全てを説明できるシンプルな一文。ここから外れた機能は盛り込まない。
- ターゲット
- アプリを使うユーザー層。コアターゲットの大半が使う機能だけを盛り込む。
- ユースケース
- どのようなシチュエーションで使われるか。アプリの機能とライフサイクルは、ユースケースに適したものにする。
- コア機能
- ステートメント、ターゲット、ユースケースから導かれる必須機能を5個まで。
- 諦めること
- ステートメントやユースケースに反すること。
上記の内容をディレクター、開発チーム全員が納得するまで話し合いました。 ステートメントが共有されるとチームに一体感が生まれ、一つのビジョンに向かっていると思えるようになりました。
- 自分達はなぜ、iOSアプリを作るのか
- 今回のリリースの目的は何なのか?
- 諦めることになった機能は、なぜその判断になったのか?
ステートメント共有では実装する以前にチームの心構えや意識を揃えることができるので、 初めて結成されるメンバー同士のプロジェクトに限らず、どのプロジェクトでも重要な活動だと思います。
実装イメージ共有
ここでもメンバー間の作るものイメージに乖離があったので、イメージを共有し揃えることを念頭におきました。そこで活用したのがペーパープロトタイピングです。
Webアプリを作るときはデザイナーさんが Photoshopでサクッとイメージを共有してくれたり、豊富な開発経験からイメージの共有がスムーズに進むのですが、今回はチーム全員のイメージ共有が主な目的なので、下記の手順で進めていきました。
- チーム全員が集まって作業をする
- 1機能ずつ鉛筆と消しゴムを片手に紙に書く
- 書いたイメージを共有
- ユーザーに想いを馳せながら、各メンバーの良いところマージ。
- 2に戻る
アナログな作業なので一見効率的ではないような気がするのですが、消しゴムですぐに修正できる上、ニュアンスなどはそのまま紙に書いたりできるので、今回の目的を達成する上ではベストだったと振り返っています。
iOSの知識まではつきませんでしたが、ペーパプロトタイピングを通して様々なアプリを見て触りながら作成したのでユーザーとして扱いやすい操作感や、適切なデザインイメージの構築も体得できました。
まとめ
ステートメント共有と実装イメージが全員に共有された状態で開発スタートすると、開発途中での戻りや意見の齟齬が少なく、実装に集中できたので、その重要さが学べました。
今回はiOSアプリ開発がベースの話になりましたが、紹介したチームビルディングの方法はどのプロジェクトでも重要な活動です。チーム全体の認識がズレたまま開発が進むと思わぬところでつまずいてしまったり、最悪の場合チームが崩壊してしまう場合もあります。
エンジアリングスキルも重要ですが、チーム開発においてはチームをまとめて、ビジョンや目的に対して足並みや認識を揃えることができるスキルも重要です。
次回はiOSアプリのデザインについて、担当した高井にバトンタッチします!