Microsoft Word - 倱å‚−æł¸å”�ç¨¿ã…Łã‡¡ã‡¤ã…«_2016-第6勃秂ä¼ı-GrB-ã•„æ´¾çfl�錉玺ㆧㆮ掇éŒfiå−¹ç”⁄敧å−£å„Œã‡™å¤›æł´è¦†æ±‡ã†‰ã‡›æ¤œå⁄ºã†Žã‡‰æŒ¹æ³Łã

Similar documents
短納期開発現場への XDDP 導入手法

変更の影響範囲を特定するための 「標準調査プロセス」の提案 2014年ソフトウェア品質管理研究会(30SQiP-A)

メンバーの紹介 日本科学技術連盟ソフトウェア品質管理研究会 2010 年度第 6 分科会 B グループ リーダー関野浩之 アズビル株式会社 ( 発表者 ) 大坪智治 株式会社インテック 外谷地茂 キヤノンITソリューションズ株式会社 メンバーの特徴 開発案件のほとんどが派生開発 ( 組み込み系 :1

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

トレーニングのプレゼンテーション

目次 ペトリネットの概要 適用事例

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

USDM Quick Start Guide 2014 年 1 月 第 1.0 版 第 29 年度 (2013 年度 ) SQiP 研究会第 6 分科会 D グループ

Microsoft PowerPoint - 配布用資料.ppt

【NEM】発表資料(web掲載用).pptx

テスト設計コンテスト

過去問セミナーTM

日経ビジネス Center 2

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

プロジェクトを成功させる見積りモデルの構築と維持・改善 ~CoBRA法による見積りモデル構築とその活用方法について~


Microsoft PowerPoint - FormsUpgrade_Tune.ppt

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 利害関係者の特定 QMS 適用範囲 3. ISO 9001:2015への移行 リーダーシップ パフォーマンス 組織の知識 その他 ( 考慮する 必要に応

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

目次 取組み概要 取組みの背景 取組みの成果物 適用事例の特徴 適用分析の特徴 適用事例の分析結果から見えたこと JISAによる調査結果 どうやって 実践のヒント をみつけるか 書籍発行について紹介 今後に向けて 2

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

DumpsKing Latest exam dumps & reliable dumps VCE & valid certification king

Microsoft Word - 博士論文概要.docx

営業活動 人それぞれ 暗黙知 Aさんの商談手順 Cさんの商談手順 Bさんの商談手順 できる営業 が受注するために 必ずやっている基本動作 体系的に整理 営業活動プロセス できる営業 のノウハウを見える化 形式知 2

業務用コンピュータサーバーに関する

変更要求管理テンプレート仕様書

テスト設計コンテスト

Microsoft PowerPoint - Tsuzuki.ppt

Microsoft PowerPoint - Personal Software Process (PSP)の実施の定着化

4.7.4 プロセスのインプットおよびアウトプット (1) プロセスへのインプット情報 インプット情報 作成者 承認者 備 考 1 開発に関するお客様から お客様 - の提示資料 2 開発に関する当社収集資 リーダ - 料 3 プロジェクト計画 完了報 リーダ マネージャ 告書 ( 暫定計画 ) 4

TFTP serverの実装

1. 画面説明 ここでは普通にアプリケーションを開いた場合に表示される対話型画面の説明をしています パスワード ( 再入力 ) パスワード登録 パスワード消去 事前チェックの処理の際に必要になるパスワ

スライド 1

Microsoft Word - JP-AppLabs-MySQL_Update.doc

ユーザエクスペリエンス (UX) 手法を 用いた企画品質評価の提案 第 4 分科会 主査 金山豊浩 ( 株 ) ミツエーリンクス 副主査 三井英樹 ( 株 ) ビジネス アーキテクツ 福山朋子 ( 株 ) インテック 研究員リーダ 村上和治東京海上日動システムズ ( 株 ) 田邉孝次 SCSK( 株

Microsoft PowerPoint - 矢部SPIJAPAN2013_発表用.pptx

クラス図とシーケンス図の整合性確保 マニュアル

Microsoft Word - ESxR_Trialreport_2007.doc

Microsoft PowerPoint - CoBRA法の概要r1.pptx

SEC セミナー (2012 年 12 月 21 日 ) 定量的品質管理 実践的取組み 定量的品質管理 手法の企業での取り組み事例 1 品質 生産性目標の設定方法 2 現場で定着させるテクニック ~ 品質管理を効果的に実践するには ~ 三菱電機インフォメーションシステムズ株式会社業務プロセス改善推進

障害管理テンプレート仕様書

品質 生産性目標の測定量 品質 生産性の測定量は何があるの? 点検のタイミンク 種類 要件定義 設計 製作 試験 全体 見積り 概算 正式 生産性 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL) 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL

博士論文 考え続ける義務感と反復思考の役割に注目した 診断横断的なメタ認知モデルの構築 ( 要約 ) 平成 30 年 3 月 広島大学大学院総合科学研究科 向井秀文

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード]

NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

                     

13 ソフトウェア工学 Software Engineering ソフトウェアプロセス SOFTWARE PROCESS ソフトウェアプロセスとは ソフトウェアプロセス : ソフトウェアプロダクト ( 製品 ) を作り出すための, 互いに関連する活動 (activity) の集合 ソフトウェアプロセ

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

Microsoft PowerPoint - ca ppt [互換モード]

ベースのソフトウェア情報と突合するかといった点が重要になるが 実際には資産管理ツールだけでは解決できず 最終的に専門的な知識を有した人の判断が必要とされる この点の解決策としては 2012 年 5 月にマイクロソフトも対応を表明した ISO/IEC のソフトウェアタグに期待が集まって

テスト設計コンテスト フロア展示資料


Microsoft PowerPoint - 【別紙1-2】メトリクスセットの利用ガイド.pptx

Microsoft PowerPoint - mp11-06.pptx

PowerPoint プレゼンテーション

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

ソフト活用事例③自動Rawデータ管理システム

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

ISO9001:2015内部監査チェックリスト

生産ライン・設備機器メーカー双方の課題をIoTで解決!

料 情報の提供に関する記録 を作成する方法 ( 作成する時期 記録の媒体 作成する研究者等の氏名 別に作成する書類による代用の有無等 ) 及び保管する方法 ( 場所 第 12 の1⑴の解説 5に規定する提供元の機関における義務 8 個人情報等の取扱い ( 匿名化する場合にはその方法等を含む ) 9

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 関連する利害関係者の特定 プロセスの計画 実施 3. ISO 14001:2015への移行 EMS 適用範囲 リーダーシップ パフォーマンス その他 (

<4D F736F F F696E74202D2091E6368FCD5F95F18D908B7982D D815B >

平成 27 年 9 月 14 日 情報通信審議会答申 加入光ファイバに係る接続制度の在り方について の中で ~ 略 ~ NTT 東西において 1 光配線区画を分割 縮小する事例を類型化した上で 公表することが適当である また NTT 東西においては 事後的に分割 縮小される光配線区画等について 接続

Microsoft PowerPoint - OSS運用管理勉強会資料_ a.pptx

(Microsoft PowerPoint - \220V\213\214\225\266\217\221\224\344\212r\203\\\203t\203g\202o\202o\202s\216\221\227\277ADVIT1-30\224\305.ppt)

(Microsoft PowerPoint - \203A\203W\203\203\203C\203\213\212J\224\255_ ppt)

項目記載事項必須 1.4 非機能性 更新業務仕様書の 3-4 非機能要件 を踏まえ 提案するシステムに関して 基本的な考え方や方針 アピールポイント等を簡潔かつ明瞭に記述すること 3-4 非機能要件 の (1) から (4) に区分し すべての項目について記述すること 1.5 他システム連携 更新業

ISO9001:2015規格要求事項解説テキスト(サンプル) 株式会社ハピネックス提供資料

目次 Ⅰ. 調査概要 調査の前提... 1 (1)Winny (2)Share EX (3)Gnutella データの抽出... 2 (1) フィルタリング... 2 (2) 権利の対象性算出方法... 2 Ⅱ. 調査結果 Win

Microsoft Word - N1222_Risk_in_ (和訳案).docx

各プール内で作成される仮想マシンの台数は 実際の利用者数の状況を観て調整しているが どのプールも の間で設定している また 各プールで使用するデータストアについては 容量が 6TByte のものを8つ用意し 2 つを事務系仮想マシン用のプール 残り 6 つを研究系仮想マシン用のプール

国土技術政策総合研究所 研究資料

IBM Cloud Social Visual Guidelines

早稲田大学大学院日本語教育研究科 修士論文概要書 論文題目 ネパール人日本語学習者による日本語のリズム生成 大熊伊宗 2018 年 3 月

Microsoft Word - JSQC-Std 目次.doc

1. はじめに Systemwalker Desktop Patrol V 以降でセキュリティ監査として BIOS パスワード設定の監査 を提供しています しかし Systemwalker Desktop Patrol メインメニュー のセキュリティ情報に表示される起動パスワード 設定パ

リスクテンプレート仕様書

目次 改訂履歴 2017/06 解説書第一版 ( 第二版用 ) 目次 はじめに 背景 問題点 仕様定義 ( 要求仕様 ) が曖昧 作業工程 ( プロセス ) ごとの状況確認 プロセス標準の狙い プロセス管

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

< D92E8955C81698D488E968AC4979D816A2E786C73>

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

大規模災害等に備えたバックアップや通信回線の考慮 庁舎内への保存等の構成について示すこと 1.5. 事業継続 事業者もしくは構成企業 製品製造元等の破綻等により サービスの継続が困難となった場合において それぞれのパターン毎に 具体的な対策を示すこと 事業者の破綻時には第三者へサービスの提供を引き継

ダンプ取得機能強化サポートオプション Enterprise Edition

要求仕様管理テンプレート仕様書

リソース制約下における組込みソフトウェアの性能検証および最適化方法

Microsoft Word - ESX_Restore_R15.docx

目次 1 印刷ポイント残数の確認 ポップアップによる確認 PaperCut MF 残高ウインドウによる確認 PaperCut MF システム Web 画面による詳細の確認 PaperCut MF システム対応ブラウザについて...

資料安作 13-3 品質の低下についての考え方 総務省総合通信基盤局 電気通信技術システム課 平成 21 年 5 月 13 日

1. 主な機能追加項目 以下の検索項目をサポートしました 書誌 全文検索コマンド検索 国内 査定日 最新の査定日 ( 登録査定日または拒絶査定日 ) を検索します 査定種別 最新の登録 拒絶査定 または査定なしを検索します 審査最終処分日 最新の審査最終処分日を検索します 審査最終処分種別 最新の審

Microsoft PowerPoint - 23_電子制御情報の交換(配布用a).pptx

9 WEB監視

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

【手引き】完了時の手続について

インテル(R) Visual Fortran コンパイラ 10.0

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

Transcription:

派生開発での時間効率性劣化を変更要求から検出する方法 主査 : 飯泉紀子 ( 株式会社日立ハイテクノロジーズ ) 副主査 : 足立久美 ( 株式会社デンソー ) アドバイザー : 清水吉男 ( 株式会社システムクリエイツ ) リーダー : 島崎稔史 ( 株式会社インテック ) 研究員 : 小笠原勝 (GE ヘルスケア ジャパン株式会社 ) 中島秀人 ( 東京海上日動システムズ株式会社 ) 中村直人 ( 矢崎総業株式会社 ) 中村奈津子 ( 日本電子株式会社 ) 研究概要既存システムへの機能の追加 変更を行う派生開発では, 機能の追加 変更により応答時間 処理速度といった性能劣化を招くことがある. これは, 性能要求が要求仕様に明記されていないことで性能劣化への配慮不足に陥り易いためである. 性能劣化は, 開発終盤 納品後に判明することが多く, その改修によって開発コストの増加や納期遅延が発生する. そのため, 機能の追加 変更に伴う性能劣化について顧客と交渉が容易な要件定義フェーズで把握する必要がある. そこで我々は, 性能劣化を ISO/IEC 25010 で定義されている 時間効率性 の低下と捉え, 機能の追加 変更が時間効率性に与える影響を処理時間に換算して検出するための方法 EMOT (Estimation Method Of Time behavior degradation) を提案する. 本手法を過去の不具合事例に適用した結果, 時間効率性の劣化を機能の追加 変更要求から検出することができ, 要件定義フェーズで性能劣化の対策を講じることで時間効率性の劣化防止に寄与することがわかった. 1. はじめに派生開発で問題となっている不具合のひとつが, 開発終盤のシステムテストや納品以降に見つかる時間効率性の劣化である. 派生開発における時間効率性の劣化とは, 顧客が期待する応答時間 処理速度ではない場合に 性能が劣化している と認識される不具合を指す. 派生開発では顧客も開発者も機能の追加 変更への対応に注力するあまり, 機能の追加 変更が他の機能に与える影響への配慮不足に陥り易い. また, 機能の追加 変更において機能との関わり合いが強い 機能要件 の詳細は要求仕様に明記される一方で, 機能との関わりが弱い 非機能要件 の詳細は要求仕様に明記されないことが多い. しかし, 明確に要求していないのだから現状と同じであることが当然 と顧客が期待しているため, 機能の追加 変更に伴う振る舞いの変化が時間効率性の劣化と判断される要因となっている. 我々は, 派生開発における時間効率性の劣化による過去の不具合事例を調査 分析した. 併せて, 不具合の詳細を正確に把握するために不具合の改修を行った開発者への聞き取りを実施した. その結果, 開発の終盤やシステムテストで判明する時間効率性の劣化に関して以下に示す 3 つの特徴に分類できることがわかった. 1) 時間効率性が変化する認識を持っていない. 2) 時間効率性が変化する認識は持っているが, 変化を劣化とは考えていない. 3) 顧客に時間効率性が劣化することを説明出来ていない. そこで, 開発者が時間効率性の変化を具体的な劣化として把握することができ, 同時に設計段階で時間効率性の劣化に気が付くことができれば, 手戻りによる開発コストの増加 1

