2017年4月11日で開局から1周年を迎える「AbemaTV」
開局から1年間、すべての主要テレビデバイスへの対応や今春に控えた縦画面での視聴やオンデマンド機能「Abemaビデオ」の提供開始など、AbemaTVではより事業を加速させるためスピードを優先した開発を行ってきました。
開局1周年を目前に控え今後より一層開発体制を増強していくためには、スピーディな開発の影でたまってきた課題や技術的負債としっかり向き合うことが欠かせません。そのための開発効率化に向けたアイディアを開発チーム全体で考えようと開催したのが「開発力倍増会議」です。今回は、この取り組みについてご紹介いたします。
1周年を迎えたこのタイミングで、先送りにせず向き合うことが大事
はじめに開催に至った背景について、改めてチームメンバーに話をしました。
“インターネットテレビ局” という全く新しい動画サービスとして開局した「AbemaTV」における開発は、まさに「”なし” を “あり” に変えていく」挑戦の連続でした。インターネット上でテレビを再現することの技術的難易度の高さに向き合いながらも、「AbemaTV」がユーザーの生活に深く浸透することを目指してスケジュール最優先で開発を推し進めていく日々。
同時に「AbemaTV」は開局から約11か月で1,500万ダウンロードを突破するなど多くのユーザーに利用いただいており、サービスへの期待も高まっていく中でより事業を加速させていく必要があります。
開発チームも拡大していく中で、先送りにしてしまっていた開発フローにおける課題や技術的負債は次第にたまっていきました。
そのような背景の中で、開発を行う上でストレスのない環境を整え、技術者が高いパフォーマンスを発揮し続けるためにこれから開発チーム全体で課題や技術的負債に向き合っていこう、と話をさせてもらいました。
当日の会議の流れ
会議の流れは下記の通りです。
約40名の開発チームがディレクター、サーバーサイド、iOS、Android、Webフロントエンド、デザイナーの計6チームに分かれ、各チーム事前に考えてきたアイディアを提案。参加者全員の投票により提案されたアイディアに5点満点で点数を付け、最も評価の高かった5案を表彰します。
こちらでは特に評価の高かった3案についてご紹介していきます。
開発フローの再整備
サーバーサイドチームから提案されたこちらのアイディア。
「AbemaTV」はtoC向けの印象が強くあるかと思いますが、BtoBtoCモデルのため、toC向けのプロダクト開発だけでなく、toB向けの番組編成や映像配信を支える基盤システムの開発・運用も行っています。そのため多岐にわたる仕様はそれぞれ複雑で、スピードを優先するためにあえて開発を属人化させてしまっていた部分もあり、ドキュメント整備が十分でないことが課題とされていました。
当日ソリューションとして提案されたのは、マスタードキュメントの作成とドキュメントの定型化。これにより、仕様や実装に関する影響範囲を効率的に把握できるようになり、読み手の理解力や解釈の余地に依存せずにスムーズに開発が行えるようになるという意見が挙げられました。
当日のアイディアを踏まえて、後日今後の方針を決定。ディレクターだけでなく各チームから一人ずつアサインした計6名のワーキングチームをつくり、仕様テンプレートの内容策定や仕様確定におけるフローの再整備を早急に行っていきます。
開催後に実施したアンケートでも、「開発組織が拡大していく中で、間違いなくコミュニケーションコストを減らせる」といった回答が見受けられ、特に評価の高い案でした。
デザインの棚卸し
続いてデザイナーチームから提案されたのは、開局から約1年経ち、少しずつ当初のシンプルさが失われてしまっているのではないかというもの。
1年間機能追加を重ねた結果、のりしろのあるUIが少しずつ変わってきてしまっているのではという課題で、デザインの棚卸しは継続的に実施することが大事だという意見が挙がりました。
AbemaTV開発チームでは今後、今回の会議で出た課題や技術的負債の返済に向き合う特別期間を設ける予定で、このデザインの棚卸しについてもその期間に向き合うことが決まりました。
どのように解決していったのか、今後の取り組みについてもこちらで後日ご紹介できればと思っております。
各タスクの自動化推進
大規模サービスで関係者の多いAbemaTVでは、DB設定や各種アカウントの発行などのタスクがサーバーサイドチームに偏ってしまう傾向がありました。課題視されてはいたものの、日々の開発の忙しさから先送りになってしまっていたのが実情です。
そこでChatOpsベースでの自動化を徹底し、運用ではなく機能化することで負債をカバーすべきだというアイディアが発表されました。入力に対する出力が定型であるものは全て自動化し、作業を短縮することで、これまで担当していたエンジニアの効率低下を防ぐことができます。こちらはサーバーサイドチーム自らで今後推進していくことになりました。
決議したアイデアは合計20個
こちらでご紹介した以外にも、新たにジョインする技術者のための開発スタートアップガイドの整備やテスト環境の強化を目的とした検証端末の強化、継続的に本質改善に取り組む開発体制の構築、チームが拡大することで顕在化したPRレビューの作業負荷をうまく負荷分散していく仕組みなど計20個のアイデアが決議。
決議されたアイディアはこれから実行していきます。
さいごに
この1年間全力疾走で駆け抜けてきたAbemaTV開発チームですが、今回の開発力倍増会議は一度立ち止まってこれから先のことをチーム全員で考えられた、有意義な機会でした。
会議を振り返ってみると
・仕様書や引き継ぎ資料といったストック型の情報の質を高めていくこと
・より円滑なチーム開発を推し進めるためのワークフローを改善すること
・開発上の負債をしっかりとマネジメントすること
この3つが大きなテーマでした。
「AbemaTV」はこれから2年目に突入します。
ユーザーの皆さまからのサービスへの期待はさらに高まり、それと同時に機能追加やサービス改善をより一層加速させていく必要があります。開発体制を強化することはもちろんですが、開発メンバーが高いパフォーマンスを発揮できるための環境・制度を継続的に整えていきたいと考えていきます。
そのための一歩を開発メンバー全員で踏み出せたように思います。