2010年1月20日水曜日

システム開発で必要なこと

最近、とある半受託系のプロジェクトを見ることになった。
自社プロダクトだろうと受託開発だろうと、大事な基本的なことは以下のことだと思っている。

(1)「意味のあるものをつくる」という根底の理解
(2)「絶対にうまくスタートさせ、安定運用させる」という気迫

これが根底にないと姿勢そのものが受動的になってしまい、結果失敗する可能性が高い(当たり前)。

(1)については、システムの存在(開発)目的、およびシステムを利用する人(それは直接的なユーザーであったり、ユーザーのユーザーだったりする)のことを、どこまで真剣に深く考え抜いているか、ということ。

受託開発の現場では、打ち合わせをして、仕様を発注側に決めてもらって、議事録を取って、それを証拠とばかりにふりかざしながら「本質的に必要な仕様変更」を突っぱねるシーンがある(あまり無いと思いたいが)。
これではまず、プロジェクトにおいて一番大事な「信頼感」が一気に無くなってしまう。

こういったプロジェクトによって生まれるシステムがどういったものになるか。そもそも期日までに完成するかどうか。

もちろんスケジュール的な面で突っぱねるしかない、ということも当然あるが、その場合は本質部分での代替案について、ギリギリまで考え抜いた上での現実的な解を検討するのが筋だと思う。
発注者は、システム作りにお金を払っているのではなくて、システムによってもたらされる「効果」にお金を払っているんだから。

(2)についても、(これはボク自身、昔はその気があったが)「開発してカットオーバーすればゴール!」というわけではなくて、システムというのは日々運用される中で、それによって得られる「効果」をアウトプットしてナンボ、である。
当たり前のことなのに、「運用は運用チームがやるから」とおざなりにされることもしばしば。
うーん。悲惨。(発注者も運用チームも)


これから担当するにあたって、自戒の意味もこめてポストしておこう。

0 件のコメント: