Regional Scrum Gathering® Tokyo 2014 「プログラマのためのScrum」 #sgt2014
本セッションでは、日本で唯一(!)の認定スクラムデベロッパー(Certification Scrum Developer)の資格をもつ、土肥さんから、認定スクラムデベロッパーの研修の紹介や、資格を取った後、CSDとしての活動について紹介がありました。
(なお、土肥さんは認定スクラムマスターもお持ちとのことです)
認定スクラムデベロッパ研修
認定スクラムマスタや認定プロダクトオーナーと違い、CSDの研修は実施が少ないそうで、アジアではまだシンガポールでしか行われていないそうです。そこで土肥さんは、シンガポールで一週間の研修を受け、CSDを取得したそうです。
研修では実際に仮想のプロジェクトに入っての開発を行う傍ら、講義の時間もあったそうです。講義では特に、ATDD、TDD、モックの使い方、リファクタリング、設計などに時間が割かれたそうです。
ここから、スクラムガイドで示されている方法で開発を進めるためには、テストファースト、自動テストが重要であることが伺えます。
また、研修会場の天井には巨大なモニターがあり、これが常にCIの状態が表示されていたそうです。
具体的には、最後にコミットされてからの経過時間が表示されていて、コミット間隔があくと、講師から、「何時間もコミットしてないの?」と突込みがきたそうです。さらにこのモニター、テストが通らないコードをコミットしてしまうと、真っ赤な画面になり、Warning!の表示とともに音が延々となり続けたそうです。
それだけ、テストが通らない、ということは非常事態なんですね。
プログラマにとってのScrum
もともとこのセッションに参加した私のモチベーションが、
「俺はScrumがいいと思ってるので自分のチームでもみんなを巻き込んでるんだけど、実際どう思われてるんだろ?」
ということに対するひとつの回答が見つかりそうだからでした。
(もちろんメンバと対話するのが一番なんですが、ほかの意見も聞いてみたかったので)
土肥さんの経験では、ScrumによってプログラマがHappyになれる点として
- 裁量が増える
(設計などの提案をする機会が増える、とのこと) - 成長を促す
(必要なスキルが多くある) - チーム開発
(「みんなで」同じ目標に向かってがんばる) - TDDのサイクルに乗れる
(TDDって書いたコードがすぐ動かせるし、プログラマは好きなはず!)
といった点があるとのことでした。
一見、Scrumでなくてもできそうな物たちですが、スクラムの肝である「群がる」とか「透明性(タスクボードによる可視化とか)」から生まれる、チーム開発の楽しさは、私もScrumならではだとおもいます。
また、CSDの研修でも重視されていたように、テストの自動化、テストファーストの開発は、できるとScrum開発が非常にやりやすくなりますので、こういったスキルの必然性が高まるのもなるほどと思いました。
TDDやATDDなどのプラクティスは簡単に習得できるものではないですし(私も人に教えられるほどできていないのが現状です)、できなくても「プログラミング」はできるので、「何でこんなことをしなければならないんだ?」と、開発チームのメンバからは思われてしまうのかもしれません。
しかし、こういったスキルを全員が身につけたうえで、チームで「群がる」Scrum開発ができるようになれば、開発チームとして一段上の開発ができそうだと、私も一エンジニアとして改めて感じました。