明けましておめでとう御座います。
検索を担当しています。須田です。
今回はlivedoor動画検索が出来るまで実際にどのような流れで進行したかを紹介致します。
livedoor動画検索では、ACCESSPORT社提供の動画検索エンジンを採用する事になりました。同社の開発スピードが非常に早く、様々な試みをしており面白いと感じたからです。
このAPIも公開されておりますので一度ご観覧下さい。
  1. APIの確認
  2. APIに対しリクエストを投げ、レスポンスの確認をおこないます。
    livedoor動画検索では10近いAPIを利用しています。
    広げた材料の中でどう料理するかを検討するのもディレクターの醍醐味ではないでしょうか。
    ※ここでAPIの仕様書にきちんと目を通し、よく噛み砕いておくと困った時に意思決定の幅が広がります。
  3. 動画検索の方向性の決定
  4. プロジェクトメンバーに今回出来る内容,制限事項,ざっくりとした期間を説明し、ブレストをおこないます。 出た意見の中で直ぐに実装ができそうなもの,時間はかかるけれど実装できそうなもの,残念ながら実装が出来そうに無いものを振り分け大体の全体像を描きます。
  5. スコープとイシューの設定
  6. 何度かMTGを繰り返し意見がまとまってきたら次の作業にすすみます
    リリースまでに検討する範囲(スコープ)
    スコープの範囲でクリアしなければならない課題(イシュー)
    を設定します。
  7. スケジューリング
  8. 大体の作業範囲がきまったらスケジュールの線を引き、リリース目標日を設定します。
    スケジューリングについては以前書いていますのでそちらを参考に。
  9. UIの検討
  10. 大体ここまで進めると、どんな内容のサイトにするかが決まってきますので、プロジェクトメンバー同士でブレストをやりながらUIの検討をします。
    また、メンバー全員とプロジェクトの全体像の共有も出来ていますので、開発環境の構築なども含めそれぞれが準備を進め始めます。
    ※以前書いたスケジューリングの内容で「根回し」という言葉を敢えて使いましたが、やらなくても進行は可能です。しかし情報共有しているだけでそれぞれがそのプロジェクトに対する考えを持ち、心の準備も出来ている為スムーズな進行が可能になります。
  11. 実装開始
  12. ここまでは手戻りが起きないようエンジニアに作業してもらうことは極力避けますが、 全ての材料がそろったところでいよいよプログラミング,コーディング,デザインなどの作業開始です。
  13. サーバの発注
  14. 開発進行の傍ら想定PV,想定データ量などを検討し、PGと相談しながらサーバ台数,スペックなどを決め発注をかけます。
    社内にデータセンターがあるlivedoorですので必要であればそちらの担当にも相談します。
    ※参考:自社データセンターのメリット
  15. 問題の発生
  16. 準備をしっかりしたつもりでも実際の作業段階になると様々な問題が発生します。
    その都度IRCやスカイプなどで報告をもらい定例の場で情報共有、問題解決をします。予め起きるであろう問題を予測し、対応を決めておくことで問題は問題ではなくなります。
  17. テスト,デバッグ
  18. テスト時、余裕があればテスト仕様書などを作ってテストをすると良いと思いますが、クライアントに対する成果物では無くここに工数はかけたく無い為 お砂場感覚でどんどんテストを進めます。バグは即座にエンジニアに報告、その場で対応。といった感じで進めます。
    勿論、どんな小さなバグでもBTSで管理し、抜けが無いようにます。
    良いか悪いかは人それぞれかと思いますがこの辺のスピードがlivedoorらしくて好きです。
    ※当社ではオープンなBTSとしてfixdapを公開しております。
  19. リリース(*´∀`)
ここまでざっくりと全体の進行の流れを書きました。
進行のうえで以下の2点に注意を払いながらリリースまで漕ぎ着けました。
  • スコープの変更は極力しないようにしましょう。
  • 6〜10の間に定例MTGを重ねるとメンバーからどんどん新しい意見や要望が出てきます。 クライアントを相手にするプロジェクトではないので実装範囲を広げても良いのですが、ゴールがぼやけてしまう為極力リリース後の改善内容に入れるべきかと思います。  もし変更するならば、スケジュールが伸びてしまうののを覚悟したうえでやりましょう。
  • 小さく生んで大きく育てる。
  • リリース時点から「やりすぎ」ない事。 どんなに大きなサービスでも作りっぱなしのサービスはまず伸びません。 小さなサービスでも愛情を持って少しづつ大きく育てる事を心がけましょう。 やりたい事の半分も出来ればβ版としてリリースしてしまって良いかと思います。 ユーザーの反応を見つつ改善をしていくことに重さを置く為です。
まとめると以下のような感じです。
  1. 作りたいものを決める。
  2. 材料を確認する。
  3. 足りないものを補完できるか検討する。
  4. 料理する
  5. staffでおいしくいたd(ry
私は料理をする事が好きなのですが、ディレクションは料理に凄く似ているのではないでしょうか。

ライブドアでは料理の得意なディレクターを募集しています。