アジャイルサムライ読書会の参加レポート

アジャイルサムライ読書会(渋谷道場) に参加してきました
#agilesamurai


「あのプロジェクト、なんかうまく行かないんじゃないかなあ、きっと…?」の様に思うが、それが何故かは具体的に説明できず、そう感じる程度なのだけど、結果、迷走やら手戻りやらですったもんだしているうちに色々妥協したアンニュイな決着になった…みたいな事を何度か見てきました。

今回の題材の「アジャイルサムライ」の中から「それはどんな要因からだったのか」と「それに有効な考え方はどういったものがあるのか」のヒントを得る事ができそうです

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

スタイル

事前に1〜3章を読んで各自の感想や疑問をサポートWikiに書き出しておく
それを元に議論し理解を深めて行く

持ち帰り

1〜3章はアジャイルとは?と、プロジェクトの準備段階の話が多い印象です

  • 解り易い言葉で始める
    • まずは平易な言葉で意味合いの共通認識から
    • 専門用語は後から置き換えて行けばよい
  • 包み隠さず誠実に
    • 色々な局面で共通の認識の合意が大事
    • 顧客も交えて定期的な進捗確認や予定の合意をする(早期に柔軟な軌道修正)
    • 積極的に関わる顧客(顧客と一緒にチームする事)が大事
  • やらない事を最初によく考えておく
    • やるべき事(顧客が本当に欲しいもの)に注力できる
    • キーマンと合意しておく
  • 短い単位で計画の繰り返しをして焦点を合わせて行く
    • 合意した計画に責任を持つ
    • 優先順位を付けて今取り組むべき課題に集中
    • 後で決めるとしたものもプロジェクトの進行に伴ってその判断材料がでてくる
  • 役割の境を超えられそうな人を見定めておく
    • 小さなチーム程、複数の役割を受け持つ可能性が出てくる
    • 自分の得意分野意外でも積極的になれる人が向いている

感想

時間がもう少し欲しいなあと感じるくらいに質疑が繰り返された印象です。
アジャイルを実践されている方、一部アジャイル的な手法を取り入れている方、なかなかアジャイルを導入する許可が得られずに…という方、アジャイルの可能性とは?と興味を持ち始めた方、色々な立場からの議論の交流の場となると良いですね!
経験者の方の実際の経験談がイメージを膨らめてくれるので、可能な限り全回参加したいと思います!

懇親会でも引き続き興味深いお話ができて楽しかったです、有り難うございました。


次回は8月3日(水)の予定(ATND)

Gitの参考URLメモ

メモとして

