Img 0823

AbemaTVとは

ライブストリーミング形式でのテレビ番組が基本無料で見られるインターネットテレビ局。株式会社サイバーエージェントテレビ朝日の出資により設立された株式会社AbemaTVによって運営されているサービスです。スマートフォンアプリとしてiOS/Androidアプリがあり、AppleTV用にtvOSアプリがリリースされており、それらもサイバーエージェント社の開発メンバーが実装しています。

訊いてきたこと

今回のインタビューでは、iOS/tvOS用のアプリを開発しているメンバー @dekatotoroさん, @KyoheiG3さん, @tasanobuさんにインタビューをお願いしました。

インタビュアーは2017年2月にサイバーエージェント社に中途入社予定(最初の写真一番左)の @satoshi0212さんにお願いしました。私@yimajoはカメラでの撮影を担当しました。

Q. みなさんは入社どれくらいですか?AbemaTVの前は何を担当してました?

  • @dekatotoro
    • AbemaTVの前に担当していたのは AWA
    • サイバーエージェント社には2011年11月に入社
  • @KyoheiG3
    • AbemaTVの前に担当していたのは Ameba Ownd
    • サイバーエージェント社には2011年11月に入社
  • @tasanobu
    • AbemaTVの前に担当していたのは アメブロ
    • サイバーエージェント社には2012年1月に入社

IMG_0743.jpg

Q. iOSアプリの開発体制やスケジュールについて教えてください

スケジュール (図解、AbemaTV iOSアプリ開発スケジュール)

  • プロジェクトは2015年4月くらいから始まっていてモックがあった
  • @KyoheiG3が参加した 2015年7月の最初の技術検証が1,2ヶ月
    • gRPCを試したりした
  • サーバーからの運用に近いデータを取得するようになったのは1月
  • 先行リリースが2016年3月
    • 本リリースが4月
  • tvOSの開発期間が2ヶ月
    • 最強のデザイナがSwiftでコードを書いて実装していた
    • tvOS 自体は独特のUIがあるが、そのコンテキストをデザイナさんに伝えなくても実装して分かってくれていたので早く出来たと思う
  • ディレクタの人はリリースまでにどの機能を入れるか、入れないかというのを決めていく

IMG_0762

Q. プロトタイピングはどのようにされてます?

  • 基本的にはデザイナがSketchで作る
    • Pixate を使いモックを作検証している
  • (先述の通り)tvOS 版では最強のデザイナがswiftのコードを書いて実装していた

IMG_0727

Q. スクラムの単位はiOSメンバーのみ?それともAndroidも含めてスクラムチーム?

  • プロジェクトの初期(チームがまだ小さい時)
    • チームごとに進捗出して全体と共有
    • スクラムマスターがいた
  • 最近
    • 2週に一回チームごとに進捗を共有
    • スクラムマスターの担当制度をやめた
    • 人数が多くなるとスクラムマスターの負荷が高くなって捌ききれなくなる

IMG_0808

Q. スクラムでの機能追加/修正時の工数見積はやってますか?

  • 新規の機能には軸が2つあってそれぞれ別のやり方
    • トップダウンの大きなもの
    • 事業目標なので期限が決まっている
    • ボトムアップの開発チームでやっていくもの
    • 最初は全員で見積もりを行っていたが今はチームリーダーが見積もりをやってる

Q. tvOS版のAbemaTVアプリは別の.xcworkspace?それとも同じ.xcworkspace内でprojectを別?

  • 今は別ワークスペースにしてる
    • 最初はワークスペースを一緒にしてた
    • 共通部分はPodsを使ったりファイルをそのままコピーすることもある

Q. コードレビューはどのように行っていますか?

  • Pull Requet時にコードレビューを行っている
  • 大きな修正のときは3人、そうでもないときは2人でレビュアーは自発的に決めている
    • ランダムでレビュアーが決まるより、自発的にコードベースを追うほうがよさそう(@dekatotoro)
    • 細かい点は指摘したくないのでなるべくしない


Q. アプリ仕様の共有はどのようにしてますか?(新しい機能はこういう画面で、こういう機能でというのはどうしてる?)

  • キックオフで機能の説明がある
    • ディレクタの人が仕様書を作ってくれる
    • esa.io(⁰⊖⁰)
      • もともとはesaで仕様書をまとめていた
    • Confluence
      • 画面仕様があるものは Confluence を使うようになった
      • ちなみに進捗管理は JIRA を使っている