や納期遅延の発生を防止できると考えた. そのため, 機能の追加 変更による振る舞いの変化が現状の時間効率性に与える影響を処理時間に換算して具体的な影響を検出する方法 EMOT を提案する. 以降,2 章で現状の時間効率性の劣化による問題を検出することができなかった過去の不具合事例を分析した結果を示す. 併せて, 時間効率性の劣化が発生する原因および時間効率性の劣化に関する先行研究の有無を示す.3 章では, 解決策として機能の追加 変更が時間効率性におよぼす具体的な影響を検出するための方法を提案する.4 章では, 検出することができなかった過去の不具合事例に対して, 提案する解決策を適用することで時間効率性の劣化を早期に判明させられるかを検証する.5 章はまとめと今後の課題である. 2. 現状分析 2.1 時間効率性の劣化とは時間効率性とは,ISO/IEC 25010 において 製品又はシステムの機能を実行するとき, 製品又はシステムの応答時間及び処理時間, 並びにスループット速度が要求事項を満足する度合い と定義されている. そして, 時間効率性の劣化とは, すでに顧客に受け入れられ, 認知されている現状の時間効率性に変化が生じ, その変化が現状のシステムと比較して顧客の期待する結果から乖離している場合に 使いづらくなった 操作応答を待っている間の待機時間が多くなり作業効率が低下した と顧客が認識した状態を指す. 具体的な例を図 1 に示す. この例は, 機能要件に応じて制御を実行するためのソフトウェア B を追加した. ソフトウェア B の追加に伴い, 顧客から要求があった起動時間については単図 1 時間効率性が劣化しているという指摘の例体テストの時点で要求を満たしていることを確認したが, 要求がなかった終了時間については確認しなかった. その結果, 対象のソフトウェア B を搭載した機器のシャットダウン時間が既存の機器と比較して遅くなっており, 機器を頻繁に移動する必要がある顧客はその都度機器の起動 終了を行うため, 業務を阻害してしまう という状態である. 2.2 時間効率性の劣化による不具合の分析派生開発でどのような時間効率性の劣化が発生しているのかを把握するために, 過去の不具合事例 20 件を収集して分析した ( 図 2). これらの不具合を分析した結果, 以下に示す 3 つの特徴に分類できることが分かった. 1) 時間効率性が変化する認識を持っていない機能の追加 変更に注力するあまり, 時間効率性の変化が数値など目に見える形で表れないと, それを 劣化 とは認識できないと図 2 不具合事例件数と特徴の内訳いう時間効率性の変化に対する意識の低さを指す. また, 短納期 少人数という制約を受ける開発体制ではこの意識の低さがより顕著である. 2

