わりと電波な思いつき。ソフトウェア開発といっても様々な種類があって、それぞれコンテキストや文化もまったく異なる。その中でもSIerは特殊なポジションにあって、これは一種のソフトウェア農業なんだと最近考え始めている。
ソフトウェア農業
頭の体操として。
- 目の前には広大な世界が広がっている。業務システムの世界だ。その面積はかなり大きい。
- 誰かが耕さないと業務システムの世界はすぐに荒廃してしまう。誰かが耕さなければいけない。
- 一般的にはソフトウェア技術者が農地を耕している。耕さなくて済ませられるような万能の農薬(銀の弾丸)はまだ発見されていない。
- 作付け(プロジェクト開始)から刈り入れ(システム立上げ)までには割りと時間がかかる。
- 経験を積むのにも時間がかかる。
- 以前に何かのドキュメンタリーで見たのだけど、ご老人が「まだワシは50回しか米を作っていない」と言っていたような、そんな感じ
- 農地の特性はバラバラである。どの土地でも同じやり方が通用するわけではない。
- ユーザ企業は農地に縛られている。うまくいかなくても、そこを離れられるわけではない。
- ユーザ企業は、一般的には外部ベンダーに委託して広大な農地を管理している。
- ユーザ企業は農業そのものには興味は無い。生産品目を販売するのが目的
- ハードウェアはこやし
- 無農薬がいいとか、カルガモ農法がいいとか、いろんな話があるけれども正解は無い
- コンシューマという巨人を狩る狩猟の世界を横目に、たんたんと畑を耕す日々
……うまくまとまらない。
ソフトウェア開発の世界で特にSIerのやっている受託開発の世界はIT土方と揶揄されることも多い。しかし土建の世界は割とセオリーとか知識で対応できる確実性の高い仕事なんじゃないかと推測している。SIerの扱っている受託開発はもっと不確実生の高い、自然とか天候とか土を相手にした仕事に近いのではないかと考えたのだった。
ひとくくりにすること自体の問題
先日録画していたカンブリア宮殿というTV番組で、農業組合法人『和郷園』代表の木内さんという方が面白いことを言っていた(言い回しなどはうろ覚え)。
- 農業をひとくくりにして捉えることは、自動車産業などを取りまとめて「工業」と言うようなもので意味が無い。
- トマト生産、レタス生産などそれぞれは違う業種である。
同じようなことがソフトウェア開発の世界にも言えるのだろうと思っている。
ソフトウェア開発には、しばしば交わっているがたいていは分かれている、5つの世界があると思う。その5つとは:
- パッケージ
- インターナル
- 組み込み
- ゲーム
- 使い捨て
http://local.joelonsoftware.com/wiki/5%E3%81%A4%E3%81%AE%E4%B8%96%E7%95%8C