フロントローディング2

フロントローディングは現象である。と先日の日記フロントローディング - 銀髪の記憶に書きました。
ハードウェアのフロントローディングは、現象ではありながらもその現象をコントロールする手法が一体化されているため、『現象である』と名言明言されている記述を実は私は見たことはありません。

そもそもハードウェアの場合、開発と製造が分離されています。またハードウェア場合、ライフサイクルコストの発生がほぼ製造時に集中するのに対し、その原因(コストドライバ)は企画開発時に集中しているのです。

たとえば、設計変更が(金型などに代表されるように)コストや納期の面で製造に及ぼす影響が非常に大きいという特性もあります。
すなわち、開発段階での品質が、ライフサイクルコスト(≒製造コスト)に与える影響が非常に大きく、製造段階では取り返しがつかなくなるのです。このため、製造技術・生産技術も考慮した製品開発・品質つくり込みを、企画開発段階で実施する必要があるのです。

このような考え方を源流管理といいます。また、ライフサイクルコスト(当然あわせて品質も)を源流段階でつくり込む取組みを原価企画(または原価設計、コスト設計)といいます。

ハードウェア開発においては、このような考え方の実現のためにさまざまな手法(ツールとよばれたりもします)が、利用されます。VE、VA、QFD、TRIZなどです。
源流管理のための原価企画、また原価企画のための各種ツール。といったように。

で、ソフトウェア。ソフトウェア開発の場合には、設計と製造が同時に進行しています。ここがハードウェアとの本質的な違いの一つ目です。そしてもう一つは、ソフトウェアの変更コストはハードウェアに較べて圧倒的に小さいのです。これが二つ目の本質的な違い。
フロントローディングを「設計/コード/テスト」といった従来型ソフトウェア開発工程にあてはめるには、現象ではなく手法としか説明がつかないからです。

製造と設計が分離されたハードウェアにおいて、

  • 製造時に発生するコストがライフサイクルコストを支配する
  • 製造時に発生するコストドライバは設計段階においてつくり込まれる。

フロントローディングとは、この原理に基づく考え方、源流管理の実現によって発生する負荷の前倒し現象です。また、この現象が原価企画の取組みによって制御可能性が高まるために、手法として取り扱われることが多い。というのが、本質だと考えています。

一方

ソフトウェアは、

  • 開発と製造が同時一体として進行する。
  • ハードウェアに較べて変更のコストが圧倒的に低い。
  • ホンモノでテストできる。

という原理があります。

この原理の差を越えて、ハードウェアから「設計/コード/テスト」といった従来型開発工程に基づいたソフトウェア開発へと持ち込むことに大いなる疑問がある。ということなのです。

知的生産とは、本質的に手戻りの連続である。トライ&エラーの繰り返しから新しいソフトウェアが生まれるのだ。これを認めるのならば、ソフトウェア開発から手戻りをなくそうとする試みはナンセンスである。むしろ、その手戻りをより素早く行えるように工夫をするべきなのだ。

ソフトウェア開発におけるフロントローディングとは何だろう? - カタチづくり

ハードウェア開発はもちろん知的生産でしょう。(そして開発後の製造とは比較的分離されています。)最終的な生産物は製造可能な入力となる設計でしょう。

『ふつうのソフトウェア開発工程』ならば、工程生産物は『顧客にとっての価値を発生する1機能を実装したソフトウェア』です。そしてそれは動くソフトウェアであると同時に設計でもあるのです。

ソフトウェアがハードウェアに学ぶのであれば、こここそがキモではないでしょうか?

  • ソフトウェア開発工程はハードウェア開発工程から学ぶ。

とっても平易な表現になってしまいました。

  • ハードウェア開発工程の後工程は、ハードウェア製造工程
  • ソフトウェア開発工程の後工程は、ソフトウェア開発工程

これで、ソフトウェア開発に、フロントローディングということばを使うのならば、その対象が見えてきました。

続きは、また後で。