2) 時間効率性の変化を劣化とは考えていない機能の追加 変更に伴い時間効率性に変化が生じる事は漠然と認識しているが, その変化が 劣化 として機能の追加 変更に影響するのかは認識していない状態, または変化する時間を具体的な数値として把握出来ていないことを指す. 3) 顧客に時間効率性が劣化することを説明出来ないソフトウェア設計など開発の早い段階で顧客に対して機能の追加 変更要求が時間効率性の劣化を招くことを具体的な数値で説明できていない. そのため, 劣化に対する代替案を検討することの有用性を顧客に訴求することが出来ないことを指す. 以上のことから, 派生開発での機能の追加 変更に伴う時間効率性の影響に対する開発者の配慮不足が, 時間効率性の劣化が判明する時期を遅らせる要因であると言える. そこで我々は, 顧客および開発者に対して機能の追加 変更要求に伴う時間効率性の劣化の可能性を目に見える形で示すために必要となる 時間効率性の劣化を要件定義フェーズで具体的な数値で示す ことを課題とした. この課題を解決し, 顧客の 明確に要求していないのだから現状と同じであることが当然 という暗黙の期待に応えられる様にする. 2.3 先行研究時間効率性の劣化に対して, 先行研究で解決することができるか否かを調査した. 以下に調査結果を示す. 派生開発の要求に対し, 必要不可欠なプロセス 成果物で構成され, 短納期という状況に対応した手法 XDDP(eXtreme Derivative Development Process) [1] がある. この手法は, テスト工程での欠陥抽出および修正工数を削減する効果を得るために, 変更要求仕様書, トレーサビリティ マトリクスおよび, 変更設計書の 3 点セットの作成と, それを基としたレビューの実施により影響範囲の検討漏れを検出し易くするよう工夫されている. しかし, 我々が課題とした 時間効率性の劣化を具体的な数値で示す ために必要な 時間効率性の変化有無とその影響を調査 する具体的な方法については明記されていない. 次に, 機能の追加 変更による影響の相関を機能単位でマトリクスとして表現する 影響マトリクス を用いてテストの漏れや影響の絞りこみを行なう手法 [2] がある. この手法は, XDDP に影響マトリクスを使用するプロセスを追加することで表面化した影響を XDDP で見直すように工夫されている. しかし, この手法は表面化した影響を顧客に許容可能か否かを確認するためのプロセスが提案されておらず, 開発終盤 納品後に影響が判明する可能性がある. 最後に, ベース システムの時間, 領域の限界値を超える変化を 間接リソース変化点 として定義し, 機能の追加 変更に伴う影響を リソース という影響範囲の特定が容易な観点で捉え, 変更漏れによる不具合や機能の追加 変更による機能性の低下を防止する手法 [3] がある. この手法は, 間接リソース変化点を用いて詳細が要求仕様に明記されていない要求を検出した上で, 対策することを可能としている. また, 具体的な数値が可視化されるまで機能の追加 変更による影響範囲を特定することを遅らせることにより, 手法の精度を高めている. この手法の精度を維持したまま, 影響範囲を特定する時期に対する依存を低減することができれば, 我々が課題としている 時間効率性の劣化を具体的な数値で示す ことが可能と考える. 以上の結果から, 間接リソース変化点 の観点を用いた上で 顧客と機能の追加 変更に関する交渉が容易である要件定義フェーズで時間効率性の劣化を検出する ことができる解決策を検討することとした. 3. 解決策 3.1 解決の方針先行研究の調査結果から, 顧客の 明確に要求していないのだから現状と同じであるこ 3

