<< 前 ホーム 次 >>

bakaid: 200509292

http://www.goodpic.com/mt/archives2/2005/09/37signals_jason.html

へ〜、すでに一杯del.icio.usに上げてる人がいるのね。知らなかった。でも、
そんなにみんなagile好きだったの? ま、いいことだと思うけど。

・・・

帰ってきました。もうちょっと自分なりに考えてみます。

* ユーザビリティー・テストなどの、特殊な状況ではなく、実際にユーザーが
  使っている様子を観察して、ユーザーの使い勝手を改善する物だけ実装する

『観察重要』は以前から自分もいっていることです。ユーザからのフィードバッ
クを待つだけでなく、積極的に観察することによって改善の手がかりを得ると
いうことです。

* 最初にリリースする時に、ユーザーが実現したい目的が達成できる必要があ
  る

* ”ベータ”という形で始めるのはよくない

この2つは『ビジネス価値の高いものから実現する』、そして『システムをで
きるだけ早く独り立ちさせる』というXPの教えとほぼ同じです。さらに:

* 機能が少なければ、はやく進化させることができる。開発もテストも時間が
  かからない

と合わせて考えると、プロトタイピングは不要ということが分かるでしょう。
やるとしてもspikeであって、それはプロトタイピングとは違います。

* 変化し続ける事が何より重要。そのためにシンプルで、小さな規模を保つ

これはいうまでもないでしょう。進化的な開発であり、Embrace Changeであり、
assume simplicityです。

順番が戻りますが:

* リアルさが重要。設計書などのドキュメントも書かない。ユーザーが実際に
  使うユーザーインターフェースから作り始める

* ユーザーインターフェースのデザインが、プロダクト開発をドライブする

これにはちょっと異論があります。XPでは最近Model Firstということがいわ
れています。ここでも取り上げたことがありますが、c2.comの次のページ:

http://c2.com/cgi/wiki?ModelFirst

けれども:

* ユーザーインターフェースは、できるかぎりシンプルにすること

というのは、上のModelFirstからたどれる:

http://c2.com/cgi/wiki?SpartanUserInterface

にあるようにXPにも共通しています。

XPの場合、プロジェクト全体はストーリーによるビジネス価値駆動で、実際の
開発はTDDです。しかし、もし、UIのビジネス価値が高ければ、XPであっても
UI駆動になるかもしれません。UIはテストしにくい部分ですし。

結論として、37signalsの開発の進め方は間違いなくagileです。UIで人を惹き
つけるのも、Webでは大切なことでしょう。もし今、chaosの中で仕事をしてい
るなら、37signalsのこのやり方で開発にちょっと規律を持ち込むのもいいか
もしれません。一番悪いのは、言葉にできないやり方 (悪い意味での習慣、あ
るいは惰性) で開発を進めることです。

--

グチは止めよう。

--

自分もね、まつもとさんとか、なかださんとか、そういった、いってみれば出
来上がった人たちにまでXPがいいなんて押しつけるつもりはないんですよ。そ
の人が自然と身についた慣習といったものもあるでしょうし、あるいはチーム
やペアでやるよりも一人でやるほうがいいっていう人もいるでしょうし。

でも、フツーはそうじゃないでしょ? 自分のような凡人は良い習慣より悪い
習慣のほうが多く身についちゃってるでしょうし、一人でやるよりもチームで
やるほうが好きです。そういう意味で『XPは天才のものではない』といってる
わけです。

で、なおかつ、自分のような凡人はあんまり厳しく縛るとやる気なくすわけで
す。PG → SE → プロマネ (あるいはアーキテクト) みたいなかったるい出世
コースなんてのは我慢できない程度には平凡なんですよ。イマドキ、そんな5 
年、10年先のこと考えて仕事できるかってんですよ。自分も一応ファミコン世
代ですから、すぐ結果がほしいですし、仕様書渡されてそれをコードに翻訳し
てなんて機械にでもできそうなことなんかやりたかねぇんですよ。

--

irb(main):014:0> class Foo
                   def to_str
                     return 'aFoo'
                   end
                 end
nil
irb(main):019:0> "#{Foo.new}"
"#<Foo:0x402f124c>\n"

う〜ん。やっぱto_s一本で行ったほうがいいんじゃないですかね。

--

へー、404 Not Foundのエラー・メッセージってサーバが作ってたのか。

てか、フツーのCGIだとスクリプト側で作らないといけないのね。

というわけで、無効なbakaidに対しては404を返すようにしました。無効な
bakaidというのは/\A\w+\z/にマッチはするけど、それに対応するファイルが
ないものです。/\A\w+\z/にマッチしない場合は最新のファイル。

本家Permlink

<< 前 ホーム 次 >>


Copyright © 1905 tko at jitu.org

バカが征く on Rails