Takao.mt 2011 (Hachioji.pm #7) の感想レポ

Takao.mt 2011 (Hachioji.pm #7) に参加した感想です!

今回の Hachioji.pm は、趣向が違います
Takao.mt と題して、高尾さんで山ビール、山Perl!「.mt」なので、山を感じてきました!

入山

Let's GO!

ケーブルカーの往復チケットを入手して

30°の急勾配を上がっていきます

山ビール

既に長蛇の列 ( ぼけぼけしてたら、危うく皆さんと別グループのボッチになる所でした>< )

ここがあの「高尾山ビアマウント」でし!

山ビール、征す!

登山

最初の内はゆったりした舗装路

色々見物もできます

山頂手前が結構しっかり登山でキツかったですw

山頂LT

Perlを楽しむ!

自分の発表資料( Acme de Takao.mt ) はこちらです
Acme大全の輪読ができればいいねという話もあがっていましたので Acme::EyeDrops で思い出をチョットだけ持ち帰ろうというネタにしました
チマチマと小一時間かけてバナーを書いたのですが、bannerコマンドというコマンドの存在を教わりました。
@nekoyaさんは、PHPSQL Builder ( 名付けてphp-ganc ) を作り始めるに至ったお話
 3次会でも@uzullaさんと議論されてて即席ハッカソンのような雰囲気でした
@maka2_donzokoさんは、今回のLT資料はA4用紙が素材だったんだという事にしたこの紙コップで、中身は酔ーツを入れて…まあ飲みましょう…という強引な(内輪)ネタw

山スイーツタイム

山では「スイーツ」は「酔ーツ」!?


皆さんのレポートへはコチラ

感想

今回は山な環境。いつもの様な感覚でのLT大会は難しいかな?という予測もあり、どちらかといったら山ビールしながら普段のみなさんの事を聞けたら楽しいかなと思って参加しました
といっても、話しているうちに「初めて触ったプログラミング言語は?」とか段々エンジニアトークになっていくんですねw
@hondallicaさんのメタルトークは一貫してメタルで面白かったですw
あと、Acme大全2011年度版のお話もチラッと聞けて大変楽しみです!
山頂でのLT大会ですが、意外も電波が入ったりして、不自由な事はなく面白かったです。
なにより、青空教室にたいな感じで気持ちが良かったです!
LTが終わった途端に軽い通り雨が来ましたが、アレはアレで涼しくて気持ちよかったですね〜


てなわけで、時々運動をする事の大切さも忘れない楽しい会ですよ!
ハッシュタグ #hachiojipm や公式Twitterアカウント@hachiojipm公式ページ等でインフォメーションがキャッチできます〜

次回は通常のHachioji.pmで、8月27日(土)の予定と思います、皆さんも是非是非!

TDDBC東京1.5 へ行ってきました #tddbc

Zynga Japanさんで行われました「TDDBC東京1.5」の感想ブログです

感想

ここ最近、TDDに関する勉強会に頻繁に参加させて頂いてます。
実務において、運用期間の長いレガシーなプロダクトの終わらない戦いがあります。
そこから脱却する為に有効なプラクティスはないか?と探すうちにTDDというキーワードに出会いました。
しかし、学習の中でつまづく事や迷子になる事も多く、更には現場に展開し、レガシーコードを改善していく*1までに到達していくには…
良いヒントを求め、参加させて頂きました!


@t_wadaさんの講演は今回で2回目の聴講となりますが、より深く聴く事ができたと思います
コードレビュー大会は他言語へのリスペクトの機会、 ソフトウェア開発の三本柱はバージョン管理・テスティング・自動化、 バージョン管理のないプロジェクトは死亡確定、 機械ができる事は機械に任せ人間にしかできない仕事を、 TDDは開発促進の為DeveloperTesting、 プログラマによるプログラマの為のテストを書きながらの開発、 完全主義の呪いからの脱却、 コードを書いて初めてわかる気付きに近い所で素早いフィードバックを得ながら、 黄金回転で一番大事なのはリファクタリング、 ひとつづつ少しづつ、 テンポよく回転力を保って、 Eat own dogfood、 道具を研ぎ澄まし、 祈るのではなく不安をテストに、 必要になった時に命綱を編み始めるのでは遅い、 TDDの真の目的はコードとエンジニアとチームの健康、 この先生きのこ「レガシーコード改善ガイド」「データベース・リファクタリング」「xUnit Test Patterns」「GROWING OBJECT-ORIENTED SOFTWARE, GUIDED BY TESTS」、 写経・写経・写経!
よし、頑張ろう!


@ShiroKappaさんのLTでは、
みなが幸せで良いものを作れる為、個人では整えられない職場環境を組織として共有していきたいというトップの方針ものと、共通のゴールを目指して取り組む、良いなあと思いました!
「脱却 - 属人的永年保守」のページでウルっときて「獲得 - 安心感、攻めの姿勢、今の自分への信頼、コード・品質・価値の共有」の流れで泣けてきました><


@remore さんのLTでは、
TDD導入開始から3ヵ月間、幾多の苦難をどのように乗り越えてきたかのあるある体験談でしたが、そのなかの幾つかは自分も感じた事があり、また幾つかはその予兆を感じているものがあります。
TDDの検証段階の自分にとって、3ヵ月先行している@remoreさんの記録は道しるべ的な意味合いがありそうです!
上り坂を迎えた時には、是非ともコチラのLTを振り返ってみたいと思います!


ペアプログラミングの方は、事前に各自ポジションペーパーを記入してあったので、初対面の方とでもバックグランドをある程度把握した上でコミュニケーションできてよかったです!
折角、@tomy_kairaさんがGit入門のLTをしてくれたのに、レポジトリをinitしただけでその後バージョン管理してなかったなあ…と、少し心残りもありましたが、@HIROCASTさんのLTにあったようにグリーンバーを見てペアの方と拍手しあったり「コーディングを楽しむ」という部分も体感できました!
ペアを組んで頂いた方は、自前のキーボードでの参戦、Vimさばきも鮮やかに、まさに「道具」にこだわりのある方でした。


コードレビューは、他言語へのリスペクトの機会という言葉を意識して聞かせて頂きました。
Groovyという言語を見るのは初めて(情弱ですみません…)だったので、コードが面白いなあと思ったり、Nodeを使ってテストと実装に挑戦してみたペアのレビューも興味深かったです。
自分が選択したPHPでの別ペアのレビューでは、クラスに切りだすかどうかとか、機能の名前付けとか、同じような所で悩んいたり、ペアによって違いが出て、それを比較検討して自分の引き出しを増やす効果があったり、普通では体験できないような事なので、実践でそういう機会を意識的に作ってみるのも面白いかと思いました。


質問コーナーは、事前にGoogleモデレータに質問事項を募集してあったのも良いアイディアだったと思います。
TDDを実践していくにあたって身に付けていると好ましい知識は?という問いに対して、オブジェクト指向リファクタリングデザインパターン、設計技術、テスト技法、TDD・テスト設計における語彙、CI、静的コード解析・・・それぞれが関連して繋がっている要素であり、良書も色々あるのでインデックスしていきたいです。


その後、近くのお好み焼屋さんで懇親会が行われました。
鉄板が熱くて、ビールは飲んだそばから汗になって出ていくような熱気でしたw
PHPフレームワークredmineの運用などについて、参考になるお話を沢山聞かせて頂き、収穫でした。


今後もTDDBCは各地で順次計画されているようですので、お近くで開催される場合には是非参加される事をお勧めします!!

最後に

主催の@HIROCHASTさんはじめ運営の方々、会場提供して頂いたZynga Japanさん、良い機会を提供頂きありがとうございました!
@t_wadaさんはじめ登壇者の方々、貴重なお話し、ありがとうございました!
また、ペアプロでご一緒して頂いた方、色々お話しさせて頂いた皆さん、ありがとうございました!
今回得られた情報を実践し、なにかフィードバックできるよう頑張りたいと思います!

*1:既存のレガシーコードとの戦いには「レガシーコード改善ガイド」をお供に!

Hachioji.pm #6 に行ってきた

Hachioji.pm #6 に参加した感想です!

7回目の Hachioji.pm 、前回に続き雨模様、、、
雨の多い時期って事もありますが、自分、結構「雨男」の自覚あります、すみません><

グルメPMコーナー

今回は、みんな大好きカレーです (Very well)
自分はキーマカレーをオーダーしました、この時期やっぱ、カレーですね!
あと「マヨネーズナン」が美味しかった
2時間制の為、LTはHachioji.pmの聖地「タイランナー」で行われました

A4LTコーナー

今回のテーマは「省エネ・エコ」
@uzulla さんがデジタルな環境を準備してくれるので、A4用紙でのLTは少なかったです、エコですね!

印象に残ったものは、

  • 「重い」のニュアンスって?
    • CPAN便利、CPAN楽しい!って思い始めた今日この頃、依存しているモジュールの量によっては「重い・遅い」というファクターが…
    • 自分はまだ、重い、軽い、早い、遅いを比べるような材料が無いため、この辺りの話を聞いても「便利」を優先してしましそう
  • Cloud9IDE
    • え?ブラウザ?って思うくらい、最近のWEBアプリケーションってネイティブのアプリケーションに見劣らないですね
    • Webアプリの中でGitのリポジトリを操作したり、エディタとターミナルが一緒になってブラウザ上で動いてるみたいな感覚でした、格好いい!
  • GANCで作ったブログシステムのコード
    • GANCのAはArcのA、カッコが沢山で一瞬「うわっ」って思いましたが、皆さんに聞くと、ぱっと見て意図が伝わりやすい良いコードだとおっしゃってました
    • 自分は読解力が低いのかな?もっと色々なコード読んだ方がいいかな?というか、ドンドン書いた方がいいな、書くは読むを兼ねる!?

皆さんのレポートへはコチラ


今回自分は、、、 発表資料はこちらです
最近行った勉強会(こちらこちら)で思った事をエコのテーマに乗せて「先人の知恵と経験と時間をリサイクルしよう!」という感じのLTをさせて頂きました
聞いてきていいなと思った物を伝える事ができて、まずは嬉しいです!
今後はもっと、実体験に基づく具体的な情報も伝えていけたら…いや、いきます!

コツコツ

過去のHachioji.pmで発表したコードに @okamuuuさんや @toku_bassさんから頂いたアドバイスGitHub上のコードに反映させたんですが、
今回のHachioji.pmでも、Webアプリケーションを作るのにお勧めなキーワードを教えてもらいました!
nginxとかPlackとかRouter::SimpleとかSQL::MakerとかDBIとかText::Xslateとか (^^
コツコツと作ってはHachioji.pmの時にでも話題にできたら面白いかなと思ってます!

感想

Hachioji.pmって、あんまりPerlの事について話してない???って印象もあるようですね><
実感としましては、みんなが発言し合える場所をというアイディアのA4LTを導火線にして、美味しいものを食べながら、お酒飲みながら、シャイな人でも割と気楽に話ができるよねってムードも手伝って、色々勉強させてもらっているうちに、段々使える道具が増えてきているなあと感じています!
目指せ中級者、徐々に、もっと発信していけるように頑張ります!

てなわけで、美味しい料理とお酒とエンジニアトーク、楽しい会ですよ!
ハッシュタグ #hachiojipm や公式Twitterアカウント@hachiojipm公式ページ等でインフォメーションがキャッチできます〜

次回はいよいよTakao.mt、高尾山での野外勉強会?! 7月23日(土)の予定です、皆さんも是非是非!

「PHPでTDD&CIワークショップ」に行ってきました

先日グリーさんで行われました「PHPでTDD&CIワークショップ」の感想ブログです


自分が仕事で関わっているプロダクトは、色々な人により様々な改修が繰り返された歴史の長いもので、有用なドキュメントがなくテストもない俗にレガシーと呼ばれている様なもので、過去の仕事による不毛なストレスを(ry …よくある話ですよねw
このままでは、未来の誰か(自分でもあるw)にまでもこの不毛なスパイラルが…
少しでもそこから解放されるいい方法はないだろうか?という経緯でTDDに興味を持ち始め、今回参加させて頂きました!

参考

ATND
#php_tdd_ci

内容

  • PHPでのTDD、CIに関する発表
  • ワークショップ(TDD or Jenkins)
  • 懇親会

発表

感想

単体テスト、始めるのは簡単、極めるのは難しい
適度な粒度が見つかり始めたら上手な設計ができ始めてる兆し?続ける事が大事
TDDを初めてみて、PHPUnitの使い方は解ったけど実際のコードで応用してみようとするとなかなかシックリこないと感じていたのですが、成程、と思いました!
また、PHPでもテスティングフレームワークを使って日々レガシーコードと戦っている方が沢山いるんだと心強く感じました。
継続していきます!
@tsuyoshikawaさんの「勉強会は勉強しにきたら負け」の言葉で会場すこしリラックスw


ソフトウェア開発の三本柱、1.バージョン管理 2.テスティング 3.自動化
自分が興味のターゲットにしている所に改めて自信が持てました!
引き続きテスト駆動開発入門等を写経したり手を動かしてラクティス、プラクティス、プラクティス!


怖いなあー、怖いなあー」 (不吉な匂いを表現していると思われます)
@cactusmanさん、@yamashiroさんの発表では、@yamashiroさんの稲川淳二風味の語り口が秀逸で、為になりつつ面白い発表でしたw
PEARのPHPMDやPHPCPDをJenkinsプラグインで上手くCIすると怖くなくなるよ!
CIツールのJankinsJenkinsに関しては @yamashiroさんの最強な資料で試してみると良いと思います!
三本柱で言うところの「自動化」関連ですね!

ワークショップ

@t_wadaさんによる「PHPでのxUnitテスティングフレームワークを用いたテスト駆動開発

ペアプロで課題をPHPUnitを使ってTDDし、随所で全体でのコードレビューをするスタイルでした(課題はFizzBuzzの応用、途中で仕様変更の要望も入る)

ペアプロでは客観的な気付きによるメリットを体感できました
自分がドライバーを担当している時は「どうしましょう?」と問われて「うーん、どうしましょ…。」と全然頼りなかったと思います、すみません><
あと、今回は同じPCを交互に使ったので、普段使いのツールが違うとちょっと戸惑いますね
コードレビュー大会では、更に広い視野や考えが発見できてとても参考になります!
TDD歴が長くプラクティスも多いという事だと思いますが、@t_wadaさんによるレビューは多彩な切り口からの物で流石だなあと感心しました!


@cactusmanさんと@yamashiroさんによる「レガシー(カルマ)を浄化するJenkinsとテストの力
自分は参加できなかったのですが、こちらも大変盛り上がってました
@yamashiroさんの網羅的な資料で疑似体験できると思います!

懇親会

ワークショップの途中からピザとビールは始まってましたが、リラックスムードでの懇親会フェーズでは皆さんの現場での事例など個別にお話しを聞けました
自分の場合、現場への展開はまだ具体的に始まっていない段階なので、事例としてお話しできる事がなく残念でしたが、皆さんのお話を参考に、いづれなにかフィードバックできるようコツコツと検証と啓蒙を続けていきたいと思います!

最後に

グリーの方々、運営の方々、良い機会を提供頂きありがとうございました!
登壇者の皆さん、ペアプロでご一緒して頂いた方、お話しさせて頂いた方々、ありがとうございました!

「PHPを使ったアジャイル開発のLT、読書会とミニワークショップ」に行ってきました

遅ればせながら、
先日NIJIBOXさんで行われました「PHPを使ったアジャイル開発のLT、読書会とミニワークショップ」の感想ブログです

参考

ATND
#actinagile

内容

発表

@remoreさん (@remoreさんのレポート)
@ShiroKappaさん (@ShiroKappaさんのレポート)
@HIROCASTさん


自分はアジャイルに関して広く学習してなく、まずTDDをという段階です
今までしっかりとアンテナできてなかった為、やっとここ最近先人のプラクティスに対して関心を持ち始めました
そんなタイミングでしたので、@remoreさんの発表での、書籍アジャイルプラクティスを新人研修に使った時の体験談、
@HIROCASTさんの発表での、実際のチーム経験に基づくお話、@ShiroKappaさんの発表での、アジャイルまでの道のりのお話、
どれも大変興味深く、いつか応用できるようにインデックスしておきたいと思いました!
まずはTDDから、着実に攻めて行きます!

ミニワークショップ

自分はミニワークショップに関心があってそちらのグループで実習してました
みなさん読書会の方から聞こえてくる話が気になる様子でしたw
用意して頂いた課題はコチラ、しっかり復習して成果にしたいです!

アジャイル周辺の質疑コーナー

最後の@kakutaniさんを囲んでアジャイル周辺の質疑コーナーでは「やればいいんだよ」というメッセージが印象的でした。
指示や許可を待つのではなく、各自で考えて、足元で出来る事をやる!
自分の場合は、レガシーコードとの腐れ縁による不毛な労力を減らしていけるように、足元でTDDを勉強していきます!
参加直後の感想ツイート→

最後に

NIJIBOXの方々、運営の方々、良い機会を提供頂きありがとうございました!
登壇者の皆さん、お話しさせて頂いた方々、ありがとうございました!