#devsumi 2012 Yahoo!アジャイルクロニクル ~コーチとエンジニアの体験記~ メモ

投稿日:

Yahoo! アジャイルクロニクル

  • Yahoo の中でアジャイル開発の推進役
  • 取り組みの参考になれば幸いです

アジャイル (Scrumの実践)

  • 8サービス、11チームで、推進役のコーチチームがサポート中

コーチ編

自己紹介

  • 高橋 一貴さん
  • Yahoo R&D統括本部
  • Scrum道スタッフ
  • @kappa4

1. 社内アジャイルコーチ誕生

  • 2010年8月、恵比寿にあった小さなベンチャー企業の買収
  • そのベンチャー会社が、ずっとアジャイル開発に本気で取り組んでいた
  • 買収に伴って、サービスをやっていたエンジニアが辞めたりした
  • この会社の存在意義を考えた
  • 買収された会社で scrum master をやっていた
  • Yahoo! はウォーターフォールだけ、と聞いていたので、メスを入れることに
  • 配属希望を、標準化チームにしてくれ、と。ウォーターフォール開発をひっちゃかめっちゃかにしてやろうという野望
  • 蓋を開けてみれば、アジャイル開発を検討し始めていた
    • 敵だと思っていたら、実はそうではなかった
  • アジャイルコーチを名乗る
    • 会社の正式な職種名ではないが、自分で名乗っている
  • 向いているなー、と思う資質というか状況
    • アジャイルを何年もやっている
    • 組織の文脈を知らない方が、自然にこうやってやっていきましょうと摩擦を起こせる
    • 「Yahooのこういうことは・・・」と第三者目線で見れる
    • 保身を考えずにモノを言える。買収された会社出身なので、Yahooへの帰属意識が無い
    • 開発をよくしていきたい、という思いがある
    • 会社を買収してアジャイルに詳しい人を雇うのはレアケースだと思う
      • 普通はアジャイルコーチを雇うとかする

2. 二人三脚で進む

  • 攻めと守り
    • 攻め → 前線を切り開く
    • 守り → 社内制度を整えるとか調整とか
  • 両方やるためには、二人三脚が良い
    • 社内のことをよくしらない高橋さんと、社歴の長い人がコンビを組めたのが良かった
    • 守りを固めてくれる相棒がいてくれたから、安心して攻められた
  • 推進の進め方
    • ルール作りから始めましょう、という話をYahooにジョインしたタイミングで「ルールを最初から作るのは辞めましょう」とした
    • ルールが実際の運用に耐え切れず、形骸化してしまうため
    • 開発プロセスは文化といって差し支えない。ルールで積極的に行動を促していくのは難しい
    • 小さな成功事例を積み重ねていくしかない
    • 成功した人の心の火になって、それが大きく広がっていく
  • テストプロジェクトを探す
    • 社歴の長い相棒の人脈で、適切なプロジェクトを探した
    • アジャイル開発の基礎知識、みたいな社内セミナーをやって、アジャイルに興味がある人を探した
    • AIDMAやAIDAのような心理プロセスを意識
      • 知ってもらう、興味を持ってもらう、やりたくなってもらう、やってもらう
  • 共感大切
    • 現場の人からリーダーの人まで、漠然と感じている不安感を積極的に引き出すようにし、共感を表して寄り添っていくことを大切にした
    • ダメならいつでもやめていいんですよ、頑張るなら経験者として全力でバックアップしますよ
  • コーチの関わり方
    • 教示的
      • やり方を事細かに支持する。Scrumマスターとしてがっつり入っちゃう
      • 違うやり方なので、プロフェッショナルとしての仕事のやり方の理解を深める
    • 質問的
      • 目の前にあるものを質問することで、気づき→理解に
    • 委任
      • だんだん理解してきたら、ある程度まかせる
  • シチュえーショナルリーダーシップ (SL理論) を参考にしたりした
  • チームの成熟
    • 守破離
  • 会社の制度をなおざりにしない
    • J-SOX, ISMS
    • 業務の邪魔をしないで、どうやってこういうものを取り入れていけるか、担当の人も悩んでいた
    • 敵だと思っていたら、向いている方向は一緒だった

