フレームワークとしてのUNIX
2008/06/28
「一回作ってみて、そこから機能を増やすことではなく削ることで価値を出す」、
これが注目してほしい点です。
2008-06-27 – おおたに6号機blog
多機能なフレームワークに関わってきたshot6さんが、「削る」という考え方に、シフトしているのを興味深く読ませてもらいました。
ある意味では、UNIX的な考え方に近づいているんじゃないでしょうか。ちょっと脱線してみます。
フレームワークとしてのUNIX
- 全ての入出力は、ファイルである。(ある意味では泥臭いけど、非常に現実的な、抽象化手法)
- 1つのことを行なうフィルタを多数提供し、組合せによって目的を達成する。(標準入力、標準出力、標準エラー出力を使ったインターフェース)
この考え方の上にUNIXというシステムを作り上げて、実際大昔から現在までに破綻せずに運用されています。
UNIXユーザの思考
こんな世界に関わっていると、UNIXユーザの思考は、だんだん、下のようになってくると思います。
- UNIXユーザは、1つのプログラムが多数の仕事をこなすことは悪と考えています。
- UNIXユーザは、至れり尽くせりのAll in Oneプロダクトの使用をユーザに強制することは、ユーザに対する侮辱と考えます。(選択の自由が保証されるべき)
UNIX的な方針
しかしそうではなく、本当は正式版(1.0)まではもしかしてこうすべき?と昨日考え付いたのが、
2008-06-27 – おおたに6号機blogひとまず作る
→必要そうな機能と付け足していく
→ある程度固まったら、今度は機能を削っていく
→削りに削って最後に残った厳選されたものだけをリリース
→順次ひいた部分からタイミングを見計らい適切に足しこんでいく。ただし緩やかな進化と後方互換を保って。
UNIX的には、一番最初に削るのは、対象ユーザになるだろうな。(誰を助けて、誰を助けないプロダクトを作るのかを決めるという意味で)