経営に役立つ情報を知りたい経営者の方向けの記事

モノを製造しない場合のリードタイム短縮

トヨタ生産方式はモノを製造するケースの話

トヨタ生産方式が開発された頃は第二次産業全盛の時期で、製造業が経済を引っ張っていっていた時代でした。大野耐一氏もコンピューターのことを毛嫌いしている様子が講演の随所で感じられ、今のようにシステム化される少し前の時代の話でした。

時代は移り変わり、インターネットが出現したことで情報ネットワークが急速に拡大していき、その頃よりも情報が瞬時に遠いところにも伝わる技術が開発されるようになると、もはやシステム化なしでは考えられない世界になりました。

システム開発が重要になった2000年代

私が社会人になった西暦2000年頃には、大規模な基幹業務システムの開発は大企業のいたるところで行われており、数億円~数千億円といった巨額の投資が普通に行われていました。システム開発は「システム」という目に見えないものを作る作業で、製造業が製品を作るのとは様々な点で異なります。

製品を作るのとは異なるのは以下のような点です。

システム開発と製品製造の異なる点①:在庫が無い

大規模なシステム開発というのは建物の建設に似ているところがあり、プロジェクトマネジメントを行う会社を頂点としてシステムコンサルタント、システムエンジニアやプログラマーが階層構造となってシステム開発を行っていました。しかし、建物の建設と大きく違うのは建設資材のような物理的なものが存在しないため、調達に関するリードタイムといったものは存在しません。

サーバーやPC、ネットワークといった物理的なインフラはどちらかというと建設でいえば建設機械に近い役割のもので、そちらの調達が遅れればリードタイムに影響を受ける可能性はありますが、資材が届かずリードタイムが伸びるという事はありません。

だから、建物を建設するよりも非常に短期間でシステム開発が完了するのかというとそんなことはありません。

システム開発と製品製造の異なる点②:製造する場合には不可能な仕様変更が可能

建物を建てる上では、目に見えてできることできないことがはっきりしています。したがって、例えば10階建てのビルを建設していて、5階まで出来上がっている時に1階の構造を一から考え直すなんてことはできませんし、やりたいと思ったとしてもやろうとは思わないと思います。

ところが、前述のようにシステム開発では建設資材のような原材料費がなく、システムがどのような構造になっているのか目に見えないため、ベースとなっている部分を変更できるような気がしてしまい、実際にやるとなると多大な労力が必要になったとしても建物建設の場合とは異なり比較的簡単に変更の意思決定が行われます。

その結果、建物で言えば基礎工事が終わった状態からやり直すような事態になっていることに気が付かずシステムを再開発するという事が繰り返されかねません。今はどうなっているのかわかりませんが、数十年前のシステム開発では往々にしてそのようなことが起こっていたようなきがします。

この結果、何度も建て直しのようなことが繰り返されるためリードタイムは予定よりも大幅に延びることになります。資材調達のリードタイム、原材料コストが無いにもかかわらず予定が大幅に遅延し、時には計画がとん挫するほど完成の見通しが立たなくなってしまうのはこの①大幅な変更がかかる→②変更に対応するため工期が遅れる→③予定が遅延している間に環境が変化する→①に戻るというのを繰り返してしまうためだと思います。

負の連鎖を断ち切るためにやるべきこと

このような負の連鎖を断ち切るためには、①の大幅な変更がかからないことがまずは重要です。大幅な変更がなぜかかってしまうのかというと2つの理由があると思います。

大幅な変更がかかってしまう理由①:時間がかかりすぎている

まずは、③から戻ってしまう理由でもありますが、時間がかかっている間に状況が変わっていき、「やっぱりこっちの方がいい」と思ってしまうという点です。これは、一度作ってしまうと変更が利かないというのも途中で変えたくなってしまう理由でもあり、後に変更できるということであればとりあえず作ってしまおうという事になると思います。

大幅な変更がかかってしまう理由②:イメージが曖昧過ぎる

もう一つの理由としては、元々のイメージがあいまいな状況で見切り発車してしまい、明確にこうなっていればいいというのが無いまま作業が進んでしまい、「何か違う」と変更を繰り返してしまうというケースです。これは設計がうまくいっていないことで起こりますが、最初の段階で画面イメージや入出力情報をはっきりできない場合に、そのままにして先に進んでしまわないように注意する必要があります。

②については事前にイメージを明確にするしかありませんが、①については短期間にシステムを作成する、リリース後に何度もアップデートを繰り返しながら徐々に完成させていくことで短期間にいったん完成という形にすることができ、いつまでたっても完成しないという事態は回避できます。このシステム開発のやり方は、最近だとゲームの開発によくみられるやり方で、一旦発売しておいて、不具合が見つかるたびにアップデートしていくというオンラインならではのやり方をしています。テストをユーザーにやらせていると批判も多いやり方ですが、できるだけ早いタイミングでゲームを遊べるようにするという意味ではいい方法だと思います。