AbemaTVとは
ライブストリーミング形式でのテレビ番組が基本無料で見られるインターネットテレビ局。株式会社サイバーエージェントとテレビ朝日の出資により設立された株式会社AbemaTVによって運営されているサービスです。スマートフォンアプリとしてiOS/Androidアプリがあり、AppleTV用にtvOSアプリがリリースされており、それらもサイバーエージェント社の開発メンバーが実装しています。
訊いてきたこと
今回のインタビューでは、iOS/tvOS用のアプリを開発しているメンバー @dekatotoroさん, @KyoheiG3さん, @tasanobuさんにインタビューをお願いしました。
インタビュアーは2017年2月にサイバーエージェント社に中途入社予定(最初の写真一番左)の @satoshi0212さんにお願いしました。私@yimajoはカメラでの撮影を担当しました。
Q. みなさんは入社どれくらいですか?AbemaTVの前は何を担当してました?
Q. iOSアプリの開発体制やスケジュールについて教えてください
(図解、AbemaTV iOSアプリ開発スケジュール)
- プロジェクトは2015年4月くらいから始まっていてモックがあった
- @KyoheiG3が参加した 2015年7月の最初の技術検証が1,2ヶ月
- サーバーからの運用に近いデータを取得するようになったのは1月
- 先行リリースが2016年3月
- tvOSの開発期間が2ヶ月
- 最強のデザイナがSwiftでコードを書いて実装していた
- tvOS 自体は独特のUIがあるが、そのコンテキストをデザイナさんに伝えなくても実装して分かってくれていたので早く出来たと思う
- ディレクタの人はリリースまでにどの機能を入れるか、入れないかというのを決めていく

Q. プロトタイピングはどのようにされてます?
- 基本的にはデザイナがSketchで作る
- (先述の通り)tvOS 版では最強のデザイナがswiftのコードを書いて実装していた

Q. スクラムの単位はiOSメンバーのみ?それともAndroidも含めてスクラムチーム?
- プロジェクトの初期(チームがまだ小さい時)
- チームごとに進捗出して全体と共有
- スクラムマスターがいた
- 最近
- 2週に一回チームごとに進捗を共有
- スクラムマスターの担当制度をやめた
- 人数が多くなるとスクラムマスターの負荷が高くなって捌ききれなくなる

Q. スクラムでの機能追加/修正時の工数見積はやってますか?
- 新規の機能には軸が2つあってそれぞれ別のやり方
- トップダウンの大きなもの
- 事業目標なので期限が決まっている
- ボトムアップの開発チームでやっていくもの
- 最初は全員で見積もりを行っていたが今はチームリーダーが見積もりをやってる
Q. tvOS版のAbemaTVアプリは別の.xcworkspace?それとも同じ.xcworkspace内でprojectを別?
- 今は別ワークスペースにしてる
- 最初はワークスペースを一緒にしてた
- 共通部分はPodsを使ったりファイルをそのままコピーすることもある
Q. コードレビューはどのように行っていますか?
- Pull Requet時にコードレビューを行っている
- 大きな修正のときは3人、そうでもないときは2人でレビュアーは自発的に決めている
- ランダムでレビュアーが決まるより、自発的にコードベースを追うほうがよさそう(@dekatotoro)
- 細かい点は指摘したくないのでなるべくしない
Q. アプリ仕様の共有はどのようにしてますか?(新しい機能はこういう画面で、こういう機能でというのはどうしてる?)
- キックオフで機能の説明がある
- 番組表はUICollectionViewではない
- 開発初期はUITableViewやUICollectionViewを試した
- 左右のチャンネルスクロールが無限にスクロールする要件があったのでCollectionViewだときつい
- チャンネル数が多いとCellの再利用の数が多くスクロールが遅くなってしまう
- 現状、問題を解決するためにUIScrollViewを使ってる
- スクロールされたときに表示に必要なものをレンダリングしている
- ソースコードは AbemaTV ver.2用に新しく番組表を作り直したのでOSSとして公開予定!!
Q. 開発環境について自慢したいところありますか?

- 別のビルに精神とテクの部屋という執務室があり、土日使うのも可能で集中できる






- 週一ぐらいのリモート開発(打ち合わせがあったらビデオチャット)
- 開発に集中できるようにエンジニアコンシェルジュという制度がある(@KyoheiG3)
- コンシェルジュにレシートを渡すと経費精算をしてくれる
- Macの購入について申請もしてくれたり、会議室を取ってくれたりと調整業務をしてくれる
- そのような開発以外の業務を優秀なコンシェルジュがやってくれているのが助かる
- 机がハニカム構造なので正面の相手と向かい合ってないのも良い







Q. 現状の開発に関して改善したい点はありますか?
AfterShow
ここからは社内でのインタビューで聞けなかったことをご飯を食べながら訊いていきます。神泉駅近くの宮崎郷土料理が食べれる店「ひしゅうや」で個人的なことを訊いてみました。

Q. どういう人と働きたいですか?
Q. 最近気になってる開発者は居ますか?

Q. みなさんの好きなAbemaTVのチャンネルは?
俺はこう思ったっす(編集後記 @yimajo)
「iOSアプリのAbemaTVを使ってるとチャンネル数が多いんで、他チャンネルでもっと良いのやってないかと思ってザッピングしてたら疲れてしまうのなんとかならないんですかね」って、インタビュー後半ひしゅうやでアプリについての話しもしました。
そんな話をしていて気づいたのは、開発者である彼ら自身が2011〜2012年に入社したという大量に採用された世代で、多くのアプリを作ってきた世代なんだそうです。その中でおそらく、人が多くいるプロジェクト管理の混乱というのがあって、ボトムアップでアジャイル開発のスクラムを取り入れるなど開発手法の追求が進んだりという積み重ねがAbemaTVやAWAなど新しい市場を牽引するサービスに活かされているのではないかと。なので、もしかして将来のAbemaTVのチャンネルは今とは違うものになってるのかもしれない。さらに、インターネットテレビ局ならではのコンテンツがあって、それで競合と大きく違うものになっているのかもしれないよねっていう事を話したりしました。
今回のインタビューも会社単位でご協力を頂いたり、終始にこやかなインタビューになったのが印象的でした。