とが当然 という暗黙の期待に応えるべく, 時間効率性の劣化を具体的な数値で示す という解決策を検討することとした. 以下に, その方針を示す. Step1) 時間効率性の変化を認識し易くする Step2) 時間効率性の変化を定量的に示して変更箇所を可視化するそして,Step1 および Step2 にて定量的に示し, 可視化した情報から時間効率性の変化量を把握し, 顧客との交渉や設計見直しの実施等を行なう段階を Step3 とした. 3.2 EMOT (Estimation Method Of Time behavior degradation) 3.1 で述べた通り, 顧客の 明確に要求していないのだから現状と同じであることが当然 という暗黙の期待に応えられる様にするための解決策として, 時間効率性の変化を認識し易くするための観点をまとめた 改訂版リソース変化点確認表 を作成した. また, 時間効率性の変化を定量的に示して変更箇所を可視化するために 時間効率性記入表 を考案した. これら 2 つの表から導出した時間効率性の変化量に基づいて顧客との交渉や設計見直しのきっかけを開発者に与える手法を EMOT (Estimation Method Of Time behavior degradation) と定義した ( 付録 D). 以降, 改訂版リソース変化点確認表の詳細に関しては 3.2.1 に, 時間効率性記入表の詳細に関しては 3.2.2 に示す. 3.2.1 改訂版リソース変化点確認表時間効率性の劣化に対する知見や経験を有していない開発者が時間効率性に対する影響を検討しても, 時間効率性の劣化に繋がる観点の見落としに気づかなかったり, 検討すべき観点を誤り 考慮した と判断する 思い込み が生じたりする恐れがある. したがって, 開発者が考慮すべき時間効率性の劣化に繋がる観点を示す必要があると考えた. そこで我々は, 先行研究 [3] で定義されている リソース変化点チェックシート を基に 改訂版リソース変化点確認表 表 1 改訂版リソース変化点確認表 を考案した ( 表 1). この表は, リソース変化点チェックシート に時間効率性の劣化に繋がるリソース変化点を記入する列である 時間効率性の劣化目安 を追加した表である. 時間効率性の劣化目安 は, 機能の追加 変更が時間効率性に与える影響を考慮するための指標であり, 開発者が機能の追加 変更の中から時間効率性の劣化に繋がるリソース変化点を抽出し, その具体的な影響を考慮する際に使用する観点である. 時間効率性の目安 に記入す No 分類リソース変化点チェック項目 1 変数 配列配列のサイズに変化はないか 2 確保するメモリサイズに変化はないか 3 同時に確保されるメモリサイズに変化はないか る目安時間は, EMOT を適用するシステムごとに決定する. 例えば, 過去の派生開発でメモリへの書き込みサイズに変化が生じると, その度合いによらず時間効率性が 15 ミリ秒変化することがすでに判っている場合,No4 の メモリへの書き込みサイズに変化はないか の 時間効率性の劣化目安 には ±15 ミリ秒と記入する. このように, 劣化目安の値を類推するのではなく, 過去の派生開発の実績を引用することで数値の精度を高めることができる. 時間効率性の劣化目安 でマイナス値を考慮する理由は, 他機能や通信の処理タイミングなどの問題でレスポンスが早くなることが問題となる場合や, 現状の時間に慣れてい 4 時間効率性の劣化目安 4 メモリへの書込みサイズに変化はないか ±15 ミリ秒 5 メモリ ハンドルの生成数に変化はないか 6 同時に生成されるハンドルの数に変化はないか 7 スタックの消費に変化はないか 8 メモリマップが変更となる変化はないか 9 関数の処理時間 (return するまでの時間 ) に変化はないか 10 再帰関数, 循環関数が追加されていないか 11 処理回数に変化はないか処理 12 while 文,for 文のループ回数に変化はないか 13 応答 通知を返却する時間に変化はないか 14 同期, 非同期処理に変更はないか 15 データ扱うデータサイズに変更はないか 16 ディスク I/O に変化はないか 17 ディスク ディスクI/Oの優先順位に変化はないか 18 ディスクI/Oの応答時間に変化はないか 19 ネットワークI/Oに変化はないかネットワーク 20 ネットワーク使用率に変化はないか

