無料ブログはココログ

« 2006年9月 | トップページ | 2006年11月 »

Firefox 2.0とfoxyproxy

バージョンアップで動かなくなった時はこちらの記事を見てください。

Firefox 2.0がリリースされました。もじら瓦版の動作確認リストには、foxyproxyは出ていませんでしたが、気にせずにインストールしてみました。起動すると対応版が表示されたので、それを入れて動かしました。IE Tabも同じように使っていますが、今のところ問題ありません。

Firefox 2.0は、動作が軽くなったような気がします。大きく変わったのはタブの表示周りです。これまではタブが増えると、どんどんタブの幅が狭くなりましたが、ある程度の幅になると、横にずれるようになりました。左右の端にずらすボタンと、右端に一覧のボタンができました。

あと、タブを閉じるボタン(閉ボタン)が右端から、各タブの右に移動しました。直感的になったので、わかりやすいですね。見ていないタブには、閉ボタンは現れないので、タブに表示される文字数はかわりません。

たくさんタブを表示しているときに右からまとめて閉じる場合は、同じところに閉ボタンが来るので簡単に閉じられますが、途中のタブやタブが4つぐらいだと、マウスの移動が必要なのでちょっと面倒です。

不満なのは、タブが暗くなった点です。個人的には、前のほうが好みです。まあ、全体的には悪くない印象です。また、今のところこれといった問題はありません。

foxyproxyは、プロキシー設定用の拡張機能です。プロキシーサーバーとURLのパターン(正規表現が使えます)の対応を設定しておくと、ブラウズするページに必要なプロキシーサーバが自動的に設定されます。非常に便利な拡張機能なので、使われていない方は、ぜひお試しあれ!

コミュニケーションと田舎暮らし

XP(Extreme Programming)では、コミュニケーション、シンプル、フィードバック、勇気の4つの価値(最近は尊重を加えた5つの価値)が根幹であると言われます。今回は、このうちコミュニケーションについて考えて見ます。

コミュニケーションはウォーターフォールモデルでの開発でも、仕様書がきちんと作成されなかったり、利害関係者に渡っていないと、無駄な開発が行われたり、必要なものが開発されない、重要なデシジョンを誤るなどの問題が生じます。しかし、ここではそのようないわばマスコミ的なコミュニケーションでなく、アジャイルソフトウェア開発に特有なコミュニケーションを考えてみたいと思います。

アジャイルソフトウェア開発におけるコミュニケーションの必要性は、田舎暮らしを考えると分かりやすいと思います。田舎では、ある特性を持つ地域に、少ない人間が住んでいて、特産品や郷土料理などを作り、お互いに協力し合って生きています。そんな田舎では、情報交換をうまくやらなければ生きていけません。

1.独特の問題・情報がある
あの山に雨が降ると川が増水する。XXに熊が出た。など、マスコミに流れないその土地特有の問題や情報があります。

2.熟練・知恵が必要
他所ではできない特産品を作るには、熟練工を育てなければなりません。口では簡単に伝えられない技術を作業を通して伝える必要があります。原材料が不作になるなど、これまでになかった問題には、知恵を出し合って解決します。

3.一人の問題が全体に影響する
お互いに協力しあって生活しているので、誰かが病気になればすぐに助けます。火事が出れば協力して消火します。そのような緊急の情報は地域全体に知らせる必要があります。

なんとなく、アジャイルと似ていませんか?

1.独特の問題・情報がある
業務に固有の問題があるので、オンサイト顧客(全員同席)によって、ユーザの情報をきちんと理解する必要があります。

2.熟練・知恵が必要
よく考えられたプログラムを開発するには、熟練者を育てなければなりません。ペアプログラミングによって技術を伝える必要があります。また、困難な問題が生じた場合には、二人で協力してアイデアを出します。

3.一人の問題が全体に影響する
計画ゲームを行い、全員で手分けして開発しますので、どこかに問題が生じると全員に影響します。日々の問題をスタンドアップミーティングで把握します。

このようにアジャイルのコミュニケーションは、田舎暮らしのコミュニケーションとそっくりです。コミュニケーションの重要性が、少し分かったような気になりませんか?

これを元に、アジャイルでない開発方法をとる条件を考えこともできます。以下が満たされていないといけません。

  • 業務知識を形式知にできる。あるいは、手分けするには形式化が必要である
  • 力技で解決できる程度の複雑さである。あるいは、効率よく分担することのほうが主たる問題である。
  • 規模が大きいので、小さな問題は全体に影響しない。あるいは開発期間が長いので、問題が発覚してからでも対策が取れる

