thrive on work 「仕事を楽しむ」
初めて見たときに、「これは!!」と思った熟語。「いつか使ってやろう」なんて感じで。
なんと言っても、「成長、生きがい」といった意味のものがそのまま「楽しむ」に直結してしまう感覚がいい。
英語って、時々ハっとするような意味や用法があるよね。言語マニアな人の気持ちが少しわかるw
1/30 THRIVE ON DEVELOPMENT という勉強会を、自分を含んだ有志メンバーによる開催というかたちで開いた。
いや、開けた、が正しいかな?
きっかけ
ことの発端は、TDD Bootcamp を受けて、今回の主催のひとり、友人のhtadaが「ペアプロさせてほしい」と言って来た事。
このときは、「一回ぐらいいいね、あの興奮が残っているうちに」ぐらいだった。
それを、もう一人の主催のtontonに話したところ、「面白いね、俺も参加していい?」
おお!と思って、「じゃあ、小さい勉強会に」と話を進めたんだけど、残念ながら時間が短すぎてお流れ。
けっきょくそのときは、htadaとは個人的に「McDonald's de TDD」をww
でもこのとき、tontonが「でも、勉強会は絶対にやろうよ!」という一言を付け加えてなかったら、たぶんそのあと突き動かされることもなかったんじゃないかな?
二人に後押しされたのか、二人を強引に巻き込んだのか不明だけど、自分の中にあった勉強会やりたい!が一気に高まったのは確か。
準備
やったことを簡単にまとめると、こんな感じ。
- 打ち合わせ…ホントは顔を合わせてが理想なんだけど、お互いに働いていると難しいね。ということで、memememoというグループ共有できるメモサイトを使って、常時連絡状態を確立。(あんま活用できなかったかな?)
- テキストの準備…今回は講師二人がそれぞれ自分の分担のスライドを準備。これが仕事の状態と相まって、なかなかしんどくも楽しい作業に。
- 会場の準備と日時の決定…今回、めっちゃくちゃ迷走したー。けっきょくなんの工夫もなく、ルノアールの利用者の少ない店に。
- 参加者集め…一番苦労して後輩たちを巻き込んだのは、何を隠そうhtada。自分は結局twitterでつぶやきまくるとか、地味ぃーな作戦orz まあ結果を見れば、11も集まったし!
- 備品など、必要なものの準備…とにかく思いついたものは、即座に主催二人にメール!メール!
当日
いきなり名刺交換会
すまん、これは自分のミス。ちょっとマズかったー。
いきなりグダグダになって、結果的にスタートを遅らせることに。
朝会
みんなに立ってもらって、朝会タイム。簡単な自己紹介など。
呪いの人形を持ち出したのは、自分の常套手段。
あれで「今の発言権」がハッキリするし、場も和むし、朝会にはいいんだよね。
Start! Ruby
やばい!スライドがフォント違う!
フォーマット崩れてる!
やばい!!やばい!!
内心パニクったー…
Rubyの言語仕様やら思想やらを、小一時間でスプリントに説明。
けっこうボリュームもあるのに、一時間なんてムリあったかな、やっぱ。
スライドは文字ばっかだわ(反省点)
説明はやたら質難しい単語が出てくるわ(反省点)
じつは、一番伝えたかったのは、「開発はちゃんと"糊ツール"(自分呼称)をつくって整備してかないと、辛さを認めるだけだよ」ってとこ。Rubyは二の次で。
現場が大きくなるほど、こういったツール類は忌諱されて人力手当てをしがちだけど、それによる時間的損失や作業ミスで起こる損失は本来防がなきゃいけないものだ、と思うんだ。
こういう"糊ツール"が整備されて大きくなって、FWと一体化することで成功したのが、あのRoRの姿なんだと思ってる。
RSpecで宣言的なUnitTest!
RSpecについて、ひととおり。
ついでに、品質管理の方面でよく使われる、ブラックボックス・テスト、ステートボックス・テストの真髄をちょっと伝授。このあたりは設計思想の上達にも不可欠と考えたから、無理に盛り込んだ。
ただし、これ意識しすぎるとTDDのリズムを破壊しかねないから、ホント諸刃なんだよね。
TDDの紹介を先にやってからにすべきだったかなー。
TDDのご紹介
じつは本日の目玉は、この講義以降。
前段階なんてどーでもいい(ぉぃ)
htadaの講義は簡潔で的を射ていて、とてもわかりやすい!
これは見習わなきゃなー
TDDで何が変わるか!TDDの世界観みたいなものを掴んでもらうのに、ちょうど良かったと思う。
実践!RSpecでTDD!
課題を2つ準備、2チームに分かれてペアプロ&TDDで「上司からのムチャな要求にこたえる」という想定でプログラミング開始!
ちょっと課題がRuby初心者にはとっつきにくかったのがマズかった。(反省点)
正直、"糊ツール"を実感して欲しい、という欲望が前面に出すぎたかも。
前準備で受け入れテストを書いてきたのは、色々と活用できたので高得点かな。
ただ、受け入れテストを書くのが遅すぎて、ちょこまかコーディング・ミスしてたのは失敗。(反省点)
ついでに、TDDでやることの難しさのひとつに、やっぱりロケット・スタートが難しいという部分があるなぁ、と思った。
今回はほぼ初心者が半数だったので、余計そうだったという面はあるけど。
このあたりはまあ、よっく考えると、"TDDだから"ってわけじゃないけど。第一人者に意見を聞いてみたいなあ。
今回の資料
当日やったテキストはここ。
Start! Ruby
ツッコミはこのblogに。
スライドは手直し中で、近日中にスライドシェアにUP予定。
もうひとつ、みんなから寄せられたKPTを含んだ、ToDev専用のWikiを作成する予定。
おまけ
色々な日程をかいくぐって参加してくれ、楽しんで帰ってくれたみんな、本当にありがとう!
おかげで、たくさん色んなことを喋り合えて、たくさんの勇気と元気をおすそ分けしてもらった。まるで元気玉だなぁ。
それと、今回ホント実感したけど、きちんと見てくれていて、きちんと批判してくれる友達の存在って、すごく大きい。
感動で涙が出そうになったよ(大げさ)
マニアな人たちがよくやる、愛の感じられない一方通行な批判は、正直好きじゃないけど…
自己批判と相互批判はとても大事だよね。
ちなみに、「第1回」が付いていないのは、「コケる方が大勝ちするより確率的に高い場合はあえて数字を入れない」という慣習に則っていたりなかったりw
ラベル:ToDev
【関連する記事】