## プロジェクト概要
動画コンテンツをWEBページに表示するためのCMS開発。参画当初はプロトタイピング開発から、システムの本番化、開発、運用・保守とプロダクトの各フェーズに関わる。エンジニアとPjMを兼任し、要件定義、詳細設計、開発、テスト、顧客折衝、スケジュール・進捗管理、企画・提案なども行なっています。
## プロジェクトメンバー構成
* PM:2名
* エンジニア:4名
* デザイナー:1名
## E2Eテストによる手動テストの工数削減
- 課題
- システムの規模が大きくなるにつれて、リグレッションテストなどの負荷が高くなっていた。
- E2Eテストを開発当初からメンテナンスしていたが、その価値について疑問視する声がクライアントから上がっていた。
- 周辺状況
- 手動テストについてはクライアントも負荷が高いことを認識していた
- E2Eテストを開発当初からメンテナンスしており正常系の処理は概ね網羅していた。
- 手動テスト用のテスト仕様書は機能開発ごとに作成されており、仕様書の精度も洗練されていた。
- 大規模な機能開発が控えていた
- 施策
- 大規模な機能開発に伴い、品質向上の施策として提案
- 段階的にテストを実装していくことで工数感を調整
- テスト仕様書をもとにE2Eテストでリグレッションテストをカバー。
- 結果
- 手動テストの工数が機能開発のリリースごとに10~15人日程度削減された
- E2Eテストの価値が評価された
- デグレ発生率が低下し、品質が向上した
## チーム内のコミュニケーション改善
- 課題
- 社内向けの情報伝達がスムーズにいかず、伝達漏れ・タスクの偏り・定期確認の漏れなどが発生していた。
- 周辺状況
- 日次、月次の定例・振り返りなどは実施していた。
- リモートなのでテキストコミュニケーションがベースだった。
- 人によって参加している会議とそうでない会議があった。その内容の共有はSlackで行われていた。
- 施策
- 週次で定例を実施し、その中で会議内容の共有、定期確認、チームとして改善すべき議題に関する議論を行うようにした。
- 各議題についてはNotionに記入するようにして、Slackのようなフロー情報ではなくストック情報として参照できるようにした。
- 結果
- 課題で発生していた問題について解消された
## リリースサイクルの改善
- 課題
- クライアントから開発生産性について指摘を受けた
- 周辺状況
- 開発生産性について定義されていなかった
- 施策
- クライアントの指す開発生産性についての仮説検証
- 開発速度について、PR数やオープンからクローズまでの期間などを定量的に調査。一般的な指標と照らして問題が見られなかった。
- リリースサイクルについて調査。2~3ヶ月に一度のPRDリリースとなっており、価値提供までの時間がかかっている点について費用対効果が薄いと感じられている可能性があることを確認
- リリースフローの改善
- 大規模な機能開発により、リリースごとに開発・テストの期間が伸びていた。そこで、機能を細分化した。
- 開発が直列的に行われていたため、開発リソースを整理。並列的に開発を進めるように改善した。
- 結果
- リリース頻度が月1回程度に改善された。