来る2011年12月10日、DevLOVE HangarFlight- Snow Barrage -にて、『アジャイルで目指した坂の上の雲』を発表させていただきました。
発表内容は、今年の1月から7月まで担当したとある陽気なプロジェクトのアジャイル導入についてです。アジャイル導入について(大事な部分)@daipresentsさんが発表してくださり、プロジェクトの後日談としてプロジェクト後チームがどう変化していったのかを私が話しました。そして最後に@daipresentsさん、私が今何を思うのかをまとめるという発表構成です。
発表内容は下記をぜひ!
【@daipresentsさんブログ】
・アジャイルで目指した坂の上の雲 #DevLOVE HangarFlight - Snow Barrage - で発表しました #4tate
【発表資料】
・SlideShare
・Speakerdeck
今回は、スライドの枚数が多かったこともあり(自覚)、発表内容を振り返りながら詳細・補足事項を書かせていただきます。書く前からちょっと長くなりそうな予感がしていますが気になるところだけ抜いて読んでいただけたら幸いです。
坂の上の雲
今話題の坂の上の雲になぞらえて発表は進みます。
なぜ坂の上の雲なのかはこちらを。
アジャイルの導入
今回のプロジェクトでは、まったく違う2つのチームの合同作業であったため、チーム作りからのスタートでした。
そこから約7ヵ月間、@daipresentsさんをはじめとしたメンバー全員で、文字通りScrumを組んでリリースまで走り切りました。
詳細はここでは省きますが、ぜひこの動画をご覧ください。
きっとどのような雰囲気でプロジェクトが進んでいったのか伝わると思います。
今でもこの動画を見るとこみあげてくるものがあります。
もちろん『すべてが完璧!無問題!!アジャイル無敵!!!』と言うつもりはありません。ただ確実に言えることは、彼らと共に仕事ができた経験は我々にとって大きな刺激となり、私にとってはエンジニア人生の1つの転機にもなりました。
その後の彼ら 2011年7月~今
ここからが私のターン。
ChangeへChallengeした男たちのヒューマンドラマです。
リリースが終わり、マスター@daipresents率いるチームが抜け、元のチームメンバーだけが残りました。
しかしすぐに次の戦い(プロジェクト)が始まるため、リリースの余韻に浸る暇もなく残ったジェダイの戦士達だけで戦っていくしかありませんでした。
我々が戦いの日々を生き抜いていくためにはフォースが必要だと私は考えました。我々にとってのフォースとはなんだろうと考えて真っ先に浮かんできたのは、
【送料無料】 アジャイルサムライ 達人開発者への道 / ジョナサン・ラスマセン 【単行本】
です。
プロジェクトを通して経験したとはいえ、
・自分たちで進めていくにはどうすればいいのか
・本当に自分たちに合っているのか
を知るためにもまずは【知る】ことが必要だと思い、私はアジャイルサムライを読み、勉強会に参加しました。そしてあることに気づいたのです。
弊社社員は何度も目にする成功のコンセプト。
そしてアジャイル宣言(の抜粋)。
あれ?
同じじゃん?
そこで自分なりのアジャイルに対する解釈をまとめてみました。
※【注】あくまで新米(ペーペー)の解釈です
・動詞じゃなくて形容詞
勉強会で聞いた言葉ですが、アジャイル開発を経験した後だったので妙に腹落ちしたことを覚えています。アジャイルはすることが目的ではなくであるために何をするのかが重要である、と。
・エンジニアが常に目指すべきもの
アジャイルはとんでもない理想を目指すことではなく、エンジニアが常に目指すべきものだと気付きました。簡単に言えば、はやく価値あるアウトプット(仕事)をしておいしいビール飲みに行きましょう!ってベクトルは変わらないのです。
・普通のこと
上記をまとめるとアジャイルは特別なことではなく普通に目指すべきことです。
まとめると…
アジャイルは魔法・フォースではない!
だから自分のような新米でもがんばればできる!!
これがこの時点での私なりの解釈です。
ってことでとりあえずいろいろやってみました。
・DailyStandUp
毎朝チームで集まって昨日やったこと・今日やること・問題の共有。
・カンバン
タスクの量、担当者、進捗を見える化。
・UnitTest
コードを書くときは必ずTestとSet。Test状況はJenkinsでチェック。レビューもテストコードと一緒にレビュー。
・振り返り
週に1回振り返りMTGを開き、KPT(Keep Problem Try)で振り返りをして常に改善。
・勉強会
技術勉強会を開いていただき、技術力アップ。
今までやってきたことも新しくはじめたこともエンジニア同士で話し合いながら必要なものにどんどんChallengeしていきました。
ところが…
DailyStandUpは無くなり、
カンバンの更新は止まり、
Jenkinsさんも赤く染まり、
振り返りも無くなり、
プロジェクト管理も今まで使ってきたExcel管理になりました。
すべては元に戻ってしまったのです。
どうしてこうなったのか振り返ってみました。
よく議論されるWaterFall×Agileのような開発手法の問題ではなかったと私は思います。ただChangeすることをあきらめてしまったのです。
もちろんChangeすることが必ず正とは限りません。ただ、結果として元の状態に戻るということが起きました。しかし、チームでとったその選択が本当に解決につなげるための前向きな選択であったのか私自身が納得できていなかったのかもしれません。
Changeにはとても勇気が必要です。
ただ今回取り組んだことは無駄ではありません。マスターChallengeからも、マスター失敗からも、多くのことを学ぶことができました。次はこうしようという経験知も得られました。
これはマネージャーとの振り返りの際にいただいた言葉で、心に残っています。Challengeさせてもらえたことは本当に幸せです。これからもあきらめずにどんどんChallengeするぞ!と強く心の中で誓いました。
私はあきらめない気持ちこそが本当のフォースだと思います、アジャイルではなく。
その後の私たち
まずは私の今です。
私はこれまでの経験をもとに、今まさにChallengeします。
・見える化+見せる化
見える化は相手が見に来ないと伝わりません。実際にタスクボードを元に手を動かしているエンジニアはともかく、管理者やビジネスサイドの人たちはなかなか見に来てくれません。彼らは忙しいです。そこで見える化だけでなく、見せる化が必要だと考えました。
・巻き込む
デモや振り返りに必ず参加してもらい、彼らを輪の中にどんどん巻き込んでいくことが必要です。
・Changeの成功体験を作る
・継続的Challenge 継続的Change
Changeの成功体験をまわりにしてもらい、それによって継続的にChange・Chalengeしていくことができる環境を作っていくことが私の目標です。
ってことで相変わらずとりあえずやってみました。
まずは一人カンバンからはじめました。
リリース時にはリリースすごろく●鉄verを作り、東京(スタート)から豊橋(リリース)を目指しました。
そして一人カンバンから派生して、今までのタスク管理だけでなく、メンバーにヒアリングしながらStoryやBacklogをカンバンで表現してみました。
これは最近のお気に入りの言葉です。
自分を変えることは容易いが、他人を変えるのは難しい。
他人を変えようとするのではなく、まずは自分から変えてみる。
これはつい最近の写真ですが、一人で作ったカンバンの前でこうやってメンバーが話してるのを見てニヤニヤしています。
まとめに移ります。
私は雲の向こうに、
・気付いたらアジャイルなチーム
・ChangeやChallengeをどんどんできる環境
・個人からTeamへ雲が広がる
が見えてきました。
意識することなく自分たちがやるべきChangeやChallengeをやっていたらアジャイルになっていた、こんな環境を作りたいと考えています。そしてその雲が個人からチームへ、そしてもっと大きなところにまで広がっていけばさらにいいなと思います。
私は
一番自由な奴がエンジニアだ!!
と思います。(某漫画を意識してないです)
エンジニアは自分で考えて作ってしまうことができます。
だからこそエンジニアが自分で変えるんだって気概を持っていいんです。
私たちは世界だって変えられるハズです。そう考えるとなんだってできる気がしませんか?
私はまずタスクボードから少しだけチームを変えることができました。もっと大きな変化を起こすためにこれからもChallengeしていきます。
実はこのまとめ、「一番いいたいことを最後に書くこと」と言われ、一晩考えて出てきたものでした。一番言いたいことが表せたと自負しています。
そして@daipresentsさんの今です。
@daipresentsさんも新しいチームでChallengeを続けています。
振り返りもどんどん進化していきます。
来年以降は、開発側だけでなくビジネス側も巻き込んでサービス開発を楽しむ環境作りにChallngeしていくそうです。その時は私もお手伝いできるようにがんばろうと思いました。
おまけ
実はこの後の内容は本番発表するまで私も知りませんでした。
私は前述の通り、「一番いいたいことを最後に書くこと」というお題の答えとして世界を変えると書きました。
@daipresentsさんも今年のAgile Japanのワールドカフェの中で、「あなたが成し遂げたいことを書きましょう」というお題に対して今の世界を変えると書いたそうです。もちろんそのことを私は知りませんでした。
きっと気付かない内に私も同じ思いにChangeしてしていたのでしょう。私のやるべきことは、この思いを持ち続けて自分のChallegeを続けていくことです。そうすることで、きっと思いがさらに広がっていくことでしょう。
今回の発表を通して、思いがつながることで世界を変えられる、その可能性を感じることができました。
発表してみて
私の感想を少しだけ。
今回@daipresentsさんにお声掛けいただいて一緒に発表させてもらいましたが、私にとって社外での発表は初めての経験となりました。発表の冒頭でも触れたとおり、プロジェクトを通してアジャイルやScrumに興味を持ち、勉強会に参加し始めたのが半年前です。その時は発表を聞きながら『いつかこういう場で発表できたらかっこいいなー』なんて思っていました。まさか半年後とは考えていませんでしたが、その目標を達成することができました。
また、発表にChallengeすることで社内外から多くのレスポンスをいただき、とても参考になりました。とりあえずやってみることで得られるものって本当に大きいです。
最後になりましたが、発表の機会を下さったDevLoveの参加者・運営者の皆様、そして@daipresentsさん本当にありがとうございました。
参考資料
坂の上の雲(7)新装版
【送料無料】 アジャイルサムライ 達人開発者への道 / ジョナサン・ラスマセン 【単行本】