2012年9月25日火曜日

アジャイルサムライ読書会 横浜道場「当てずっぽうの奥義」 に参加してきました。 #agilesamurai #横浜道場

アジャイルサムライ読書会 横浜道場「当てずっぽうの奥義」
http://kokucheese.com/event/index/52905/

アジャイルサムライ読書会 横浜道場「当てずっぽうの奥義」
http://togetter.com/li/376992

はじめに

今回は、第7章「見積り:当てずっぽうの定義」でした。
全15章なのでだいたい折り返し地点でしょうか。

参加者が少なかったのが気になりましたが、これからの箇所は実践的なのでこれからでも全然大丈夫だと思います。

ディスカッション

DSC_0467.JPG
ポイントで見積もることで相対値が分かりやすいのと、三角測量することで基準となるストーリーが出来るので漠然としたストーリーでも大きさだけは見えてくるのではないかと思います。

DSC_0468.JPG
小さいと誤差が少なくなるというのは、実践しているとわかってくるそうです。
また20など大きい場合は、今すぐやるべきなのか、本当に必要な機能なのかを判断できるので、実際に始まる前には分割して進めるそうです。

DSC_0466.JPG
実際にアジャイル開発をやっていくと8や13といったポイントは手強いストーリーとして認識されるそうです。
そういった「におい」に敏感になれるようになりたいですね。

おわりに

今回の見積りの話は、実際に使える話しばかりでした。相対見積りはやっていましたが三角測量とポイントを組み合わせてやる方法はやっていなかったので、やってみたいと思います。
また、プランニングポーカーについては、見積もりの精度よりも、話し合って分からないことや思っていることを共有する場であることが大事ということです。
この段階でも漏れ等を掬うプラクティスがあるというのは、よく考えられているなと思いました。

今回は、道場主不在の中スタッフの皆様が頑張っていらっしゃいました。
横浜道場のスタッフの皆様、参加者の皆様、会場を提供して下さった株式会社アットウェア様ありがとうございました。

2012年9月17日月曜日

アジャイルサムライ横浜道場 特別編 パネルディスカッション に参加してきました。 #agilesamurai #横浜道場

アジャイルサムライ横浜道場 特別編 パネルディスカッション
http://www.zusaar.com/event/355105

アジャイルサムライ読書会横浜道場特別編パネルディスカッション #agilesamurai #横浜道場
https://yukar.in/note/ckFkBf

はじめに

開催されてからだいぶ経ってしまいましたが、書いておきます。自分自身の制約を守るために。

久しぶりの特別編でしたが、今回は講師の方を呼んで行うのではなく、パネリストを募ってこれまでの内容からディスカッションを行う形式でした。

パネルディスカッション

ディスカッションの内容は、@modal_soulさんがゆかりんのーとでまとめてくださいました。
結果的に上手くtsudaれていなかったのが、反省点だと感じました。

内容は、チームやこれまでの経験からお題に対して意見を述べていたので、一人だけで開発している自分としては「これは個人でも出来そうだな」と感じる部分がありました。


この部分は「問題は早く見つかるのか?」で出てきたことで、アジャイルな開発を行なっていると、このままだと後になって火を吹きやすそうな箇所などに気づきやすくなるので、予め先手を打ったり、振り返りの場で問題の共有して対処できるようになるといった意見がありました。
なので、早く見つかるというより見つけやすい状況になるといった方が、しっくり来るのではないかと思います。


この部分は、振り返りの場での内容で、折角見つけやすい状況になっても隠蔽されてしまったら手の施しようがないので、吊し上げのような問題があることを追求するよりも、解決する方にリソース振った方が前に進めるので、そういう状況に陥った場合に冷静になれるようになりたいと思いました。

おわりに

パネリストに志願された方々、横浜道場のスタッフの皆様、会場を提供してくださった株式会社アットウェア様ありがとうございました。

2012年9月16日日曜日

XP祭り2012 〜ソーシャルチェンジ!〜 に参加してきました。 #xpjug

XP祭り2012 〜 ソーシャルチェンジ! 〜
http://xpjug.com/xp2012/

XP祭り2012 〜ソーシャルチェンジ!〜
http://kokucheese.com/event/index/45007/

2012/09/15 XP祭り2012 ~ ソーシャルチェンジ! ~ Vol.1(前日まで~本編午前) #xpjug
http://togetter.com/li/360397

2012/09/15 XP祭り2012 ~ ソーシャルチェンジ! ~ Vol.2(本編午後:コンテンツ祭り) #xpjug
http://togetter.com/li/372845