Q. 番組表が大変そう。UICollectionView ですか?

  • 番組表はUICollectionViewではない
  • 開発初期はUITableViewやUICollectionViewを試した
    • 左右のチャンネルスクロールが無限にスクロールする要件があったのでCollectionViewだときつい
    • チャンネル数が多いとCellの再利用の数が多くスクロールが遅くなってしまう
  • 現状、問題を解決するためにUIScrollViewを使ってる
    • スクロールされたときに表示に必要なものをレンダリングしている
  • ソースコードは AbemaTV ver.2用に新しく番組表を作り直したのでOSSとして公開予定!!

Q. 開発環境について自慢したいところありますか?

  • ジュースなど飲料が無料の自販機がある

IMG_0723

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

IMG_0783

IMG_0784

IMG_0792

IMG_0805

  • オフィス内で日替わりの野菜が300円で買える

IMG_0748

IMG_0750-Edit

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

IMG_0768

IMG_0773

IMG_0774

IMG_0775

IMG_0776

IMG_0772

IMG_0770

Q. 現状の開発に関して改善したい点はありますか?

  • オフィスのエレベーターが遅いのをなんとか(@dekatotoro
  • 広いオフィスなので温度差があって寒いことがある(@KyoheiG3
  • 理想の環境なので今は改善したい点は無いっす(@tasanobu

AfterShow

ここからは社内でのインタビューで聞けなかったことをご飯を食べながら訊いていきます。神泉駅近くの宮崎郷土料理が食べれる店「ひしゅうや」で個人的なことを訊いてみました。

IMG_6115

Q. どういう人と働きたいですか?

  • 面白い人(@KyoheiG3
  • 楽しい人(@dekatotoro
  • 真面目で技術分野に関して自分の知らないことを知ってる人(@tasanobu

Q. 最近気になってる開発者は居ますか?

  • 元サイバーエージェント主席エンジニアの名村さん
    • インフラからデザインまで担当できる(@KyoheiG3
    • 朝出社したら自分のコードが書き換えられている(@dekatotoro
    • 3年前に言われたことが今分かった気がする(@tasanobu

IMG_6113

Q. みなさんの好きなAbemaTVのチャンネルは?

  • Newsチャンネル。テレビ朝日作成の質の良いニュースが見られるのは貴重(@tasanobu
  • HIPHOPチャンネル。DJ プレイを番組として見られるのは他にない価値がある(@dekatotoro
  • 普通に回答しちゃうとバラエティチャンネルとかかなーと!(@KyoheiG3

俺はこう思ったっす(編集後記 @yimajo

「iOSアプリのAbemaTVを使ってるとチャンネル数が多いんで、他チャンネルでもっと良いのやってないかと思ってザッピングしてたら疲れてしまうのなんとかならないんですかね」って、インタビュー後半ひしゅうやでアプリについての話しもしました。

そんな話をしていて気づいたのは、開発者である彼ら自身が2011〜2012年に入社したという大量に採用された世代で、多くのアプリを作ってきた世代なんだそうです。その中でおそらく、人が多くいるプロジェクト管理の混乱というのがあって、ボトムアップでアジャイル開発のスクラムを取り入れるなど開発手法の追求が進んだりという積み重ねがAbemaTVやAWAなど新しい市場を牽引するサービスに活かされているのではないかと。なので、もしかして将来のAbemaTVのチャンネルは今とは違うものになってるのかもしれない。さらに、インターネットテレビ局ならではのコンテンツがあって、それで競合と大きく違うものになっているのかもしれないよねっていう事を話したりしました。

今回のインタビューも会社単位でご協力を頂いたり、終始にこやかなインタビューになったのが印象的でした。

IMG_0825

  • このエントリーをはてなブックマークに追加

インタビュー情報

インタビューされた人

インタビューした人

インタビューカメラ

カメラはキヤノン製ミラーレス一眼「EOS M3」でレンズは「EF-M22mm F2 STM」にライカ風カメラフードを付けてます。
インタビューの依頼や問い合わせに関しては info@stargzr.net までご連絡下さい。

Stargzr について

Stargzr (スターゲイザー)とは、ソフトウェアエンジニアのWeb上でのアウトプットを集計しランキング化するサービスです。アカウント登録を行うことであなたが公開している情報についてのスター数や内容をまとめて取得し保存します。