「開発手順が組織や人によってバラバラでは,品質や生産性の低下を招く」

「開発手順が組織や人によってバラバラでは,品質や生産性の低下を招く」――米Microsoftの幹部が語る
http://itpro.nikkeibp.co.jp/article/NEWS/20060607/240306/

内容はVSTS TFSの宣伝なので、「開発手順が組織や人によってバラバラでは,TFSがうまく導入できない」というのは結構。

でも「開発手順が組織や人によってバラバラでは,品質や生産性の低下を招く」というのは、まさに現実の正反対ではないだろうか。極端な例を考えると、世界中のすべての組織と人が同じ方法で開発していたら、確実に品質や生産性が低下する。プロジェクト内で使うちょっとしたツールを開発する人も原発の制御システム開発と同じ厳格さを求められてしまうし、Web2.0系の軽妙なサイトも銀行ATMと同等の安全確実なUIを持たなければならない。

おそらくこの文には前提が欠けていて、「同じものを作っている組織や人なのに開発手順がバラバラでは、品質や生産性の低下を招く」ということが言いたいのではないだろうか。そうなると問題は「同じもの」ってなんだ、ということになる。いままで(趣味も含めて)いろいろと作ってきたが、同じものなんて作ったことがない。

システム開発をするうえで、「同じもの」を作ることはない。これは認めるべきだ。似ていることは多いし、部分的に同じことならあるだろう。だから開発手順も部分的には共通でもよい。だが共通するのがなにか、差異はどこか、それを見極めたうえで最適な開発手順を組み立てることこそが「品質や生産性を向上する」目的に適う。

「開発手順が組織や人によってバラバラ」であることを嫌うのは、単にバラバラなのが嫌いなだけだからじゃないのか。みんなが同じようにしていると、まるで管理が上手くできているかのような気がするしね。実際「安全性」(というのがなんであるにせよ)は高くなるんだろう。品質や生産性を求めるなら、同じやり方に甘んじてはいけない。