る顧客にとって応答時間が早くなることが, 遅くなることと同様に違和感を覚え, その結果, 不具合と指摘される可能性があるためである. 3.2.2 時間効率性記入表機能の追加 変更が時間効率性に及ぼす具体的な影響を検出するため, 時間効率性記入表 を定義した ( 表 2). 以下に, 時間効率性記入表の使用手順を示す. 表 2 時間効率性記入表 手順 1: 変更要求の記入機能の追加 変更の要求を 変更要求 欄に記入する. この際, プロジェクトによっては変更要求が多く, その全てに本手法を適用することが困難な場合がある. そのため, 変更要求 欄に記載する変更要求は, 重要度をフィルターにして記入の是非を決定する. フィルターとは, EMOT を適用するプロジェクトにおいて重要視される観点のことであり, EMOT の適用前にプロジェクト毎に予め作成する必要がある. 例えば, 過去の派生開発にて 検索条件を追加したら, 応答時間が 3 倍遅くなった という事例があったとする. これを表 1 のリソース変化点チェック項目にある No16 に該当するものとし, フィルターの項目の 1 つとする. その上で, 今回の派生開発の変更要求の中に No16 に関連する変更要求が含まれているか否かを確認する. もし, 含まれている場合は, 過去の事例と同様の時間効率性の劣化が発生する可能性があるため, 時間効率性記入表の変更要求欄に記載し, 以降の手順に沿って時間効率性の変化を確認する. 手順 2: 顧客の操作の記入開発者は, 機能の追加 変更対象となる機能および処理を顧客の操作手順を基に分割し, それを 顧客の操作 欄に記載する. 操作手順が不明な場合は, 必要に応じて顧客に確認を取り, 顧客の操作 欄に記入する. 操作手順で分割する理由は, 分割の単位をプロジェクトメンバーと共有し易くするためである. また, 開発者の知見や経験の差による分割の単位のばらつきをできるだけ無くすために, 分割した 顧客の操作 はプロジェクトの有識者がレビューを行なうこととする. 加えて, 顧客は時間効率性の変化を 劣化 とみなすため, 顧客視点の操作手順を基とすることで, 時間効率性の劣化に対して開発者が気付きを得る効果がある. 手順 3: 改訂版リソース変化点チェック項目の記入手順 2 で分割した操作手順ごとに, 時間効率性の劣化に繋がるリソース変化点の有無を判断する. この判断には, 改訂版リソース変化点確認表を使用する. チェック項目に該当する場合は, その番号を チェック項目 No 欄に記載する. なお, 改訂版リソース変化点確認表の内容については, 本手法を適用するソフトウェアの分野に応じた適切なチェック項目をあらかじめ準備しておく. また, 開発の進捗に応じ, 追加 変更および削除すべきチェック項目が発生した場合は, 適宜一覧を更新する. 手順 4: 現状の応答時間の記入手順 2 で分割した操作手順ごとに, 現状の応答時間 処理速度を調査し, その結果を 現状の応答時間 に記入する. 調査例として, サーバーのログからトランザクションの開始から終了までに要する応答時間 処理速度を分割した顧客の操作の単位で収集し, その結果を記入する. 顧客の操作の単位で応答時間 処理速度を算出することが出来ない場合は, トランザクションの開始から終了までの合算値を記入する. 手順 5: 予測時間 予測変化率の記入手順 4 で調査した現状の応答時間 処理速度に対して, 改訂版リソース変化点確認表 5

