何を残して何を外部化するか
きしだのはてな
きしださんの一連のエントリ読んで考えた
業務か基盤か
「ビジネスの部分は本来ユーザが実装すべき箇所」というのは激しく同意です。 それが一番良いのですが、実際には難しいので私達のような職業が存在するんだと思っています。 だから私の思い描くシステム開発の理想型は「クライアントが実装するのをサポートする」または「クライアントと一緒に実装する」という形態で、開発完了時にクライアントに完全に引き渡します。
自分の理想は「クライアントの中に実装、運用などが行えるシステム屋がいること」かな。
クライアントの中に「システム屋」がいるというのは、・・・場合によっては、宅配ピザ屋にバイクのメンテナンス屋がいることなのかもしれないので、ケースバイケースなのか?
とはいうものの、「クライアントは自分自身ではシステム改修の能力を持たない」が前提になり過ぎている気がする。
初期開発重視のスタイル・・・ここぞとばかりにコスト無視に機能を詰め込む・・・もそれがそもそもの原因でないのかな。
業務のシステム化の第一歩として要求の明示化という「マニュアル化作業」が欠かせないものだろうけど、変化の激しいビジネスであれば、そもそもマニュアル化自体が不可能なのではないかと。
何を残して何を外部化するか、って大事だよなぁ。
おまけ。
歴史は繰り返すと思っているわけですよ
一度RailsでWebアプリを作ってしまうと,Java(J2EE)でWebアプリを作るということが, あまりにも非効率的で,ヒドくバカらしいことに思えてきてしまいます.
自分はPHPとJavaをやってそれを思った。
というか、「実装しない人々」或いは「実装知識の乏しい人々」がアーキテクチャを決定する業務が如何に多いか、ってことかしら。