正しい開発プロセスなんてあるのだろうか

良いソフトウェアを生み出すためには良い開発プロセスが必要である。ソフトウェア工学セントラルドグマだ。

複数人数で管理のない体制の中でまともな製品が生まれることはない。烏合の衆が勝手気ままに動いて製品が出来上がるほど我々は賢くない。

大きな問題を解くときは、解決可能な小さな単位に切り分けて、小さな単位から解決していかなければ、解くことができない。大きな問題を切り分ける手順、切り分けれた小さな単位を解く手順――これが開発プロセスである。

逆の命題は真ではない。良い開発プロセスだからといって良いソフトウェアになるわけではない。企画が良くなければならないし、開発者も優秀でなければならない。優れた開発チームにおかしな企画を入力しても、出力されるのはおかしな製品だ。無能な人を集めたところでプロセスは回らない。良い開発プロセスは良いソフトウェアの必要条件だ。

開発プロセスの意義については私は認める。誰かが開発プロセスを定義しなければならない。

しかし、その定義された開発プロセスが「正しい開発プロセス」と呼ばれるのは疑問だ。正しいとは何だ。すべてを解決できる魔法の開発プロセスがあるというのだろうか。

百歩譲って正しい開発プロセスがあったとして、それをどうして我々が知り得ようか。特に、ガントチャートだけ眺めて、一切の成果物を見ず、実際現場ではどのようなフローでモノや情報が動いているのか知らない人が、なぜ正しい開発プロセスなんてものを知っているのだろう。この疑問に答えられそうな人を拝見したことはない。

今より良いプロセスを知っている人は、今のプロセスを知っている人だけだ。

それでも分かるのは比較してどちらが良いか分かるだけである。正解かはどうかは知りようがない。少しずつ、ましな方に近づいていくしかないのだ。

改善活動を繰り返しても、正解にたどり着く保証はない。再急降下法では、極小点を得ることはできても、それが最小点であるとは限らない。

正しい開発プロセスなんて観念上のものにしか思えない。少なくとも極小点にたどり着いたことのある人しか、正しい開発プロセスなんて語る資格はない。

トヨタ生産方式―脱規模の経営をめざして

トヨタ生産方式―脱規模の経営をめざして