の 時間効率性の目安 を参照し, 各操作手順に該当するリソース変化点の応答時間 処理速度を計算した結果を 予測時間 に記入する. このとき, システム上に類似機能が存在する場合や過去プロジェクトで実施した機能の追加 変更で既に収集済みの時間効率性の目安がある場合, それらを基に予測時間を計算することができる. しかし, 類似機能や収集済みの時間効率性の目安が無い場合, 追加 変更する処理量やデータ量を見積もり, 現状の応答時間に変化率を掛け合わせるなどして予測時間を計算する必要がある. 時間効率性の目安 についてもチェック項目同様に, 本手法を適用するプロジェクトごとに決定する必要がある. なお, 予測変化率 には, 予測時間から現状の応答時間を差し引いた値を現状の応答時間で割るよう計算式を記入しておく. 予測変化率 を割合として記入する理由は, 現状の応答時間と予測時間の差が小さくても割合が大きいと問題になることがあるためである. 手順 6: 実績時間の記入開発の終了後に, 開発によって実際に変化した応答時間 処理時間を 実績 欄に記入する. これにより, 予測時間と実績の差異が確認できるため, 次回の変更時の参考値として扱うことができる. また, その差異を基に改訂版リソース変化点確認表の 時間効率性の目安 を見直すことにより, 予測時間の精度を高めていくことができる. 4. 解決策の検証 4.1 検証内容 3.1 で述べた Step1( 時間効率性の変化を認識し易くする ) および Step2( 時間効率性の変化を定量的に示して変更箇所を可視化する ) が有効であるかを判断するべく, 時間効率性の変化が劣化として問題となった過去の不具合事例を用いて, 下記について検証した. 1) 時間効率性の変化を認識できるか 2) 導出した予測時間が実績と同程度か 3) EMOT の適用工数ただし, 今回の検証では 3.1 で述べた Step3 の検証は実施できていないため,2.2 で述べた顧客の暗黙の期待に応えるという課題を解決出来るか否かを検証するに至っていない. 4.2 検証結果検証結果を表 3 に示す. なお, 今回は業態の異なる 4 社において合計 7 件の不具合事例にて検証したが, 手順 5 で説明した予測値の算出例を示すために 3 件の事例を掲載した. 表 3 検証結果 変更要求 顧客の操作 チェック項目 No 変更要求 1 新規機能のために必要となる外部機器の起動とシャットダウンの制御を行う. 外部機器は本体機器の起動とシャットダウンと連動して制御する. 変更要求 2 自動調整のために信号を取得する際に, 現状ではハードウェアのリセット無しに行っている. 信号取得のつどハードウェアのリセット操作を行うことにより精度が上がるようにする. 変更要求 3 現状では初期設定に使用するファイルが専用フォーマットとなっている. これをエクセルファイルに変更する. 本体機器を起動する 本体機器をシャットダウンする自動調整を開始する 対象のファイルを指定する読み込みボタンをクリックする No.9 No.13 No.9 No.13 現状の応答時間 ( ミリ秒 ) 予測時間 ( ミリ秒 ) 予測変化率 (% 増減 ) 実績 ( ミリ秒 ) 120000 120000 0 120740 25000 45000 80 46500 No.13 10000 22100 121 25000 No.9 No.15 - - - - - 800 14400 1700 80000 6

