<< 前 ホーム 次 >>

bakaid: 20080123

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?PreferDesignSkills

まぁ、ここに書いてあることに自分がつけ加えるような
こともないんだけど。

だから、M.Fowler氏のいうように、システムっていうのは、
3つの知識で成り立ってるわけ。1つめはドメインの知識。
2つめはプラットフォームの知識。3つめは設計の知識。

ドメインの知識っていうのは、お客さんのビジネスに
関する知識。たとえば、株の自動取引システムだったら、
株式の知識がドメインの知識になるし。在庫管理システム
だったら、商品の知識がドメインの知識になる。ドメインの
知識がなきゃ何もはじまんない。

プラットフォームの知識っていうのは、OSとかプログラミング
言語の知識。プラットフォームの知識がなきゃ、ドメインの
知識をシステムという形にできない。

で、最後の設計の知識。ぶっちゃけいって、作りっぱなしの
システムでいいんなら、設計の知識はそんなにいらない。
でも、システムっていうのは長く使われるもんだし、長く
使われれば機能の追加や改変も出てくるし、そうなると
設計が問題なる。そもそもシステムの規模が大きくなると、
設計の知識がないと完成まで持ってくこともできなくなる。

--

まぁ、システムということであれば、上の3つでいいわけ
だけど。でも、ソフトウェア開発となると、さらにソフト
ウェア開発そのものの知識が必要になる。いってみれば、
ソフトウェア開発っていうドメイン固有の知識。だから、
ソフトウェア開発っていうのは、常に2つのドメインを扱う
ことになる。

--

で、今問題になってるのは、お客さんのドメインをシステム
化するばっかりで、自分とこのソフトウェア開発のシステム
化はどうなってんのよ?っていう話。

artonさんのソフトウェア・ファクトリの話とか、
はぶさんのソフトウェア開発のIT化とか、みんなそう。

これは非常に難しい問題で。ソフトウェア開発っていう、
知的創造の過程を、どうやってシステム化するかっていう
話。

もちろん、IT化っていうのは真っ先に考えられる。極端に
いえば、自然言語からプログラムを生成するといった話。

あるいは、組織論として考えることもできる。Googleを
1つのシステムと見なすこともできるわけ。

まぁ、現実的には、この両極の間のどこかでさまようことに
なるんだろうけど。

--

他人の感情に敏感なのは別に悪いことじゃない。でも、
それで自分の感情まで大きく揺らすようじゃダメなんだよ。

--

新しい人が来たとき、オレが学んでほしいのは、システムも
そうなんだけど、それよりもオレたちのやり方を学んで
ほしいわけ。

やり方っていっても上辺だけの話じゃなくってね。上辺
だけだったら、XPのpractices読めば済む話なわけ。そう
じゃなくって、なんでそういうやり方をやってるのかって
いう、本質的なところを理解してほしいわけ。

いい? 学ぶっていうことは、たとえばアナタが別の
場所で仕事することになったとき、ここのやり方を参考に
して、自分なりに、チームがスムーズに開発を進める
ことができるようになることなわけ。そうなってはじめて
『学んだ』っていえるわけ。

ここのやり方を繰り返せるんなら、それでもいいんだけど。
現実問題、そんなことは不可能だから。開発のやり方って
いうのは、人が変われば変わんなきゃいけないもんだし。

だから、個々の実践にとらわれないで、何が今このチームを
スムーズに動かしてるのかっていうとこを観察して、考察
してほしいわけ。

いい? 単純に『優秀な人が集まってるんだろう』みたいに
考えないでほしいんだよ。一人一人の能力的には飛び抜けて
スゴイわけじゃないんだし。いいチームになるには、いい
チームになる努力をしてるからなんだよ。いいチームは偶然
なんかでできるもんじゃないんだよ。

本家Permlink

<< 前 ホーム 次 >>


Copyright © 1905 tko at jitu.org

バカが征く on Rails