3. 公式化

  • やってみたチームのポジティブな反応
    • 楽しそうに仕事している
    • 他の人がなにをやっているかがわかる
      • 副次的な効果。本当は開発スピードを早める目的だった
  • やってみたチームのネガティブな反応
    • スプリントで成果を求められるのが辛い
    • スキルセットにばらつき
  • 1年間、テストしてみた
  • 生産性向上
    • 平均77%UP(Scrum取り組み開始から)
    • ウォーターフォールとの比較はしていない。ウォーターフォールで生産性を比較する方法がないから
    • 慣れの部分もあるが、それ以上の効果はあったと思う
  • 品質
    • 重大な障害は発生しなかった
    • 細かいものはちょろちょろとあったが
  • アジャイル版開発ワークフローを公式化 (2011/10)
  • コーチによるサポートを継続、ウォーターフォール以上にドキュメントを用意した
  • ウォーターフォールとアジャイルは両立させている
    • やりたい、と思わない限り今までのやり方を続けられる、という選択肢を残している
    • 2つのプロセスがあることで、開発プロセスそのものに意識が行く。どうやって仕事をすればいいかの議論が活発になる
  • ルール化はただのマイルストーン、ゴールではなく過程にすぎない
  • 「火を灯すスピードを上げる」
    • 個別に、人づてに「やってみませんか」だったのを、もっと広いやり方ですすめる
    • 社内に広く告知、やりたいところは手を上げてくれればサポートしますよ
    • アジャイル開発そのものに触れる接触機会を増やした
      • t-wada を呼んで、社内TDD Bootcampをやったり、アジャイルサムライYahoo道場をやろうとしたり
  • 社外からも後押しする
    • 社内での事例を社外に出すなど
    • Scrumギャザリング東京で本部長とエンジニアが取り組みを公開
      • 上長を巻き込んだ
    • Dev Sumi 2012 ← イマココ
  • 本来のゴール「お客様に継続的に価値を提供する」に近づいていけてると信じている
  • 結果はコントロールできないが、着実に一歩一歩進めていく

4. まとめ

  • 今日のはなしを持ち帰って、Yahooのクロニクルが自分のクロニクルになれば嬉しい
  • 自分の(自社の)クロニクルができたら、それを是非コミュニティなどに還元して欲しい
  • そのクロニクルがつながっていくと、日本のエンジニアが強くなる
  • 身の回り3mに小さな火を灯していってください

Yahoo アジャイルクロニクル エンジニア編

  • 検索でYahooを使っている人挙手してください → ほとんどいないw

コーチとエンジニアの体験記

発表者自己紹介

  • 長岡 実さん
  • ガンダム好き
    • デスクの写真がスゴイ
  • Yahoo!ニュース トピックス担当4年目

サービスについて

  • Yahoo! ニュース トピックス
  • 1998年7月にサービス開始、14年目
  • 約3000件/日のニュース内からピックアップ
  • 開発メンバーは5人
  • 日々の開発でメンバーに感じていたこと
    • 個人が黙々と開発していて、お互い何をやっているかわからない
    • 明らかなコミュニケーション不足 → いやだった
  • 期日に間に合うのか、お願いしたものが出来上がってくるのか不安だった
    • これもコミュニケーション不足に起因
  • そんな時、アジャイルと遭遇。元上司が標準化チームのリーダーで、高橋さんの上司だった。
  • テストプロジェクトを探しているときに、その上司から話があった
    • 経験豊富なコーチがサポートしてくれるよ、と

最初の一歩

  • 説明会は全員で
  • 説明会は意外と好評で、ほぼ全員から「やってみたい」という意見が聞かれた
  • 実際導入してみると、すぐにいい効果が多数見えてきた
    • 見える化されたことで、関係者全員が全体感を把握できた
    • 残業が減った(!)
    • メンバーが助けあうことができた
  • 良いことばかりではなく、問題も起こった

発生した問題

  • ルールに囚われることが多い
    • スプリントを1週間に設定していた。5営業日なので、すべて完了させるのが非常に難しい
    • タスクの漏れとか、リリースの失敗とかが起こるように
    • 軌道修正するために、「1週間で終わらせる方法を必死で考えていた」
    • スクラムマスターの助言 → スプリントを2週間にすればいいんじゃないの?
      • 「その発想はなかった!」
    • 常に見なおして、チームに最適な形にやり方を変えるのは重要
    • 経験豊富なスクラムマスターの存在、マジありがたい
  • メンバーのモチベーションがだんだん低下していく
    • 導入して数ヶ月で慣れてくると、タスクを淡々とこなすだけになってくる。価値になっているのか?と考えたりする
    • チーム手動で、新しいサービスを考える活動を開始
      • 通常はPOから要件をもらって開発をすすめる
      • POを巻き込んで、アイディア出しやプロトタイプ制作などをした
      • この活動で、チームメンバーのモチベーションが復活

なぜうまく導入できたのか

  • アジャイル経験者の説明会に、上長含めて全員が参加
    • 共通の理解を得られた
  • 経験豊富な人の助言
    • 要所要所のうちわせなどで、いい助言や指摘を得られた
    • よき相談相手として、アジャイルコーチの存在はとても大きかった

最後に

  • 今日みたいなセミナーに、上長や同僚を2名以上誘って参加してください
  • そうすると「アジャイルでやっていこうよ」という雰囲気が生まれると思う
  • 実際に導入するときは、導入を支援する会社があるので、サポートをお願いすることをおすすめ
  • お金が発生するので、支援会社を使うのが難しければ、外のコミュニティに参加すればいいよ