検証対象の事例に含まれる 改訂版リソース変化点確認表 の項目について, 予測時間を下記のように算出した ( 表 4). 表 4 予測値算出の経緯 変更要求 1 変更要求 2 外部機器をシャットダウンするために必要な時間が最小で 20000 ミリ秒である. シャットダウンに必要な通信は数バイトのデータを一度だけ送信するため, データ通信に要する時間は考慮せず, 外部機器のシャットダウンに要する待ち時間 20000 ミリ秒のみが増加すると予想した. ハードウェアの制約上リセット一回の処理時間が最大 1100 ミリ秒となる.11 枚撮影のオートフォーカスで撮影ごとにリセットを実施するため処理時間が最大 12100 ミリ秒増加すると予測した. 変更要求 3 データ量が 1.5 倍, 処理量が 12 倍程度となるため, 現状の応答時間 800 ミリ秒に 1.5 12 をかけた 14400 ミリ秒を予測時間とした. 7 件の事例に対して合計 5 名の開発者がそれぞれ 1~2 件ずつ検証を行った. 自分が開発に従事したプロジェクトで発生した不具合事例を検証したのは 2 名, 件数は 2 件である. 残りの 3 名が検証した 5 件は, 自分が開発に従事していないプロジェクトで発生した不具合事例である. 検証の結果, 表 3 以外の事例を含めると,7 件中 7 件の事例にて時間効率性の変化を認識し, 変更箇所を可視化することができた. また, 予測時間と実績値を比較したところ,3 件の事例にて実績の ±20% 以内に予測時間が収まるという高精度な予測ができ, 時間効率性の変化が大きいことを予測できたものの実績値との乖離が大きかった事例が 2 件, 予測変化率が低かった事例が 2 件であった. なお, 変更要求 1 は 2.1 で述べた図 1 の事例である. 表 3 で示した通り, 変更要求を顧客の操作に分割したことにより変更要求に存在しなかったシャットダウンの時間を可視化することができたため, 時間効率性の劣化に気付くことができた. 4.3 考察今回, 業態の異なる 4 社での過去の不具合事例について EMOT を適用した.4.2 に示した通り, いくつかの事例で時間効率性の劣化を検出できた. 検出できた事例は, 表 3 の変更要求 1 および変更要求 2 のような処理すべきデータ量の見積もりが容易かつ, 処理がシーケンシャルな事例であった. このような事例においては, EMOT で時間効率性の劣化を検出し易く, 予測値の精度も高くなることがわかった. 一方で, 時間効率性の劣化を検出できない事例や予測値と実績値が大きく乖離した事例もあった. これらの事例には, 組み込み系システムにおけるスレッドの同期待ちで予測しがたい遅延を生じたもの, データ処理量の増大によるメモリの負荷が処理時間の大幅な増加の原因となったものなどがあった. これらはいずれも変更されるデータなどの何らかの測定値から時間効率性への影響を線形に対応づけることが困難である. このような場合は, EMOT では有為な効果を得られないことが推測される. また, 検証で得られた EMOT の適用工数は 1 つの事例あたり 3~4 時間程度であった ( 過去の不具合事例での検証のため, フィルターの作成工数ならびに改訂版リソース変化点確認表の作成工数は除外した ). なお, 検証は当該システムの開発経験が 2 年以上の者が行なったものである. 開発経験が少ない場合, 顧客の操作の分割や予測時間の算出に工数を要する可能性があるが, 開発経験が豊富な開発者であれば工数は削減できると考える. 不具合対応工数と EMOT の適用工数を比較すると, 表 3 の変更要求 2 については不具合対応に 42.1 時間費やしており, EMOT の適用工数の方が少ないという結果となった. ただし, 現場での EMOT の運用を考慮すると, 適用には, 前述の手順 1 で述べたように全件実施するのではなく, フィルターを通して必要と思われる変更要求を選定して実施することで EMOT を作成する負荷を減らし定着させることが重要と考える. また, EMOT について開発者に説明を実施し, 実運用面での有用性をヒアリングした. その結果, 具体的な数値を導出できる強みを活かし, 顧客と交渉する場面で使用したい との回答を得た. さらに, 表 3 の変更要求 3 のような予測の精度が低い場合でも, 時間効率性記入表を作成することで時間効率性への影響を意識するようになった との回答を得 7

