システムの価値

NTTデータとの決闘シリーズ第二幕 - ひがやすを blog
ひがやすをさんの「プログラミングファースト開発」はすごくいいと思う。
開発者がより早く、楽しくシステムをつくれて、「品質」も上がると思う。

この「品質」の定義がくせ者。
文中でも触れられているけど、今の日本の何となくの共通認識としてあるシステムの「品質」は、ドキュメント通りに動くこと、になっていると思う。
これがいろんな問題の根源かなぁと。

私の考えだと、「品質は実際に使うことで高めていくもの」です。実際に使ってみないと、目的にあっているかどうかなんてわからない。上流の設計の精度を高めるのは、限度がある。ユーザですら自分が本当に欲しいものは何なのかわかっていないのに、精度の高い設計なんてできるわけがない。

だから、プログラミングファーストで最初に作って、実際に使ってみるのです。

本当の意味での「品質」の概念はこちらに近いのではないか。

なんで日本での「品質」が、「予定された通りに動くこと」なのかなぁというと、品質の概念が製造業に由来しているからだと思う。量産品をつくっている製造業では、何百万個も同じものを同じようにつくれることが、とても大事。これがどれだけ大変なことか、どれだけ尊いことかということは、製造業を知れば知るほど感じるのだけど、システム開発の品質という概念にこれを適用するのは違うと思う。よくある議論だけど、システムの納品物は製造業で言うところの設計までの工程と同じにあたるから。


でも、これを開発者側が言っても、ただのいい訳にしか聞こえなくなってしまうところもあるので、むずかしいところ。なので、ひがさんの活動を通してユーザーの常識が変わっていくことは期待。

自分の考えを足してみると、
とはいえそれもつくる側の論理、と言われてしまう気がするので、ユーザー側のメリットを考えてみる。
ユーザーとっても本当の意味で嬉しい「品質」が上がるということは、ユーザーの思うように動くことと、ユーザーの思うように変えられることかなぁ、と思う。ユーザーと一緒に作り上げていく過程で、ユーザー(のシステム担当者)の人が保守まで出来るようになっちゃえばいいのではないかなぁと。システム開発で稼げるのは保守という問題もあるので、開発全部を手放す必要はないかもしれないけど、その後の要件定義がユーザーだけで出来るようになるとか、そういうのでもいいかなと。

自分のプロジェクトでも少しそういう空気もあり、(色々大変だと思うけど)そうなっていけばいいなぁと思った。