2012/09/15 XP祭り2012 ~ ソーシャルチェンジ! ~ Vol.3(本編午後:基調LT以降) #xpjug
http://togetter.com/li/372846

はじめに

XP祭りは名前だけ知っており、どんなものか見てみたかったので参加してみました。
寝坊してしまって、アジャイルサムライ読書会横浜道場で宣伝されていたアジャイルコーチ・ラウンドテーブルを見ることが出来ませんでした。
togetterを見る限り面白そうだったので、残念です。

C-3 状況打開力を叩き上げるTOCfEブートキャンプ【ワークショップ】

http://xpjug.com/xp2012-contents-c3/

TOCfE Boot Campということでワークショップ形式のセッションでした。
TOC for Educationについてはhttp://tocforeducation.org/に詳しく載っているそうです。
ツールとして「ブランチ、クラウド、アンビシャスターゲットツリー」があり、今回はその中でも「クラウド」のワークショップを行いました。

私達のグループは、分かりやすそうな「空調についてのジレンマ」をテーマにしてやってみました。

DSC_0461.JPG

DSC_0462.JPG

ファシリテーターの方が多かったおかげで、すぐに質問できたりしたので助かりました。

DSC_0460.JPG

特に仮定を設定する際に要望からなぜその手段をとるのかという理由を考えるということが参考になりました。
また、仮定を立てた場合にそれが正しいかどうかチェックすることで、解決策が出てきたり、仮定を変更したりすることが出来るということも参考になりました。

以上のことを踏まえて自分でもやってみました。

DSC_0464.JPG

時間切れで仮定を立てるまでに至らなかったのが残念ですが、対立するような事象があった場合どのように解決策を見いたしていけば良いのかを、知ることが出来たと思います。

TOC自体まだ知ったばかりなので、その他のツールについても知る機会があればいいなと思いますし、「クラウド」も使っていければいいなと思います。

C-4 マチコ先生の白熱風教室 in Waseda.univ 〜45分で分かるBABOK:序章〜【ディスカッション】

http://xpjug.com/xp2012-contents-c4/

このセッションのレポートはまとめ職人の@shinyaa31さんが担当されるとのことなので、安心です。

あの白熱教室風ということで参加者も発言するセッションでした。
このセッションに参加するような人たちだったので、結構興味深い発言が出てきたので楽しかったです。

個人的には、ウォーターフォールもアジャイルも次のステージに上がっていくのではないかなと思ってます。
どういう形態になっていくのか想像できないのですが、それぞれのいいところ、イケてないところも改善されていくと思うので、少なくとも現場レベルでは良い方向に向かうのではないかな、と楽観的に考えてます。
それをどうやって経営側がビジネスと結びつけて、よりよい価値を提供できる事業にしていくのかが、日本でアジャイルが普及していく課題ではないかなと思います。
誤解したり、変化を受け入れないような人たちがいるようなところは、相当厳しいのではないかなと思います。

Business Analysisがどういったものかさらっとしか出て来なかったので、頂いたチートシートを見ながらいろいろ勉強してみたいと思います。

終わりに

クロージングの際、初参加の人達でじゃんけん大会が行われ、本の提供が行われました。
ホントに様々な本があったのですが、私はこの本を選択しました。

DSC_0465.JPG

某界隈では別の呼称があるあの本です。
LOG.debug("nice catch!") に参加してきました #java_ja
この時点では興味はあったのですが、手をつけていませんでした。
Javaから関数型言語へシフトするならScalaだと思うのですが、全く関数型をしらない自分としては、先入観のない関数型言語を知ってからシフトしても問題ないと考えました。
ということで、少しずつでも関数型の勉強を始めたいと思います。
ちょうど学習パターンを使えるいい機会だと思いますので、併せてやってみたいと思います。

主催された日本XPユーザグループの皆様、各セッションの登壇者の皆様、会場を提供して下さった早稲田大学様ありがとうございました。

2012年9月14日金曜日

学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜に参加してきました。 #devlove

学び方を学ぶ 〜オブジェクト指向の設計と実装を学ぶ〜
http://devlove.doorkeeper.jp/events/1605

2012/09/12 学び方を学ぶ ~オブジェクト指向の設計と実装を学ぶ~ #devlove
http://togetter.com/li/371959

はじめに

オブジェクト指向の設計については、座学的なことはあまりやってきていなかったので、しっかりと学ぶべきだと思い参加しました。

学習パターンをエンジニアの学びに適用するためには

会場に入った際に、冊子を頂いたのですがこの冊子はhttp://learningpatterns.sfc.keio.ac.jp/
を製本したものでした。

@takashiibaさんと@masuda220さんのディスカッション形式での進行だったのですが、pattern languageについては全く知らなかったので、まさに浴びるように情報が流れてきた感じがしました。

一番印象に残ったのは、2つのワークショップのことでした。



まずは、学習パターンの40個の項目についてのワークショップですが、これは一度小さい集まりでやってみたいと思えるような内容でした。
40個すべて経験しているような人は、相当稀だと思うのでぜひ話を聞いてみたいところです。
自分の経験談を話すのは、整理することも出来るし、また思い出すことでまた新しい視点を見つけられるのではないかと思います。

次に、ライターズ・ワークショップについてです。
これが印象に残ったのは、書いた人が発表するのではなく、予め内容を読んできた人たちが内容について話し合うということでした。
発表者は、輪から離れて話し合っている内容を聞いて、誤解されているようなことや漏れていたことなどをメモしたりするそうです。

詳しくはhttp://web.sfc.keio.ac.jp/~iba/sb/log/eid154.htmlを参考にしてください。

これは、ソースコードレビューにおいて魔女狩りに陥ってしまうのを避ける有効な手段の一つではないかなと思います。
または、GitHubやBitbucketに公開して、pull requestでいろんな人と議論するのにも似ているのではないかなと思いました。

オブジェクト指向設計と実装の基本スキルの学び方(学習パターンの実践)



9つのルールについては、いろいろなところで見かけて、それに対する議論も盛んに行われていたのも知ってました。
これを習得しようとすると結構きついと思っていたのですが、学習パターンに当てはめることでどのように始めれば良いのか、どのようにこなしていけばよいかといった道筋が見えるようになりました。

パラメータオブジェクトパターンとメソッドオブジェクトパターンの2つは、リファクタリングするようになると自然にそういう思考になっていくと見えてくるパターンだと思います。

現状では、「小さくする」の途中までは出来ているんじゃないかなと考えているので、今後は「役割ステレオタイプ」を覚えてクラスに役割を与えることを実践してみたいと思います。
その上でまだ小さく出来る方法を習得していければと考えてます。

終わりに

今回の内容は、自分にとって新鮮で目からうろこが落ちるような感覚でした。
特に、学習パターンの冊子は、見やすく分かりやすいので時間を見つけて何度も読み込んでみたいと思います。
また、オブジェクト指向の設計については、まず自分で使うツールのルール違反の箇所から始めたいと思います。
講演して下さった井庭先生、増田さん、主催して下さったDevLoveのスタッフの方々、会場を提供してくださったKDDIウェブコミュニケーションズさん、ありがとうございました。

2012年9月4日火曜日

Java基礎勉強会 に参加してきました #JavaBase

Java基礎勉強会 #JavaBase
http://kokucheese.com/event/index/44210/

Java基礎勉強会 #JavaBase -日本で最もJavaの基礎を勉強する会-
http://togetter.com/li/362176

はじめに

今回は、あの#なごやこわいで有名な名古屋でJavaの勉強会が開かれるということで参加しました。
お盆の後のちょうどいいタイミングということで、帰省も兼ねて名古屋に向かいました。

セッション

  • Javaの基礎
  • ジェネリクスの基礎
  • Java並行処理の基礎
  • スタックマシンとしてのJava VM
  • ClojureではじめるASM入門
  • 無名関数とretrunで小話を一席
  • Javaで(嵐を)呼ぶSML#
  • J2EEの基礎Struts
  • オレオレLINQで学ぶJava基礎
これだけ見ても「基礎≠入門」というのがひしひし伝わってきます。
初めて動く@bleisさんを見ることが出来ました。
あと、前の方に座った方々の熱心な姿を見て、名古屋の人たちとjava-jaの人たちに似たような雰囲気を感じました。
知らなかったり、コードを見たことがない言語がバンバン出てきたので、一瞬なんの言語の勉強会だったのか忘れそうになるほどでした。

特に印象深かったのはJVMに関するセッションでした。
普段使っているにもかかわらず、深いところは全く体系だって勉強したことが無かったので、とても勉強になりました。

日本語の本ですとJava言語仕様は第3版、Java仮想マシン仕様が第2版です。
最新はこちら。
http://docs.oracle.com/javase/specs/
Java8が出る前までには、どれだけかかるか分かりませんが、ひと通り読んでみたいなと思いました。

LINQについては、Java8でも取り入れられるものがあるそうなので、予習しておくのもありかなと感じました。
Javaで実装されたライブラリもあるそうなので探してみたいと思います。

懇親会

マサカリとはどういうものかを見ることができました。やっぱり#なごやこわい

おわりに

