植民地支配的システム開発
安い労働力を海外で調達して物造りをする。実態は昔の植民地支配と大して変わらない。武力でおさえつけるか、金でおさえつけるかの違いだけだ。その根底には「プログラミングなんて単純作業、工業製品でそれなりにうまくいったから、うまくいかないわけがない」という考えがあるように思う。しかしプログラミングには単純なものも困難なものもある。困難な部分にきちんと金をかけて一流のエンジニアに作りこませ、単純部分だけを外に出せばいいのだけど、実際は丸投げがほとんどだろう。
それを指して「まったくSIerってやつは仕事を丸投げして利益ばかりをむさぼろうとする」という批判が良く聞かれるが、それはちょっと違うように思う。たぶん理由の大半はサブコンに「だっておたくの設計書の、フレームワークの出来が悪いから」と逃げを打たれるのを避けたいからだ。システムってやつは複雑で、なかなかきれいに切り分け出来ないから、協業するとすぐに責任範囲のなすりあいが起きる。それでモラルが下がって生産性と品質が下がるくらいなら、全部任せてハラをくくらせるか、全く任せない方がうまくいくのだ。
もちろんウォーターフォールにも責任の一端はある。触ってみた事も無い、これから作るシステムの要件をビシっと決め、水をもらさぬ仕様を最初に作る事を要求する。手戻りのリスクを減らすためは、上流品質をいかに上げるかが重要となり、結果、過度な上流偏重体質が生まれた。象徴的なのがコーディング作業部分に工場のベルトコンベアを当てはめる絵。なんでプログラミングと工場の大量生産とを結びつけるのかな〜。それも結構IT寄りの人間が、そんな絵を描いていたりする。
でもウォーターフォールって悪者扱いされるけど、植民地支配的システム開発には、最も適したやり方の1つじゃないかな。ホントに現場で植民地支配的システム開発やっている人、今のプロジェクト、例えばXPで回ると思いますか? 植民地が解放されない限りは、(修正)ウォーターフォール(例えば単体テストの自動化だけ取り入れるとか、開発をフェージングするとか)という選択しか無いように感じるのだ。
Eclipseでライブラリの指定
プロジェクトのライブラリ指定でAdd External JARを使うと、絶対パスが埋め込まれるので、Workspaceごと別のマシンに持っていくと移動先にも全く同じパスにライブラリが無いと、エラーになってしまう。
「自分のプロジェクトディレクトリ」というVariableでもありそうなものだが、どうも見つからない。ふと思いついてlibsという名前のSimple Projectを作って、その中にライブラリをインポートしてみる。ライブラリを使用したいプロジェクトのライブラリ指定ではAdd Jarsの方を指定してlibsプロジェクトの下のライブラリを指定。
これでWorkspaceを持ち歩けば、どこでもコンパイルできるようになった。多分Eclipse常用者には常識なんだろうが...





