コンピュータやソフトウェアのあれこれ@道民(&元道民)
Archive for 11月, 2011
第9回アジャイルサムライ読書会 @札幌道場 開催
11月 23rd
第9回アジャイルサムライ読書会 札幌道場を開催しました。
参加者は3名。人数が少ない分ディスカッションがみっちりでした。
なんというか、自分自身にモヤモヤする回でした。今回は6.3のみ。
今回の範囲で「グっときた」ところ
お客さんがわくわくするようなストーリー
勉強会として
ユーザーストーリーカードを書いてみる
今回は、本に書いてある「やってみよう」を実践しようということでユーザーストーリーの作成をやってみました。
正直な感想としては、難しくてよくわからなかった。
そもそも、ユーザーストーリーカードを作るという段階の立ち位置を勘違いしていたようです。
お客さんと話しながら作るものではなく、こちらからたくさんユーザーストーリーを準備していき、お客さんと話をしながら明確になったその時点でやりたいと思ったもの選んでいってもらう、という形になるのですね。
(なんとなく、自分はそういうときはユーザーストーリーカードではなく別のものに自分の考えをまとめておくものかと思っていました。)
というのも、
「本に出てくるお客さん(デイブと言います)の書いてある漠然としたやりたいことだけでは、ユーザーストーリーはほとんどかけないなぁ。あとは本人が目の前にいて話を聞きながらそろえていくものかなぁ。」
というのが1人で本を読んだ時の感想だったので、この本の会話だけでたくさんユーザーストーリーが出てくるということが想像できなかったのです。
実際にやってみて、自分がちょっとした会話からお客さんのやりたいことを形にするための手持ちのカード(スキルやアイデア)が圧倒的に足りないということがわかりました。
現実的にどういう形がいい形なのかが全く想像がつきません。
その時の思いをすべて言葉に残したものがユーザーストーリーカードなんだろうか。
「話をするきっかけとして」のユーザーストーリーカードと「誰が何のために何をしたいかをすべて書いておく」ユーザーストーリーカードと「フィーチャーとニアイコール」のユーザーストーリーカードは違うものなのか同じものなのか。
まだまだ、自分の理解と勉強が足りないなあ。
アジャイルの前に正しいウォーターフォールを
この章の全体を通したディスカッションで
「この辺りに書かれていることはそもそもアジャイル独自のことではない、ウォーターフォールもきちんと改善されれば自ずとここに書かれていることが大切になってくる」
という話が出たことから、アジャイルとウォーターフォールの話になりました。
自分には改善された生き生きしている現場 = うまくいっているきちんとしたウォーターフォール開発 という図式がうまく想像できません。
「きちんとしたウォーターフォール=開発者が辛い思いをするもの」
というインプットがされてしまっています。
これは「正しい」ウォーターフォール開発ではないというお話を聞き、頭では、たまたま私の環境が良くなかった、きちんと学べば正しいウォーターフォールの形があるということはわかるのですが・・・。
まだ、昔の(嫌な思いだけをした)プロジェクトのことを思い出しながら「あのプロジェクトはここがよくなかったからこうすればうまく行ったのかもしれない」と考えることはできません。
そもそも、どうしても(嫌な)経験と照らし合わせてしまい、ウォーターフォール開発を客観的な目で勉強することができません。体系を学ぶ前に経験が戻ってきて学習できる余裕がない。
もちろん、自分の体験の原因のすべてが「ウォーターフォールの開発だったからではない」ということはわかっているのですが・・・わかっているんだけど、うーん。
先に他の開発手法をきちんと理解した上でアジャイル開発の手法について学ぶべきなのかもしれないですね。
ただ、今はきちんとアジャイルを勉強して、開発者とお客さんが共によいものを作っていこうという考えで生み出された手法についてきちんと理解したうえで、正しいウォーターフォールやマネジメントについて学んでいけたらいいなあと思います。体系だてて比較したり両者の良い面悪い面を見たりできる段階には達していない。
しばらくはまず、今やりたいと思っていることをやり遂げたいなあと思っています。
運営の立場で
今回は逆に参加者の皆さんに自分の理解不足や勉強不足で円滑な運営どころかむしろご迷惑をかけてしまいました。
次回からも皆様の胸をお借りするつもりで、頑張りたいです。
とんちんかんな質問しないようにもっと勉強しないとなあ。
読書会のディスカッションのwikiはこちらになります。
https://github.com/agile-samurai-ja/support/wiki/Readingagilesamuraiinsapporo20111122
最後に。毎回会場を提供していただいた弊社に感謝。
ありがとうございます。
今年はあと2回ほど開催する予定です。
よろしくお願いします。
Java Festa 2011に参加しました
11月 22nd
11月18日(金)札幌コンベンションセンターで行われた「Java Festa 2011」に参加しました。
午前中から夕方まで充実のセッションを聞いてきました。
JavaOne 2011 サンフランシスコの最新レポートについて
7月にもセッションを行なっていただいた日本オラクル寺田佳央さんのお話。
サンフランシスコで行われたJava Oneの現地レポートを中心に、これからのJavaがどうなっていくのかについてお話を聞きました。
技術面ではSwingがメンテナンスモードになって、これからはJavaFXメインで行くというのに一番驚きました。
あとはJavaEE。Strutsはもう古い、古すぎる技術、時代に置いていかれていることを認識したほうが良い。と。今のJavaEEは本当に使いやすくなったようです。(これから業務で使います。)
「Moving Java Forward」
コミュニティ面、技術面含めて(いろいろあって不安に思っている人もいるかも知れないけど)これからもJavaは前向きにじゃんじゃんやっていくよ!
というメッセージと意気込みが伝わって来ました。
この動画は驚いた。Javaっぽくない!本当にお祭りなんだなぁ。
仕事柄、使う時間の長い言語だもん、もっといろんなことを知って楽しく使いたい。(今も楽しいけど)
来年4月に東京で行われる Java One Tokyo 行きたいな!
北海道だけにこっそり教えるアジャイルコンサルタントの秘密~アジャイル開発 禁断の予言書~
株式会社 匠BusinessPlace 牛尾剛さんのお話。
今回、一番理解するのに苦労したセッションでした。
冒頭、「アジャイルやってますかー?」という質問から始まったのですが、この「アジャイル」という文脈がなかなかつかめなかった。
Twitterなどでいろんな意見を聞きながら話を聞いていたのですが
「うまくいっていないプロジェクト(チーム)を”アジャイル”というキーワードで立て直す方法」
「アジャイル導入に不安を持っている(特に)リーダー層へ向けてアピールする方法」
という文脈で聞くと、そういう方法もあるのだなあと考えることができました。
普段自分が考えているアジャイルとはまた違った文脈の話が聞けた気がします。
クラウド時代のアーキテクチャ設計 – 次世代アーキテクトが押さえるべきキーポイント –
Amazon Data Services Japan 株式会社 玉川憲さんのお話。
Amazonのクラウドプロダクトについてと、クラウド環境をインフラとして取り入れる際に考えるべき7つのポイントについて。
AWSは触ったことがなかったので、プロダクトの多さにびっくりしました。
時代の流れは確実にクラウドを押さえなければいけないですね。
「適材適所、レゴブロックのように用途に合わせて組み合わせていく技術が大事になってくる」、レゴブロックってわくわくしますね。
今度サービスを作りたいと思った時に選択肢の一つにできるように勉強しておかないとなぁ。
アジャイル開発の現在・過去・未来 ~今を知り、源流を訪ね、先を見据える~
前日に引き続き、株式会社チェンジビジョンの平鍋健児さんのお話を聞きました。
今年の1月に行われた「平鍋さんとアツク語る会2011札幌」から続いているお話だと理解して聞いていました。
あの頃から、自分はかなり変わったなあと実感。
(だいたい、平鍋さんとアツク語る会のこと、ブログに残してなかったし・・・)
お客さんと向き合う時の考え方など、普段のモヤモヤを少し緩めるきっかけになりそうなエネルギーをもらえました。
アジャイル的な開発を現場で取り入れようとするときに、「教科書通りにやっても必ず失敗する」「その場その場で現場で考えることが大切」というところは、現時点のモヤモヤと合わせて、どうやったら気持ちよく皆が幸せになれる仕事をしていけるか、ということを考える際に忘れてはいけないことだなと再確認。
「Energized Work」
“「人生があって、仕事があって、プロジェクトがある。」しかし、「プロジェクトがあって、人生がある」となってしまっていることがある。いっときそういうこともあるかもしれないけれど、ずっとそうなっているのは健全な形ではない”
私たち開発を行う側も心地よく、エネルギーを持って仕事に取り組めるようにすること、これを大事にするという考え方は、うまく言えないのだけれど、救われるところが大きかったです。
自分の仕事に自信を持って、胸を張って毎日楽しく取り組む、簡単そうで難しい、常にそうありたいな、と思いました。
最後に、壇上から「オム子さん」と名前を呼ばれ、平鍋さんがアジャイルサムライ読書会の紹介をしてくださいました。
読書会を開催していなければありえなかったこと。
ますます、頑張っていこうと思いました。
Java Festaのこと
なんだかんだで社会人になった頃からほぼずっと参加しているイベントです。
(参加しているというよりは”セミナーを聞きにいっている”という感覚に近い時期もありましたが)
今年は
- 無線LANが解放されていた
- セッションがUstream中継された
という点が、例年と大きく違っていたなと感じました。その点とてもよかったです。
快適にtwitterでリアルタイムに感想をかけたり、あとから動画を見ることもできます。
(公開されている動画の一覧や公開された当日の資料はJavaFestaの公式サイトにあります。)
ただ、「Java」Festaに参加している者としては、Javaの話が少なかったのはとても残念でした。
Javaのレガシープロジェクトを改善した話とか、最近のFWの話とか、JRubyの話とか、Groovyの話だとか、もっとJava界隈の技術的な話があったら面白かったのになと感じました。
毎年参加できていることに感謝して、そして来年も参加したいと思います。
アジャイル札幌 『特別編 平鍋さんを囲んで』に参加しました
11月 20th
11月17日(木)夜に行われた「アジャイル札幌 特別編」に参加しました。
実は、アジャイルサムライ読書会のつながりで、最近「アジャイル札幌」のメンバーの一員となりました。
スタッフとしての初めての参加です。
といっても、今回は自分のことでいっぱいいっぱいでスタッフらしきことはあまりできていません x(
平鍋さんのお話
今回は、北海道に日本のアジャイル・XPムーブメントのリーダーである平鍋健児さんがきてくださり、興味深いお話をたくさんしていただきました。
特に、自分はブラジルでのアジャイル開発の話にとても感動しました。
ほんとうに「生き生きと」「お客さんの喜びが自分の喜びになる」ということを実践している受託開発の現場だなと思いました。
すべてを今、自分の現場で生かすことはできないかもしれないけれど、
- お客さんの製品をまずは買ってみる
- お客さんのわかる言葉でタスクを管理する
- 「リリース」というイベントをチームで喜ぶ
こういうできそうでやっていない意識の切り替えにはハッとさせられました。
自分の意識を変えるだけでできることが、まだまだ、たくさん、ある。
また、リーンのお話の中で出てきたキーワード
「手を動かす人が頭をもっている」
これに、とってもグッときました。
「私考える人、あなた黙って手を動かせばいい人」
「あなた考える人、私はあなたに言われた通りに手を動かします」
どっちもイクナイ。一緒に考えて現場を、プロダクトをよくしていくこと、大事。
リーンスタートアップのお話もありました。
自分の現場には関係ないことなのかなとはじめ思っていたところもあったのですが、「在庫を減らす」こと「この考え方を応用してモヤモヤを減らせないだろうか」という視点を得られたことがとてもよかったです。
モヤモヤと寄り添って考えていく過程で、もっとたくさん勉強したいと思いました。
アジャイルサムライ読書会@札幌道場のこと
10分程度ですが、読書会についてお話しさせてくれる機会をいただき、発表をしました。
スライドはこちらです。
会社など全員が知り合いという状況で話をしたことはあったのですが、対外的な発表ははじめてでした。
当日話をしている間は楽しかったのですが、(直前まで超緊張してましたが)準備はとても難しかったです。
このブログでも時々書いている通り、アジャイルサムライ読書会はすごくモヤモヤする読書会です。
このモヤモヤ感をそのままぶつけていいのか、どういう形で伝えればいいのか、大変悩みました。
読書会の参加メンバーや、アジャイル札幌のスタッフの皆様に相談させていただき、今思っていることを切り取って伝えることができた気がします。
モヤモヤ感を抱えたまま、これからもこの読書会を継続し、ディスカッションを積み重ねていきたいと思います。
自分にとって記念すべき、とてもよい時間になりました。
平鍋さん、スタッフの皆様、参加した皆様、ありがとうございました。
達人プログラマー読書会@札幌-2011.11.15 に参加しました
11月 20th
11月15日(火)に行われた、達人プログラマー読書会@札幌に参加しました。
第6章「コーディング段階」に入りました。実践編。
自分がきちんとやっている分野と全然わかっていない分野がはっきりした日でした。
章の前書き
10年前の本に「いったんプロジェクトがコーディング段階に入ると作業はほとんど機械的に設計を実行文として書き写す作業になる」とされているが「こういった考え方こそが、プログラムを見にくく、不十分で、構造化されていない、保守不能な、ただただ悪い物にする最大の理由である」と書かれていたことに驚きを覚えました。
今もなお、そういう流れは残っているな、と感じます。
コーディングは機械的な作業ではない、機械ができることではない、人間の意思決定が必要な作業である、という本の根底にある考えにとても勇気づけられました。
31. 偶発的プログラミング
幸運と行き当たりばったりの成功に頼るような偶発的プログラミングは避けなければいけない。
新人の頃の自分を振り返ると、よくわかります。
「なんで動いているかよくわからないけれど、ここを変えたら思ったように動いた。」
いま考えると恐ろしい。
その他にも、業務でよくわからないスパゲッティコードをちゃんと解析せずに勘やデバッグで動かしていたりしたこともありました。まさに、ジェンガの土台の上でジェンガのようなコードを組み立てていた。
しっかりとプログラムを理解すること、そして自分の書いたコードの未来を考えて実装をすること、絶対に忘れてはいけない考え方です。
32. アルゴリズムのスピード
数学的な知識がまったく乏しいことを痛感した章。
基本的なアルゴリズムをきちんと学び直さなければいけない。
なんとなく普段「これは遅いかも」と思うときがあってもアルゴリズムをきちんと考えることは少ないなあ、SQLの実行計画くらいかもしれない。
今、自分がすぐできることとしては、実装中に頭の片隅に「アルゴリズム」という意識をおいておくこと、わからない・不安だったところについてはアルゴリズムを理解している人にきちんと教えを請うこと、だと思いました。
33. リファクタリング
プログラマとしてお仕事をしていて、時間とともにだんだん理解していったことの一つがリファクタリングの重要性です。
コードがすっきりしていく快感は病みつきです。
リファクタリングをする際に重要なこととして、コードの振る舞いを変えないことがあります。これはテストコードを書いておくことにより、非常に安心感が得られるところ。
この本に書かれていた「リファクタリングと機能追加を同時に行ってはいけない」これは、忘れがち(思わず機能追加途中でリファクタリングを行ってしまいいろいろ混乱してしまう)なので、気をつけようと思いました。
自分がそのコードに触れたあと、そのコードがちょっとだけよくなっている、そういうコーディングを心がけたいです。
この読書会、終盤がだんだん見えてきました。
読書会が終わったあと、きちんと読み直して自分の中にどれだけたくさん取り込めるか、が肝だなあと思っています。
アジャイル札幌 『特別編 平鍋さんを囲んで』
11月 18th
アジャイル札幌 『特別編 平鍋さんを囲んで』
今日は アジャイル札幌 『特別編 平鍋さんを囲んで』 に参加してきました。
内容は
- 我らがキャプテン鈴木さんからアジャイル札幌の活動内容の説明
- オム子さんからアジャイルサムライの読書会の内容説明
- Waterfall からAgileへ、AgileからLean Startup へ という題目
でした。
今日のイベントを通して僕個人としてやっていこう(もしくはやるべき)と思ったのは
- TDD を勉強する
- トヨタ生産方式関連の本を一冊呼んでみる
といったところでした。
TDD を全く知らないわけではないけど、なじんでいないというかスラスラと書けなかったりするし、アジャイル関連のお話では、必ずトヨタ生産方式の話が出てくるけど、そもそも詳しくよく知らないってのがあるからです。
自分なりの宿題というか課題が見つかったので参加できてよかったです。
運営側の立場としては、皆さんが楽しんでいただけたかが気になるところですが、僕も一員としてこれからもよいイベントとなるようにお手伝いできればと思います。
nanapi が勝手に Facebook 投稿するのを止める
11月 17th
最近 nanapi Web っていうサービスが始まって、とてもステキだなーと思ってるんですが、Facebook コネクトした状態でサービスを Follow すると、勝手にこういう投稿するんですね。

nanapi は好きだけど、何の確認もなく勝手に投稿されるアプリは大嫌いなので、なんとかしてこれ止めたいんですよ。シェアしたいときは自分からするんで、勝手にコメント付きで投稿とかほんとでしゃばってくんじゃねえよっていうね。
で、これは簡単に止められますよっていう話で、アプリ設定のメニューから nanapi を選んで「自分の名前を使ったFacebookへの投稿」の権限を削除するだけ。簡単ですね!

第21回釧路OSSコミュニティ勉強会を開催しました!
11月 16th
今回は斉藤さんが作成したブログパーツとツイッターとの連動について、
写真のような感じでプレゼンしていただきました。
斉藤さんが作成したブログパーツ→釧路の夕焼けブログパーツ
更新の手間が省けてとても助かっています。
次回の幹事はやっちさんに担当いただきます。
次回は忘年会も兼ねての開催となる予定です。
perlbrew offした覚えはない
11月 13th
今日は、不可解な現象に遭遇しました。
何の気なしに、cpanmでモジュールをインストールしようとしたら失敗。
何がいけないのか分かんないけど失敗。
build.log見たらテストがコケてて、しかもどこでとかじゃなくて、
useできないとか、そんな感じ。
ん???
で、よくよく見たら、build.logじゃなくて、
cpanm使ったタイミングに警告が出てて、
su使わないと書き込めないから、perl5/にインストールするって出てて。
まぁ、perlbrew使ってるしとか思ったけど、
今までこんなメッセージ出なかったし。
$ perl -v
したら案の定、システム標準のperlが使われてて、
perlbrew switchでコトなきを得た訳ですが、
どーしてこうなったのかよく分からないです。
という訳で、cpanmで変な警告出たらちゃんと読みます。
ごめんなさい。
追記
いつものようにperl meets beats.をいじってたら、
Readonlyがないって言われて、インストールしました。
じゃぁ、いままでなんでエラーでなかったんだろう。
第8回アジャイルサムライ読書会 @札幌道場 開催
11月 9th
第8回アジャイルサムライ読書会 札幌道場を開催しました。
参加者は6名。
今日は、1人で本を読んだ時には割とすっきりしていた所だったのだけど、いざディスカッションをしてみるとなんだかすごくモヤモヤとした、よくわからない疑問がわいてきた。
ディスカッションの力ってすごいな。「わかった気」にはさせてくれない。
今回の範囲で「グっときた」ところ
アジャイルプロジェクトへの参加を決めるという覚悟
文書とは会話できない
読書会として
今日で第二部が終わり、第三部に入りました。
- 5.5 何がどれだけ必要なのか
- 6.1 文書化の難しさ
- 6.2 そこでユーザーストーリーですよ
「アジャイルプロジェクトへの参加を決めるという覚悟」について考えさせられた。
良い物を作るためにお客さんにも覚悟を決めてもらう、
そのためには自分がAチームの一員となるスキルを身につけなければ行けない。
少なくとも、Aチームのメンバーとして最高のパフォーマンスを出さねばならぬという覚悟が必要。
それって、開発する側としても、普段以上のパワーや気持ちや体力が必要だよな。普段の努力も怠れない。
お客さんに参加してもらって巻き込むからにはこっちも全力だよ、ってなるもん。
それでもアジャイル的な開発をしてみたいと思うか?という問いに「YES」と答えられるか。
そう考えた時に、
「環境も自分自身も足りないものがたくさんだけどやっぱりお客さんと一緒にいい物をつくってみたい。」
この原点に戻るんだよな、自分は。
「文書化の弊害」は反省することしきり。
103ページの上にある、文書を見ながら”連休だったことを考慮した方がいいのかな”と勝手に考え始めているのは、私か、いつかの私なのか。
長いこと102ページのような「だって書いてあるじゃない、最初に書いたじゃない」が”正(証拠)”となる文化にいたのもあって、文書を信じ込んでお客さんとの対話をおろそかにする部分が残っている。
勝手に文書の裏の裏をよんで「ほら、裏を読んでいたから大丈夫」とするのではなくて、「これって裏を返すとこういうこと?考え過ぎ?」という気持ちをお互いに確認すること、大事。
口に出すことを億劫がってはコミュニケーションはとれないですね、チーム間でもお客さんとでも。
こんなことではいけないなあ、と我が身を振り返った時間でした。
ディスカッションの内容はGitHubのwikiにまとめてあります。
運営の立場で
ディスカッション、白熱しました。しかし、今日はモヤモヤした部分がたくさん。
今日の会話で少し出てきた
「達人プログラマ読書会は”よし、これは実践してみよう!”と思えることが多いけど、
この読書会は”あんな現実や、こんな現実や、どうすりゃいんだ・・・” と現実の壁にぶつかってくじけそうになることが多い」
という意見は、今やっている読書会をよく表しているなと思いました。
この本を読んで、現実と比べて、モヤモヤする。
だって、1人ではどうにもできない無理なことがたくさん書かれている。
無理なことのうちできることはないか、モヤモヤを解消するためにできることは何か、
ディスカッションをしてヒントを手に入れる。
それぞれが持ち帰ったり感じたりして、現実世界に生かす。
この読書会はそういう読書会(アジャイルサムライがそういう本)だな、とここ数回でとても感じています。
毎回何かで打ちのめされて、何かをつかんで這い上がろうとするようなイメージ。
(決してMとかそういうのではありません。)
運営としては「無理じゃん」という下向きの気持ちのまま終わらないように、その先の話ができるよう意識していたいと思っています。運営として意識しなくても勝手にそうなっているけれど。
最後に。毎回会場を提供していただいた弊社に感謝。
ありがとうございます。
次回もよろしくお願いします。
Lionを入れたらnpmがダメなコトになった
11月 9th
別にダメじゃなくて、Lionを入れたコトによってダメになったっていうお話。(*1)
他の方はどうなんだろう。
例えば、
$ npm list
で、過去に入れたモジュールが出て来ないとか。(*2)
そんでもって、
$ npm update npm -g
って入れたら、エラーが出て npm が消えました。
おしまい。
じゃなくて、古いメモを見ながらnpmを入れ直してみました。
$ npm --version
も、ちゃんと動いたし、
$ npm search coffee-script
も、すんごい時間掛かって検索してるみたいです。(初回は時間が掛かるみたい)
で、ちゃんと見つかったかというと・・・。
すんげー時間掛かってる。
って思ったら、ターミナルがスクロールされなくて、終わったのに気付かず・・・。
という訳で、めでたし、めでたし。
(*1) npmのバージョンが古すぎた説は拭えてない。
(*2) 勘違いしてたのですが、-gオプション付きでインスロールした場合、
$ npm list -g
で、インストールしたモジュール一覧表示なんですね。
(だとしたら、手動で古いモジュールを削除しなければ良かった。)