次回は言い出しっぺがいない限りないそうなので、残念です。(次回、本当のJava基礎勉強会とかのツイートが流れていたのは気のせいかな…)

主催された@kyon_mmさんのように知りたいから勉強会開いてみるというのは、慣れないと難しいと思いますが、いろいろと勉強会で知り合った人に声かけてとりあえず集まって話しあうだけでもいろんな話を聞けて面白いと思うので、そこから始めてみるのはありなんじゃないかなと思いました。

@kyon_mmさん、発表者の皆様、会場を提供して下さった日本オラクル中部支社様ありがとうございました。

2012年9月3日月曜日

TDD Boot Camp (#TDDBC) 横浜 Second Season に参加してきました

TDD Boot Camp (#TDDBC) 横浜 Second Season
http://kokucheese.com/event/index/46603/

2012/09/01 TDD Boot Camp 横浜 Second Season #tddbc
http://togetter.com/li/360406

TDDBC横浜 Second Season
http://devtesting.jp/tddbc/?TDDBC%E6%A8%AA%E6%B5%9C2nd

はじめに

今回は、スタッフとして初めてTDDBCに参加しました。
前回は、運良く抽選で参加者として参加しました。
前回のレポートはこちら -> レポート置き場: TDDBC横浜に参加しました。
それから、現在までいろいろな勉強会やイベントに参加することで、そろそろスタッフとして参加してみたいと思っていました。
また、TDD in Actionでも感じていたのですが、他のペアがどんな感じでやっているのを見てみたいと思っていました。
言語はJavaで参加しても良かったのですが、あえてGroovyで参加してみてることで自分のGroovy力がどの程度なのかを知ってみたかったので、Groovyにしました。

基調講演

@tosikawaさんによる「テスト駆動開発入門」の入門でした。

写経については、@t_wadaさんの連載にもありました。
[動画で解説]和田卓人の“テスト駆動開発”講座 » 第6回 「写経」でTDDの手順や書き方を学ぶ
http://gihyo.jp/dev/serial/01/tdd/0006

誰が言ったのか忘れてしまいましたが、新しい言語を始める際にテスト駆動開発入門を写経することで覚えるといいと聞きました。
それにならって、私自身まだ、テスト駆動開発入門の写経をしていないので、これを機にやってみたいと思います。

ペアプロ中の気づき

一番印象に残ったのはこれでした。


ペアプロをしていると、基本的に閉じた世界になってしまいがちですが、誰かに相談したり一息ついて一旦閉じた世界から離れてみる必要があるなと実感しました。

参加者の方から、言語のTAと言語以外に抽象的な部分に対応できるTAがいてとても良かったという感想をいただきました。
今回は、@t_wadaさんを始め複数の言語が出来たり、実戦経験豊富な方がTAだったので、上手くサポート出来ていたのではないでしょうか(私はあまり役に立っていたとは言えないのですが)。

前日にStep2まで素振りをしていたことで気づいたのは、事前に同じ課題をこなすことで自分の過去をオーバーラップしながらアドバイス出来たことでした。
自分がつまづいた箇所やGroovyでならどう書くのかといったことを出来るだけ伝えたつもりです。

また、その他の言語のテーブルを見て回れたのは、とても勉強になりました。
個人的にはJavaScriptのテーブルが、ドライバー1とナビゲーター2で10分毎に交代しながら行なっていたので印象に残りました。
jasmine + node.jsを利用していたそうです。
http://pivotal.github.com/jasmine/

探してみたところgradleにもjasmineのpluginがあったので、触ってみたいと思いました。
https://github.com/dzhaughnroth/jasmine-gradle-plugin

コードレビュー

コードレビューでは、C++のペアに学ぶことが多かったとおもいます。
テストに対する取り組み方として、慎重に周りを見渡してこのまま前に進んで大丈夫か確認していく大切さを教えていただきました。

Spockの素晴らしさを披露するのが、TDDBCでのコードレビューにおけるGroovyの定番となっているのですね。
あと、gradleでプロジェクトを作った意図を汲んでいただけたのか、参加者の方がgradleのレポートを披露してくださいました。
これも結構好印象だったので良かったです。
ありがとうございました。

最後に

今回、スタッフとして参加して、TDDの知らなかったことや新しいことを学ぶことができました。
特に質問コーナーでスタッフの皆さんが自身の体験から学んだことを話していたことがとても印象に残りました。
まだまだ練度が低いので、もっといろんな「気づき」を出来るまで日々鍛錬したいと改めて思いました。

主催してくださった@setoazusaさん、参加して下さった皆様、スタッフの皆様、会場を提供して下さった株式会社アットウェア様、ありがとうございました。