アジャイルで目指した坂の上の雲 #DevLOVE HangarFlight – Snow Barrage – で発表しました #4tate

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck

DevLOVE HangarFlight – Snow Barrage –で『アジャイルで目指した坂の上の雲』を発表させていただきました。

発表内容については、以前の記事にも書かせていただいたのですが、今年の1月から7月ごろに担当した、とあるプロジェクトのアジャイル導入の話です。さらに、今回は、同じプロジェクトを戦った若手エンジニア@TAKAKING22にも来ていただき、プロジェクトのその後を話してもらいました。そして、最後に、彼や私が、今思うことをまとめています。

今回は、スライドの枚数が多く、駆け足での発表になってしまったので、それぞれの詳細や、補足事項などを書かせていただこうと思います。(資料はSlideShareSpeaker Deckで公開しています)

坂の上の雲を見あげた

昨年、小説『坂の上の雲』を読み終えて、主人公ゆかりの地である愛媛松山を観光したりしました。そして、毎年12月にチーム内で実施している「成果発表大会」で、メンバーに「坂の上の雲」の話をしました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck2『坂の上の雲』の中で、一番印象に残ったのは、主人公たちが激動の時代に、何かを成し遂げようとがむしゃらに時代を生きるところです。小説の中では、ロシアに対する脅威が全面にあり、状況は好転しないまま日露戦争へと突入します。

彼らは「楽天主義」というマインドを持ち、ネガティブな状況を決して悲観せず、坂の上にある一筋の白い雲を追い求めるように、近代国家への道を駆け上がっていきます。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck (1)
ソフトウェア開発を取り巻く状況は、ここ数年でさらに大きく変化しました。クラウド(雲)、アジャイル、ビッグデータ…。私は、目の前の課題にしばられて、大きな変化に追いつけなくなることを恐れ、「坂の上の雲を追いかけるような開発をしよう」とチームに提案しました。

アジャイル開発の導入

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck3私は、アジャイル開発の知識はそれなりにあり、自分のチームでの実戦経験もありました。しかし、今回のプロジェクトでは「2つのチームの合同作業」になるため、まずは、チームを作る必要がありました。

まず、「全員が同じ方向を見る」ことを重視しました。新選組の「誠」の旗を壁に貼り付けたり、主要メンバーの席を背中合わせにしたり、ランチを一緒に食べたりしながら、「行動する」ことをチームに求め続けました。そして、チーム間の垣根を否定し、「私たちは」という言葉をよく使うようにしました。

それ以外では、コミュニケーションを活発にするために、

  • 進捗報告MTGはしない。その代わりに朝礼でフェーストゥーフェースで共有すること
  • 週1回のMTGは、ビジネス面、技術面の情報を準備してディスカッションに望むこと
  • 混乱を防ぐために、残す情報はMediaWiki、インスタントな情報はYammerで発信すること

などの規律を作りました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck4技術的なプラクティスとしては、CI+UnitTestに一番力を入れました。ビルドサーバの門番をアサインし、ビルドに失敗したり、テストケース数やカバレッジが下がったりしたときは、すぐに対処するように動いてもらいました。結果的には、バグの発生率も抑えることができ、手戻りがほとんど発生しませんでした。

そして、プロジェクトはリリースを迎えます。上の動画はXP祭のLTで『半年間のアジャイル開発をタスクボードでふりかえる動画』として共有させていただいたものです。

動画はふりかえりの最後に共有したものなのですが、チームメンバーからは

  • 楽しかった
  • スピード感があった
  • CIアラートが放置されることがあったけど、次は何とかしたい

といったポジティブなフィードバックが返ってきました。新しい気づきを大切にし、チャレンジする気持ちを持ち、困難をみんなで解決しようとするチームになることができました。

その後の彼ら

リリース後、私は別のプロジェクトを担当するため、チームから抜けました。その後については@TAKAKING22ブログに書いてくれました。  きっと書いてくれるはず。いや、書くに違いない。ていうか書け!なので、私から見た彼らを少しだけ。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck6しばらくすると、いつもやっていた朝礼の声が聞こえなくなり、タスクボードは更新されなくなります。チームの雰囲気も暗く元気がありません。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck5

