アトラス流開発プロジェクトの進め方〜発表者動画スライドアップロード機能編〜

こんにちは。ConfitのPMをやってます、あらきです。
先ごろ発表者動画アップロード機能をリリースし、一息つく間もなく今は発表者スライドアップロード機能の開発を進めています(7月中旬リリース見込みです!)。
今回は、発表者動画スライドアップロード機能の開発プロジェクト(以下、「当プロジェクト」)を例に、開発プロジェクトのチーム体制や開発の進め方をご紹介します。開発グループに興味を持った方に、少しでも開発プロジェクトの雰囲気が伝わればと思います。

チーム体制

当プロジェクトは、PM1名、デザイナー1名、フロントエンドエンジニアとバックエンドエンジニアがそれぞれ2名、という体制です。
発表者動画スライドアップロード機能はシングルページアプリケーション(SPA)を採用しているため、他の開発プロジェクトに比べてフロントエンドエンジニアを充実させています。
SPAとは、単一のWebページでアプリケーションを構成する設計構造のことで、ページ遷移ではなく単一ページ内でコンテンツだけを切り替えることによって、高速なページ遷移・Web表現を可能にするものです。現在アトラスでの利用が多いJavaベースのフロント構築と比較するとフロントエンドのコード量が多くなります。

参考までに、アトラスのプロジェクトチームはおおむね、PM1名+バックエンドエンジニア1〜2名のプロジェクトチームとなることが多いです。デザイナーとインフラエンジニアはプロジェクト横断で参画します。フロントエンド実装はバックエンドエンジニアか、デザイナーが担当することもあります。
少人数チームの宿命ですが兼任が多く、どのポジションの人もフルスタックにフロントエンドもバックエンドもインフラもある程度理解し自走することが求められます。
これはPMも例外ではなく、簡単な拡張であれば一人で実装もマネジメントもやることもありますし、並行して既存プロダクトの保守業務も担当しているので、1つの開発プロジェクトに100%集中することはありません。

コミュニケーション

毎日、朝会で昨日の作業実績と今日の作業予定、課題や相談事項を共有しています。
また、週に一度、各プロジェクトチームのメンバーが一同に会して、プロジェクト状況を共有しています。
それ以外には、テキストコミュニケーションはSlack、フェーストゥフェースのコミュニケーションはPragliを利用して、随時コミュニケーションをとっています。
コミュニケーションツールについては「【スタッフの日常】アトラスのコミュニケーションツールのご紹介!」を読むとなんとなくイメージできると思います。

開発の進め方

Confit機能拡張の仕様書作成に関係者全員が参加するメリット」にあるようなプロセスを経て、まずはPMが機能拡張仕様書を作成し、それをもとに開発が進んでいきます。

当プロジェクトでは、機能拡張仕様書に書いた全ての機能を作ってからリリースするのではなく、段階リリースの手法を取りました。

まずは発表者機能をリリースして「とにかく動画収集を開始できる」ところまでもっていき、その後は2週間程度の間隔で管理機能を少しずつ実装してリリースしていきました。
段階リリースによって機能を早く世の中に届けることで、一つでも多くの学会の運用負担を減らすことができたのは、このプロジェクトの成果の一つです。

早く使ってもらうことでユーザーから早くフィードバックを得られ、仕様検討段階での認識のずれを早めに修正できるのも、段階リリースの良い点でした。
ただ、早くフィードバックが得られることは利点である一方、フィードバックを受けて残機能の開発優先順位がどんどん変化していくため、エンジニアと認識を合わせて開発を進めていくのは難しいポイントでした。
最初はPMが実装タスクを全て登録することで認識のずれを防ごうとしましたが、PMの負担が大きい上に、実装者目線で漏れなくタスクを登録するのがなかなか難しく、PMと実装者の間で認識のずれが発生することもありました。
そこで、タスクベースで何をしてほしいかを伝えるのではなく、「なぜ今このタスクが必要なのか」の背景を伝えることに力を入れるようにしました。現在は、「こういう背景があってこの週までにこの機能とこの機能をリリースしたい、この週には機能試験ができるようにしてほしい」という大まかなスケジュールだけ共有して、タスク登録は基本的にエンジニアに任せるようにしています。この辺りは、PMが一人で考えて方針を決めているわけではなく、エンジニアの発言や行動を見聞きして少しずつやり方を変えています。

さいごに

以上、発表者動画スライドアップロード機能の開発プロジェクトを例にして、アトラスの開発の様子を簡単にご紹介しました。プロジェクトの目的やメンバー構成によってやり方は変わりますが、この記事が開発チームの仕事をイメージする一助になれば幸いです。
なお、発表者動画スライドアップロード機能は鋭意機能拡張中です。ご要望がございましたら、セールス・導入コンサルティング担当者にお伝えください!