エンジニア的なネタを毎週書くブログ

東京でWebサービスの開発をしています 【英語版やってみました】http://taichiw-e.hatenablog.com/

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開発ができるようになれば、開発チームとして一段上の開発ができそうだと、私も一エンジニアとして改めて感じました。