アジャイルのコミュニケーションを田舎暮らしのメタファで考えてみました。いかがでしょうか?

Rubyの魔法と動く標的のためのアジャイル - XP祭り関西2006 -

「XP祭り関西2006 in ワッハ上方」が終わりました。スタッフだったので、あまりゆっくりとは聞けませんでしたが、とっても良かったです。じっくり聞けた中で良かったのは、Rubyのまつもとゆきひろさんの講演と平鍋健児さんの講演、そして牛尾さん・しゃけさんの寸劇でした。

お髭のまつもとゆきひろさんの講演は「The State of the Dominion(世界制覇への道)」で、日本Rubyカンファレンスと同名のタイトルでしたが、言語の中でRubyのランキングが高くなったことやRubyが利用者を洗脳するお話など、けっこう手が加わっていました(詳しくはXP祭り関西ホームページに後日公開される資料を見てください)。

個人的には、前回の資料にもあった「魔法」という言葉が印象に残りました。Rubyをはじめて見たのは、ベクターのパックシリーズというフリーウェアライブラリの本や、ニュースグループfj.lang.oopsの議論で、面白い人がいるなぁと見ていました。そうこうするうちに、仕事でawkを2000行ほど書いて苦しんでいました。その後、C言語のプログラムの簡単な構文解析をしなければいけなくなって、Rubyを検討しました。もちろんRubyしかありませんでした。

初期のawkは関数もなく、システムVでようやく関数ができた程度でしたので、Rubyは本当に便利でした。特に、イテレータ。C-shell等には、あるだけ繰り返すforeach等がありましたが、それをさらに強化している。それだけで魔法にかかりました。

最近は、さらにすごいですよね。まつもとさんの髭の効果(らしい)でRuby on Railsができましたし、ライブラリの充実もなかなかすごいですよね。最近の私の経験ではメールを簡単にPOPできるので、驚きました。この、開発者が思い通りに書ける言語と言うのは、型宣言のいらない動的言語であるだけでなく、コミュニティが活発であることも関係しているのでしょう。洗脳と言うよりは、魔法に魅せられたという感じですね。

平鍋健児さんの講演は、東京のXP祭りと異なり「現場力を高める見える化手法プロジェクトファシリテーション」でした。ここには書ききれない中身は公開される資料を見ていただくとして、心に響いたのは、「動く標的」の話でした。

「ウォーターフォール開発は動く標的を大砲で狙うようなもの」たしかにそうかもしれません。でも、まあ基本はそうですが、管理された仕様変更は可能で、工程の終わりのレビューはありますね。正確に言うなれば、多段の固定燃料ロケットのようなものでしょう。ある程度は調整できるが、限界があるんですよね。

それに対してアジャイルは、常に変更可能で、言うなれば自動追尾ミサイルのようなものですよね。まるで逃げていくような仕様に対しても俊敏に追跡する。そこには、標的を随時把握して、追跡するという明確な目標があります。

ここまで書いて、月ロケットってどうなんだろうと思いました。月ロケットは動きが予測可能で、一発勝負でロケットを飛ばすようなことも可能かと思われますが、実際は宇宙空間にある様々な問題を解決しなければなりません。

そう思うと、東京で平鍋さんが「大人の意見」と評されていた「アジャイルと規律」を思い出しました。逃げ回る戦車には、自動追尾ミサイルのアジャイルだけでよいですが、月ロケットまでいかなくても、それなりの規模・複雑さになると、うまく組み合わせる必要があります。

そう思うと、牛尾剛さんがしゃけさんとのペアプロ寸劇「NEVER NEVER NEVER SURRENDER~アジャイルやりたいんや~」での言葉が思い出されます。仕事でアジャイルさせてもらえなくても、フレームワークのプロトタイプ開発や、ちょっとしたツールなど、「様々な場面でアジャイルは使える」との言葉は、すぐにでもできるプロセス改善としてすばらしい発想だと思いました。

色々大変でしたが、関西で200人もの人が集まりました。これは、はっきり言って驚きです。また、参加された方にも喜んでいただけたようなので、良かったと思います。講演者のみなさん、キャスト(スタッフ)のみなさん、そしてゲスト(参加者)のみなさん、ありがとうございました。

« 2006年9月 | トップページ | 2006年11月 »