事情を聞くと、次のフェーズとなるプロジェクトがあまりうまくいっていないようでした。マネージャーに話を聞くと「アジャイルが善、それ以外が悪になってしまった」そうです。私のフォローが足りなかった部分もあるのですが、次のプロジェクトに対する次のチームを想像できず、こういった結果になってしまったのではないかとマネージャに教えてもらいました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck7しかし、ここから先は自分たちだけで進まなければならないということもチームはわかっていました。アドバイスをするために、彼らの話を聞いたのですが、一番心に残っているのは、

アジャイルが○とかウォーターフォール×という話ではなく、元の状態に戻せばうまくいくという考え方が、チャレンジをあきらめているように感じてしまう。

という言葉でした。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck8世界をより良くしたいと考えているエンジニアにとって、「何もしない」という行為は、もっとも残念なことなのだと思います。元の状態に戻ることを経験した彼は、それでも楽天主義をつらぬき、失敗からの気づきを次への工夫へとつなげていきます。

その後の私たち

まずは、@TAKAKING22の今です。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck9

彼はこれまでの経験から「見える化」だけでなく、周りを巻き込んだ「見せる化」を実行に移します。そして、自らの成功体験を周りへと広めようと現在もがんばっています。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck11これは最近の写真なのですが、彼が一人で作ったタスクボードに、やがてメンバーが集まって来るようになりました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck12復活の兆しを見せたタスクボード。彼自身の変化が、周囲を変化させたのかもしれません。もしかすると、彼は世界を変えたのかもしれません。

そして、私の今です。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck13その後の私は、別プロジェクトにおいて、ファシリテーションだけ行い、中心人物となる人物のサポートに徹しました。次の世代のリーダーを育てたいと思ったからです。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck14このプロジェクトからはふりかえりを行い、ベロシティのトレンドや、TODO・Doing・Doneの数をカウントしたグラフなど、1週間でとれるデータをすべて見える化することで、リーダーやチームに気づいてもらおうと見せる化をしました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck15アジャイルコーチとして活動するうちに、雲の向こうに

  • よりアジャイルになるために、アジャイル開発の組織への適用
  • 活動をスケールさせるための体制強化

が見えてきました。全員がアジャイルになるのはとても難しいことですが、アジャイルになりたい人が苦労しないような環境を作っていきたいと考えるようになりました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck16そして、ビジネスマンはビジネスを楽しみ、開発者は開発を楽しむだけではなく、ともに手をとりあって、サービス開発を楽しむ土壌を作っていきたいと思います。

我々はまだまだ坂の途中ですが、一筋の白い雲に向かって、坂道をかけのぼっていくような、そんなサービス開発を来年も目指そうと思います。

未来のために私たちの帆を立てよう

最後に、今回の発表前に、@TAKAKING22に「一番いいたいことを最後に書くこと」と伝えたのですが、彼は「世界を変える」と書きました。私は、このスライドを見たときに、あることを思い出したのです。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck17

今年のAgile Japanの最後に@DiscoverCoachさんのワールドカフェがありました。その最後にカードが配られ、その裏に「あなたが成し遂げたいことを書きましょう」ということで、私も帆を立ててみたのです。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck18

私は彼と同じように「今の世界を変える」と書きました。

今回の発表は、私にとって後輩に発表をさせるのが最大のミッションだったのですが、ひょんなことから自分が立てた帆を思い出すことができました。

アジャイルで目指した坂の上の雲  DevLOVE HangarFlight Snow Barrage    Speaker Deck19こういった機会を作ってくださったDevLOVEのみなさん、参加者や運営の皆さんに感謝します。そして、HangarFlightに誘ってくれた@papandaや、ワールドカフェを実施してくださった@DiscoverCoachさんへ。

思いはつながりました!

参考

以下、いただいたご質問に対して

  • Q. 3ヶ月後に生産性が上がりはじめた理由は?
  • A. わからないが、やったこととしては、横槍作業のブロック。また、見積もりでやる量は見えていたので、これ以上あとにできない地点が3ヶ月だったのかも
  • Q. アジャイルをやるのにどれだけの根回しをしたのか?
  • A. とくにしていませんが、もともとチームでアジャイル開発をしていたので、こういう開発スタイルで開発してみたいところがないか、聞いて回りました。興味があるけど、まかせきれないというところももちろんあって、結果、導入したグループは、応援してくれる人が多かったので、やりやすかったという点もあります。
  • Q. 横展開させるために気をつけていることは?
  • A. 最近、横展開する気がなくなりました。アジャイル開発をPushするのではなく、興味のある人がPullしてくる形を試してみています。情報を取りに来る人を支援したいなぁと。

以下、資料や参考ページ。