た. これらの結果から, 機能の追加 変更への対応に注力するあまり, 他の機能に与える影響への配慮不足に陥り易い という, 現状の派生開発での問題の改善ならびに 3.1 で述べた Step3 である顧客の説得や設計の見直しに繋げられると期待できる. 5. まとめ 5.1 結論顧客の 明確に要求していないのだから現状と同じであることが当然 という期待に応えるべく, 顧客および開発者に対して機能の追加 変更要求に伴う時間効率性に劣化が生じる可能性を目に見える形で示すために必要となる時間効率性の劣化を具体的な数値で示す手法 EMOT を提案した. EMOT は, 時間効率性記入表 に記入した変更要求を 時間効率性の劣化が表面化する顧客の一連の業務 に基づき顧客の操作に分割し, 改訂版リソース変化点確認表 に該当するチェック項目を選択した上で時間効率性への具体的な影響を顧客の操作単位で導出できるよう工夫している. この EMOT を過去の不具合事例に適用したところ,7 件中 3 件の事例で開発者が時間効率性への具体的な影響を確認することができた. 昨今の派生開発は, 短納期 少人数での開発を要求される状況が多い. また, 新規開発時の開発者が居ないなどの理由により当時の状況や背景の把握が困難な場合も想定される. これらの理由から機能の追加 変更がもたらす時間効率性への具体的な影響を全て把握することは困難である. しかし, EMOT を活用することで, 時間効率性の具体的な影響の程度の把握に大いに寄与できると考える. 5.2 今後の課題 EMOT は過去の不具合事例では有用性を確認することができた. 今後の課題は以下 2 点を挙げる. 1) EMOT の改善 EMOT ではデータ量や処理に比例するケースでは時間効率性の劣化を検出できる可能性が高いが, ある境界を超えた場合に急激に処理時間が増加する事象など, データ量や処理に比例しないケースについては検知することが難しいと考えるため, EMOT の更なる改善が必要である. 2) 実際のプロジェクトに適用する今回の研究では過去事例に適用したが, 今後は実際のプロジェクトに適用し, 有用性の確認および運用上の問題点を明らかにする. また, 検証するに至らなかった実際に顧客を交えて問題を未然に防止する効果について確認していく. 適用していく中で, 時間効率性記入表を作成するための改訂版リソース変化点確認表の作成については, より汎用的な分類や不具合が発生し易いユースケースにも着目し, 現実の問題解決を通して新たなチェック項目の追加を検討していく. このチェック項目のバリエーションや使い方を体系的に整理すれば, さらに大きな効果が期待できる. 上記の課題に継続して取り組むことで EMOT の更なる効果が期待できる. 参考文献 [1] 清水吉男, 派生開発 を成功させるプロセス改善の技術と極意, 技術評論社,2005 [2] 奥山剛, 奥田享一郎, 吉本吾朗, 永田敦, 中森博晃, 村上聡, 丸山久, 柳内政宏, 派生開発におけるモレ ムダのないテスト設計, 日本科学技術連盟 SQiP 研究会分科会報告書,2009 [3] 小瀬聡幸, 衣斐省伍, 井貝智行, 杉山幸雄,XDDP の変更設計書から間接リソース変化点を抽出する手法, 日本科学技術連盟 SQiP 研究会分科会報告書,2013 8