オープンソース活用研究所 | 本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

本質的な組込みシステム品質改善のすゝめ ~人とツールの役割分担~

オープンソース活用研究所

2016年10月11日
オープンソース活用研究所 所長 寺田雄一

2016年07月21日オージス総研東京本社会議室にて、「組込みシステムの品質を改めて考える(設計フェーズと実装フェーズでの対策)」セミナーが開催されました。

IoTやインダストリー4.0の普及が複雑化を加速させ、組込みシステムの品質を確保することが難しくなっています。組込みシステムの品質は、どのように確保すればよいのでしょうか?

セミナー第一部では、株式会社オージス総研組込みソリューション部部長補佐/シニアコンサルタントの阿左美 勝氏が講演されました。

メーカーのソフトウェアエンジニアとしてキャリアをスタートさせ、オージス総研でソフトウェアの品質改善コンサルタントとして経験を積んできた阿左美氏は、複雑化する組込みシステム開発の現場で数多くの経験を積んでこられました。

今回は、「本質的な組込みシステム品質改善のすゝめ~人とツールの役割分担~」というテーマで、組込みシステムの品質改善についての本質的な考え方を示されました。

本稿では、同講演のハイライトをオープンソース活用研究所所長 寺田雄一がレポートします。

複雑化が進む組込みシステムにおける品質とは?

組込みシステムのなかでもソフトウェアが複雑化し品質確保が難しくなってきている現状において、組込みシステムの品質はどのように確保すればよいのでしょうか?

まず、内部品質、外部品質を含めた組込みシステムの「品質」について、改めて振り返ってみましょう。

組込みシステムにおける「品質」は、JISで定義されています。JISで定義された「品質」とは、機能性、信頼性、使用性(ユーザビリティ)、効率性(性能)、保守性(メンテナンス性)、移植性という6種類の特性であり、さらにその下には、27種類の副特性が定められています。

オージス総研では上記6つの特性に加えて、自分たちが過去に作ったソフトウェアの別の製品での使いやすさを示す「再利用性」という独自の特性を観点に加えています。

スライド-ソフトウェア品質_JISX0129:2003

また6種類の品質特性のうち、機能性、信頼性、使用性、効率性を外部品質、保守性、移植性を内部品質と定義します。

外部品質はユーザーにどれだけ価値を提供できるかという視点での品質であり、内部品質は開発者に与える価値です。オージス総研では、再利用性も内部品質に加えています。

現場は、外部品質のみに対応する「対症療法」が蔓延している。

実際のところ、現場レベルでは、外部品質を満たすことだけで手一杯になり、余力がなくなっているケースが少なくありません。この状態を日常生活に例えるなら、ストレスからお菓子を食べてしまう状態に近いのではないでしょうか。お菓子を食べることで、その瞬間はストレスから開放されたような気分になりますが、これは、あくまでも対症療法に過ぎません。お菓子によって体重が増え、体重が増えるとさらにストレスも増加するというのが実態です。対症療法を行うことで、より悪い結果が導き出されることになるのです。いわゆる、負の連鎖です。

これを、実際の現場にあてはめて考えてみましょう。

障害が発生すると、取り急ぎ、目に見えるその障害を取り除くこと、つまり、外部品質を向上させることに注力します。その結果、手戻のコストなどが増えていくことになります。もしリリース後であれば、そのコストの増大はより大きくなります。

本質的な改善ではなく、目に見える症状だけを改善していく対症療法を繰り返すことで、ひいては内部品質にまでひずみが生じ、今まで機能していた品質が劣化してしまう副作用を引き起こすケースも少なくありません。

スライド-外部品質対症療法例

外部品質はCoverity、内部品質は人間が担うことで品質を確保。

実際のところ、本質的な品質改善の道は遠く、特に内部品質の改善は難易度の高い領域です。

それでも対症療法ではなく本質的な品質改善を目指すのであれば、内部品質と外部品質の内容と質を見極め、外部品質は極力ツールに、内部品質は人間に、といったように、それぞれの適正と役割を明確にすることが必要です。

たとえば、外部品質にCoverity(コベリティ)のようなツールを用いるという手法があります。Coverityは、実用的なバグ検知を実現し、短時間に大量のソースの品質を確保できるソースコード静的解析ツールです。人間に代わってCoverityがソフトウェアのソースコードをすべてチェックし、障害予測も行います。

Coverityによって外部品質が向上すれば、手戻コストと外部品質に費やしていた時間を削減できます。そして、この空いた時間を有効に使って、担当者は内部品質の向上に取組むことができるようになります。ツールと人間を、それぞれの適正によって役割分担させることで、本質的な品質の確保が期待できるのです。

人間とツールの得意分野を見極める。

難易度の高い内部品質を確保するためには、経験値のある人間の対応が必須となります。

そして、その時間とコストを安定させるため、外部品質の向上にCoverityのようなツールを導入するのです。ちなみにCoverityは、ソースコードレビューなどのタスクも得意としており、実装レベルでも役に立ちます。

人間とツールがそれぞれの得意分野に集中することによる恩恵は、品質の確保だけでなく、時間、コストといった効率化の意味でも意義深いことです。本質的な品質確保のために求められるのは、人間とツールの得意分野や役割を見極める視座なのです。

スライド-本質的な品質改善のために


OSSNEWSに広告を掲載しませんか?

著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

【OSS】Fugue、AWS向けセキュリティ(コンプライアンス)チェックツール「Regula」をオープンソース公開---CI/CDツールと連携して動作(2020年01月23日 11:26)

「Regula」とは Regulaは、AWS環境において、展開前に「セキュリティ構成ミス」や「コンプライアンス違反の可能性」について、インフラストラクチャ定義ツール「Terraform」を使用して評価できるツール。 CI/CDパイプラインに統合することで、セキュリティおよびコンプライアンスの慣行に違反する可能性のあ...

関連オープンソース

バックナンバー

関連記事

  • オープソース書籍(サイド)

facebook

twitter