フロントローディングとは、CDなど装置が機器の前面に出てくるトレイに載せて挿入したり,リジェクト(排出)できる機構の名称で、一般的に知られている言葉でした(スロット)。しかしこの言葉、最近では別の意味になっているようなので、ちょっと調べました。解説によれば、“業務の初期工程(フロント)に負荷をかけ(ローディング),作業を前倒しで進める”という考え方だそうです。設計や開発の段階(フロント)で、生産方法、保守の方法まで考えて品質やコスト、仕様などを作り込むことという解説もありました。


ウ~ン、これは・・・2002年、システム監査学会で講演した資料の中にある、赤色で示す部分に人を投入するという発想に似ています。

つまり、フロントローディングなどとアチラ語で言わなくても誰でも考えていることで、フロントローディングという言葉を知らなくても全く問題がありません。意図するところを知っていれば良いということです。例えば、RADがアジャイルと言い換えられたのと同じです。


なお、この理想を実現するためには、何をするかが整理されていることが求められることを忘れてはいけません。なぜなら、それが分らないと、人員を投入するタイミング、人数(工数)が分らないからです。すなわち、フロントローディング的なアプローチは、最初に仕様ががっちり固まっていて、開発スケジュールもビシッ!と作られているウオータフォール型開発でなければ実行(実現)不可能と言えるでしょう。このウオータフォール型開発は作っているうちに前提とする条件が変わってきてしまい、修正を余儀なくされるケースがほとんどです。時代の変化が線形なら将来を予測しながら設計開発ができますが、そうではない非線形の時代になると、ウオータフォール型開発手法は使えません。どうして?下図に示すように、前提条件の違いを吸収するために、工程遅延、工数増大が必須となるからです。

時代の趨勢を踏まえると、今はウオータフォール型開発手法ではなく、プロトタイプアプローチ型開発手法の時代です。がっちり固まるのを待つことなく、決まったところから実際に動くプロトタイプを素早く作って部品単位で動かしながら問題点をフィードバックし、次第に完成度を高め、統合化を図っていくのが、変化の激しく、先が読みづらい今の時代を背景にした開発手法です。情報システムの開発には、フロントローディングは適さないということです。

 

フロントローディングのついでに、似たようなコンカレントエンジニアリングについても言及しておきます。これは、開発作業を構成する複数の単体作業(プロセス)を、各作業間(チーム間)で情報の共有、連携を行いながら同時並行で進め、開発期間の短縮やコストの削減を図る手法です。複数の作業を行うチーム通しが情報交換、連携し、フィードバックし合うことは、初期の段階で人を投入するというフロントローディングという発想とうまくマッチングします。コンカレントエンジニアリング的発想で同時並行で開発を行うことは、取りも直さず、同時に多数の人を投入するというフロントローディングになるということです。フロントローディング、コンカレントエンジニアリングはお互いに補完する発想と言えるでしょう。ただし、いずれも既述のように、その開発プロジェクトで何をするかを予めがっちり決めておく必要があります。しかし、既に説明したようにがっちり決められたこと(前提条件)に影響を及ぼす変化があり、その変化を入れ込まないと出来上がったシステムが現状を反映しないものになってしまう懸念があります。

 

以上、CDプレイヤのCDをセットする機構だと思っていたフロントローディングが、時代と共に意味が異なってきたことを解説しました。参考になれば幸いです。

 

※質問はosugisama@gmail.comにどうぞ!

※リブログを除き、本ブログの無断転載、流用を禁じます。