本文とサイドメニューへジャンプするためのナビゲーションスキップです。

スタートアップガイド

J-Net21 中小企業ビジネス支援サイト

  • J-Net21とは
  • スタートアップガイド
中小機構
  • メルマガ登録
  • RSS一覧
  • お問い合わせ

HOME > 製品、技術を開発する > 創業者・中小企業ベンダーのためのソフトウェア・ジャストインタイム

創業者・中小企業ベンダーのためのソフトウェア・ジャストインタイム


根本原因が何かを突きとめる

2. ソフトウェアエンジニアリングに内在するWHYの繰り返し欠陥

ソフトウェア開発は、技術者の頭のなかで行われている。その開発過程が問題なく進んでいるかどうかを、技術者の報告、表情、動きだけで正確に知ることは難しい。

そして、複数の技術者が連携プレーすることによって、中〜大規模なソフトウェアが完成する(つもりでいる)が、複数の技術者間の情報伝達や良品の中間成果物が受け渡しされているかどうかも、複数の技術者の報告、表情、動きだけでは正確にはわからない。このため、問題が隠されたまま、後工程に送られてしまうことが多い。

ハードウェア製品のものづくりでは、設計された図面に沿って部品や中間製品が、品質基準を満たしたものとして、工程に物理的に供給される。ソフトウェア開発と大きく異なる点である。しかも、まさに必要な時点で供給される。また、製造工程では正確な繰り返し生産可能な機械が中心的な役割を果たす。

匠の技は、まさに技術者しかなしえないことに投入され製品価値を増大させる。工程は一定のリズムを刻みながら完成品へと加工されていく。もし部品や中間製品に不良があると判断されれば、工程全体を停止させ、その場で問題解決が図られるようにさえ考慮されている(図2-2)。

製造業の製造プロセス図2-2 製造業のプロセス

ソフトウェアではどうか。このプロセスが頭のなかで進むため、その工程内の状況は見えない。したがって、不良品が発生しているとしても、本人以外の開発メンバーにはわからない(多くの場合、本人にもわからない)。わかるとしても、開発担当者が何らかの目に見える中間成果物(ソフトウェア開発の中間製品の呼び名)を作成した後からである。

しかも、かなり後工程になってからその欠陥を発見することが多い。発見しても、根本的な解決を図ることが少ない。このため、同じ欠陥を何度も出し続ける。これは、非常に歩留りの悪い、しかも修理しないまま使用を続ける生産設備と類似している(図2-3)。

ソフトウェアの開発プロセス図2-3 ソフトウェアの開発プロセス

すなわち、欠陥品のまま後工程に押し流しているのである(あるいは、欠陥品を押し留める歯止めがないのである)。どこにこの根本原因があるのか。なぜ、それぞれの工程で良品を作らないのか。なぜ、後工程は不良品を不用意に引き取ってしまうのか。その結果、最終工程のテストで納期までにソフトウェア製品を完成できず、あるいはあえて出荷して自社の信頼を傷つける結果を招くのであろうか。

このような欠陥品の発生や押し流しを少しでも除去するために、ソフトウェア開発では、この中間成果物にレビューやテストを実施して対処することが一般的である。しかし、このレビューまたはテストも作られてしまった中間成果物を後追いで品質確認を行うものである。

現状は、この「後追い」さえも十分とはいえず後工程に押し流し、前述のように最終工程のテストで爆発する。あるいは、重大な欠陥を内在させたまま出荷し、市場で発見され信頼を失うのである。これらに何もよいことはない。

このように、現状のソフトウェアエンジニアリングは何か大きな欠陥を内在したまま動いている。なぜこのようなことを防げないのか。WHYの繰り返し、そして改善あるいは改革の努力が不足しているといえないか。

もっと前工程の不良品を受け取らない工夫・工程設計が必要である。たとえば、ソフトウェアにもフロントローディングを取り入れる必要があるといえよう。

前の記事へ次の記事へ


このコンテンツの著作権は、匠システムアーキテクツ(株)に帰属します。著作権者の承諾なしに、無断で転用することはできません。

このページの先頭へ