SlideShare a Scribd company logo
1 of 18
Download to read offline
エンピリカルソフトウェア工学の
実践
SRA先端技術研究所
阪井 誠
エンピリカルソフトウェア工学
– エンピリカル(Empirical)とは「Experimental + Experienced
」を足し合わせた言葉で、「Experimentalとは実験に基づく」「
Experiencedは経験に富む」という意味である
松本, “【バグ管理の作法】エンピリカルソフトウェア工学に触れる”,
http://www.thinkit.co.jp/free/article/0712/3/1/, Think IT, 2007.
– 実証的なソフトウェア工学ともいわれ、ソフトウェア開発プロ
ジェクトを測定、定量化し、それを分析しフィードバックするこ
とにより、プロジェクトの状態を把握して生産性向上と品質の
改善を実現しようというものである
ソフトウェア・エンジニアリング・センター, "エンピリカルソフトウェアエンジニアリ
ングの勧め", 翔泳社, 2007.
– 1970年代から実践されている
D. R. Jeffery, L. G. Votta, "Guest editor's special section introduction,"
TSE25-4, IEEE, 1999.
2
EASEプロジェクトのモデル
(Empirical Approach to Software Engineering)
• ソフトウェア開発の分野において、他の科学、工学分野と同
様に、計測、定量化と評価、そしてフィードバックによる改善
という実証的手法(エンピリカルアプローチ)の実践を目指す
3
収集
改善 分析
http://www.empirical.jp/
Experimental
+
Experienced
メトリクス
D. Ross Jefferyらの関係モデル
D. R. Jeffery, L. G. Votta, "Guest editor's special section introduction,"
TSE25-4, IEEE, 1999.
理論
現実世界
(ESE) モデル
研究課題 仮説
研究デザイン
研究結果
目次
• メトリクス
– ソフトウェアメトリクスの歴史
– メトリクスに求められるもの
– メトリクスの分類
• 実験
– モデリング
– 仮説、実験(in vitro/in situ)、結果
• 研究事例
– EPM
– WebTracer
– XPプラクティスの評価
• ふりかえり
メトリクスの歴史あるいは光と影(1/2)
1. 1968-1977: 混乱期
• 1968年NATOの会議「ソフトウェアエンジニアリング」と
いう言葉が始めて使われた
• 職人芸からサブルーチンへ
• 工程、品質、コストを制御できず。これに対する危機感
があった
2. 1978-1982: 胎動期
• (絶対零度の) ケルビンの「計測できなければ制御でき
ない」を「計測すれば制御できる」に読み替えた
• ソースコード行数、バグ数のほか、マケイブのサイクロ
マティックナンバー、ハルステッドのソフトウェアサイエ
ンスが提案された「信ずるものは救われる」
山浦,「日本語版に寄せて-10分でわかるメトリクス-", 「初めて学ぶソフトウェアメト
リクス」(Lawrence H. Putnam & Ware Myers著), 日経BP社, 2005.
メトリクスの歴史あるいは光と影(2/2)
3. 1983-1987: 活動期
• 実地で適用、相関の研究が盛んになった
• 「即行動派」とは別に「慎重派」はメトリクスの意味を見
直し始めた(根拠、対象、計測時期)
4. 1988-1992: 反抗期
• 費用対効果から幻想が消え、メトリクスを疑問視
• 現実的な考えから、品質そのものを計測しようとした
• ソースコード行数と発生バグ数に回帰した
5. 1993- : 成熟期
• 世間一般の流行品と同様、一部ではメトリクスが定着
し、効果を上げた
• 行数、バグ数を軸に、各組織で独自のメトリクスを開拓
し、メトリクスの目的、意味、意義を自覚し始めた
メトリクスに求められるもの
• 捏造せずに正しい値を申告し、効果的、実践的に使
うには以下の条件を満足する必要がある
– 計測に時間、労力がかからない(自動計測が理想)
– 安く計測できる(NASAでは収集・分析に総コストの3%、
処理と分析に4~6%かかるby Rombach)
– 客観性がある(誰が計っても同じ結果になる)
– ソフトウェア開発の作業、要素と強い相関関係がある
– 個人の査定目的で使わない(開発目的のみ)
山浦,「日本語版に寄せて-10分でわかるメトリクス-", 「初めて学ぶソフトウェ
アメトリクス」(Lawrence H. Putnam & Ware Myers著), 日経BP社, 2005.
メトリクスの種類
• 比例尺度(ratio scale)
– 数値の差と共に数値の比にも意味がある
• 間隔尺度(interval scale)
– 数値の差のみに意味がある
• 順序尺度(ordinal scale)
– 順序のみに意味がある
• 名義尺度(nominal scale)
– 観察される変数と数値を対応させる(分類として記号の意味
を持つだけ)
※下位の尺度データに適用できるすべての統計手法は,上位の
尺度データにも適用できる.ただし,逆は成り立たない
楠本, “ソフトウェアメトリクスの研究動向”, 第4回エンピリカルソフトウェア工学研究会,
2004.http://www.empirical.jp/download/past/publicdata/4th_kenkyukai/shiryo2.pdf
モデリングの目的
• モデルの基本的な使われ方
– 効果的なコミュニケーションを可能にする
– 再利用を容易にする
– 進化を可能にする
– 管理を容易にする
=>対象を「見える化」すること
W. S. Humphrey, M. I. Kellner, "Software process modeling: Principles of
entity process modeles," ICSE89, pp.331-342, ACM, 1989.
仮説・実験・結果
• 仮説が容易に立証できるとは限らない
– 具体的な仮説ほど立証しやすい
– 理論・モデル・仮説を修正しながら繰り返す
– 新しい発見をすることがある
• 結果の評価が必要
– 実験方法(in vitro/in situ)と客観性
– 正しいとは限らない(後述)
in vitro法とin situ法
• イン・ビトロ(in vitro)法
– 「試験管(ガラス)内で」
– コントロールされた実験
– ノイズが少なく客観性が高い
• イン・サイチュ(in situ)法
– 「本来の場所にて」
– 現実的な実験
– ノイズが入りやすく客観性が低くなりやすい
実験
• ノイズを避ける
– 評価項目の組み合わせ
– 被験者の組み合わせ
– 統計処理
– 詳細な分析
• 同じソフトウェア開発は2度できない
– 人は学習してしまう
– 試行のコストが高い
=>可能な情報はなるべく収集する
(XP/TSPが) 結果が正しくない可能性
素晴らしい成功を収める理由
• 本当に銀の弾丸であり、必ず素晴らしい成功を収める
• 人は失敗より成功を報告する傾向にある
• 先駆的プロジェクトは、新しい手法をいち早く取り入れ
る、かなり有能な人々によって実施されている
• 先駆的プロジェクトにはホーソン効果が働いており、注
目を浴びている間は非常に素晴らしい成果をあげるこ
とができる
• これらのプロジェクトは過去の特に効率の悪かったプロ
ジェクトと比較されている
B. Boehm, R. Turner”アジャイルと規律 付録E 経験的な情報” pp.283-284, 日経BP, 2004.
研究事例
• EPM
• WebTracer
• XPプラクティスの評価
ふりかえり
• EPM
– 計測に時間、労力がかからない(自動計測可能)
– 計測コストの削減できる
– 仮説の抽象度が高く、多くの検証が必要
• WebTracer
– ユーザビリティとの相関を評価した
– 通常の操作に近く現実的な実験
– ノイズ(個人差)があり、複数の実験が必要
• XPプラクティスの評価
– モデリングによりコミュニケーションが容易になった
– 導入工数に対して比例尺度とは言いきれない
– 仮説と結果が異なる
まとめ
• エンピリカルソフトウェア工学とは、科学的に
ソフトウェア工学を行うこと
– データ収集、分析、改善
– 注意すべき点は多い
– 現場での実証が重要
– コミュニケーションのツールになりうる
=>ぜひ、エンピリカルソフトウェア工学を実践し
てください
おわり

More Related Content

Similar to エンピリカルソフトウェア工学の実践

Barry開発へのこだわり
Barry開発へのこだわりBarry開発へのこだわり
Barry開発へのこだわりIIJ
 
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料pyar6329
 
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)Naoya Maekawa
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-Yoshio SAKAI
 
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)伊久美様 アジャイルジャパン2010プレゼン資料(4 9)
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)Akiko Kosaka
 
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用するソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用するYoshikazu Hayashi
 
Semat - a Japanese introduction
Semat - a Japanese introductionSemat - a Japanese introduction
Semat - a Japanese introductionKenji Hiranabe
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門陽一 滝川
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730hiroetoh
 
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用智治 長沢
 
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーIoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーshimane-itoc
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QYoshihito Kuranuki
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成についてKen Azuma
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出Takanori Suzuki
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みHironori Washizaki
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようAkira Ikeda
 

Similar to エンピリカルソフトウェア工学の実践 (20)

Barry開発へのこだわり
Barry開発へのこだわりBarry開発へのこだわり
Barry開発へのこだわり
 
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
 
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)
組込みシステム産業振興機構さまプライベートセミナー(2017/11/02)
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
 
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)伊久美様 アジャイルジャパン2010プレゼン資料(4 9)
伊久美様 アジャイルジャパン2010プレゼン資料(4 9)
 
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用するソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
ソフトウェアプロダクトラインエンジニアリングをプロセステーラリングに応用する
 
Semat - a Japanese introduction
Semat - a Japanese introductionSemat - a Japanese introduction
Semat - a Japanese introduction
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730定量的プロジェクト管理ツール概要 Lt 20110730
定量的プロジェクト管理ツール概要 Lt 20110730
 
【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用【XDev】A-2 アジリティ向上のためのツール活用
【XDev】A-2 アジリティ向上のためのツール活用
 
IoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナーIoTに活用!センサの基礎セミナー
IoTに活用!センサの基礎セミナー
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
20130528 pasonatech
20130528 pasonatech20130528 pasonatech
20130528 pasonatech
 
変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について
 
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
SQiP2012 - 質問表の活用によるプロジェクトの早期リスク検出
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
20140131 R-CNN
20140131 R-CNN20140131 R-CNN
20140131 R-CNN
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 

More from Makoto SAKAI

プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-Makoto SAKAI
 
プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-Makoto SAKAI
 
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」Makoto SAKAI
 
メールやチャットでも役立つテクニック
メールやチャットでも役立つテクニックメールやチャットでも役立つテクニック
メールやチャットでも役立つテクニックMakoto SAKAI
 
改訂版:開発現場で役立つ論文の書き方のお話
改訂版:開発現場で役立つ論文の書き方のお話改訂版:開発現場で役立つ論文の書き方のお話
改訂版:開発現場で役立つ論文の書き方のお話Makoto SAKAI
 
(講演資料)開発現場で役立つ論文の書き方のお話
(講演資料)開発現場で役立つ論文の書き方のお話(講演資料)開発現場で役立つ論文の書き方のお話
(講演資料)開発現場で役立つ論文の書き方のお話Makoto SAKAI
 
論理的思考力を身に着けるための論文研修
論理的思考力を身に着けるための論文研修論理的思考力を身に着けるための論文研修
論理的思考力を身に着けるための論文研修Makoto SAKAI
 
SS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさSS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさMakoto SAKAI
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会Makoto SAKAI
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - Makoto SAKAI
 
Node-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるNode-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるMakoto SAKAI
 
プロのためのNode-RED再入門
プロのためのNode-RED再入門プロのためのNode-RED再入門
プロのためのNode-RED再入門Makoto SAKAI
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピングMakoto SAKAI
 
プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理Makoto SAKAI
 
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Makoto SAKAI
 
Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -Makoto SAKAI
 
複合主キーの扱い方
複合主キーの扱い方複合主キーの扱い方
複合主キーの扱い方Makoto SAKAI
 
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発Makoto SAKAI
 
チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 Makoto SAKAI
 

More from Makoto SAKAI (20)

プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-
 
プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-プロセスモデルの補完方法 -モデル・ノウハウ・人-
プロセスモデルの補完方法 -モデル・ノウハウ・人-
 
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
SQiP20222投稿応援フォーラム「開発現場で役立つ論文の書き方のお話」
 
メールやチャットでも役立つテクニック
メールやチャットでも役立つテクニックメールやチャットでも役立つテクニック
メールやチャットでも役立つテクニック
 
改訂版:開発現場で役立つ論文の書き方のお話
改訂版:開発現場で役立つ論文の書き方のお話改訂版:開発現場で役立つ論文の書き方のお話
改訂版:開発現場で役立つ論文の書き方のお話
 
(講演資料)開発現場で役立つ論文の書き方のお話
(講演資料)開発現場で役立つ論文の書き方のお話(講演資料)開発現場で役立つ論文の書き方のお話
(講演資料)開発現場で役立つ論文の書き方のお話
 
論理的思考力を身に着けるための論文研修
論理的思考力を身に着けるための論文研修論理的思考力を身に着けるための論文研修
論理的思考力を身に着けるための論文研修
 
SS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさSS2019 エッジデバイス開発の難しさ
SS2019 エッジデバイス開発の難しさ
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会
 
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 - 新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
 
Node-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考えるNode-RED導入時の効果的な開発を考える
Node-RED導入時の効果的な開発を考える
 
プロのためのNode-RED再入門
プロのためのNode-RED再入門プロのためのNode-RED再入門
プロのためのNode-RED再入門
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理プロジェクトを成功させるチケット管理
プロジェクトを成功させるチケット管理
 
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
Visual開発ツールNode-REDの導入によるプロセスの変化と考慮点
 
Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -Node-REDから見えた未来 - 変わるもの、変わらないもの -
Node-REDから見えた未来 - 変わるもの、変わらないもの -
 
複合主キーの扱い方
複合主キーの扱い方複合主キーの扱い方
複合主キーの扱い方
 
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
UAS5 アジャイル開発に学んだアダプタブルウォーターフォール開発
 
チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性 チケットの利用による経験を活かした開発の可能性
チケットの利用による経験を活かした開発の可能性
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

エンピリカルソフトウェア工学の実践

  • 2. エンピリカルソフトウェア工学 – エンピリカル(Empirical)とは「Experimental + Experienced 」を足し合わせた言葉で、「Experimentalとは実験に基づく」「 Experiencedは経験に富む」という意味である 松本, “【バグ管理の作法】エンピリカルソフトウェア工学に触れる”, http://www.thinkit.co.jp/free/article/0712/3/1/, Think IT, 2007. – 実証的なソフトウェア工学ともいわれ、ソフトウェア開発プロ ジェクトを測定、定量化し、それを分析しフィードバックするこ とにより、プロジェクトの状態を把握して生産性向上と品質の 改善を実現しようというものである ソフトウェア・エンジニアリング・センター, "エンピリカルソフトウェアエンジニアリ ングの勧め", 翔泳社, 2007. – 1970年代から実践されている D. R. Jeffery, L. G. Votta, "Guest editor's special section introduction," TSE25-4, IEEE, 1999. 2
  • 3. EASEプロジェクトのモデル (Empirical Approach to Software Engineering) • ソフトウェア開発の分野において、他の科学、工学分野と同 様に、計測、定量化と評価、そしてフィードバックによる改善 という実証的手法(エンピリカルアプローチ)の実践を目指す 3 収集 改善 分析 http://www.empirical.jp/ Experimental + Experienced メトリクス
  • 4. D. Ross Jefferyらの関係モデル D. R. Jeffery, L. G. Votta, "Guest editor's special section introduction," TSE25-4, IEEE, 1999. 理論 現実世界 (ESE) モデル 研究課題 仮説 研究デザイン 研究結果
  • 5. 目次 • メトリクス – ソフトウェアメトリクスの歴史 – メトリクスに求められるもの – メトリクスの分類 • 実験 – モデリング – 仮説、実験(in vitro/in situ)、結果 • 研究事例 – EPM – WebTracer – XPプラクティスの評価 • ふりかえり
  • 6. メトリクスの歴史あるいは光と影(1/2) 1. 1968-1977: 混乱期 • 1968年NATOの会議「ソフトウェアエンジニアリング」と いう言葉が始めて使われた • 職人芸からサブルーチンへ • 工程、品質、コストを制御できず。これに対する危機感 があった 2. 1978-1982: 胎動期 • (絶対零度の) ケルビンの「計測できなければ制御でき ない」を「計測すれば制御できる」に読み替えた • ソースコード行数、バグ数のほか、マケイブのサイクロ マティックナンバー、ハルステッドのソフトウェアサイエ ンスが提案された「信ずるものは救われる」 山浦,「日本語版に寄せて-10分でわかるメトリクス-", 「初めて学ぶソフトウェアメト リクス」(Lawrence H. Putnam & Ware Myers著), 日経BP社, 2005.
  • 7. メトリクスの歴史あるいは光と影(2/2) 3. 1983-1987: 活動期 • 実地で適用、相関の研究が盛んになった • 「即行動派」とは別に「慎重派」はメトリクスの意味を見 直し始めた(根拠、対象、計測時期) 4. 1988-1992: 反抗期 • 費用対効果から幻想が消え、メトリクスを疑問視 • 現実的な考えから、品質そのものを計測しようとした • ソースコード行数と発生バグ数に回帰した 5. 1993- : 成熟期 • 世間一般の流行品と同様、一部ではメトリクスが定着 し、効果を上げた • 行数、バグ数を軸に、各組織で独自のメトリクスを開拓 し、メトリクスの目的、意味、意義を自覚し始めた
  • 8. メトリクスに求められるもの • 捏造せずに正しい値を申告し、効果的、実践的に使 うには以下の条件を満足する必要がある – 計測に時間、労力がかからない(自動計測が理想) – 安く計測できる(NASAでは収集・分析に総コストの3%、 処理と分析に4~6%かかるby Rombach) – 客観性がある(誰が計っても同じ結果になる) – ソフトウェア開発の作業、要素と強い相関関係がある – 個人の査定目的で使わない(開発目的のみ) 山浦,「日本語版に寄せて-10分でわかるメトリクス-", 「初めて学ぶソフトウェ アメトリクス」(Lawrence H. Putnam & Ware Myers著), 日経BP社, 2005.
  • 9. メトリクスの種類 • 比例尺度(ratio scale) – 数値の差と共に数値の比にも意味がある • 間隔尺度(interval scale) – 数値の差のみに意味がある • 順序尺度(ordinal scale) – 順序のみに意味がある • 名義尺度(nominal scale) – 観察される変数と数値を対応させる(分類として記号の意味 を持つだけ) ※下位の尺度データに適用できるすべての統計手法は,上位の 尺度データにも適用できる.ただし,逆は成り立たない 楠本, “ソフトウェアメトリクスの研究動向”, 第4回エンピリカルソフトウェア工学研究会, 2004.http://www.empirical.jp/download/past/publicdata/4th_kenkyukai/shiryo2.pdf
  • 10. モデリングの目的 • モデルの基本的な使われ方 – 効果的なコミュニケーションを可能にする – 再利用を容易にする – 進化を可能にする – 管理を容易にする =>対象を「見える化」すること W. S. Humphrey, M. I. Kellner, "Software process modeling: Principles of entity process modeles," ICSE89, pp.331-342, ACM, 1989.
  • 11. 仮説・実験・結果 • 仮説が容易に立証できるとは限らない – 具体的な仮説ほど立証しやすい – 理論・モデル・仮説を修正しながら繰り返す – 新しい発見をすることがある • 結果の評価が必要 – 実験方法(in vitro/in situ)と客観性 – 正しいとは限らない(後述)
  • 12. in vitro法とin situ法 • イン・ビトロ(in vitro)法 – 「試験管(ガラス)内で」 – コントロールされた実験 – ノイズが少なく客観性が高い • イン・サイチュ(in situ)法 – 「本来の場所にて」 – 現実的な実験 – ノイズが入りやすく客観性が低くなりやすい
  • 13. 実験 • ノイズを避ける – 評価項目の組み合わせ – 被験者の組み合わせ – 統計処理 – 詳細な分析 • 同じソフトウェア開発は2度できない – 人は学習してしまう – 試行のコストが高い =>可能な情報はなるべく収集する
  • 14. (XP/TSPが) 結果が正しくない可能性 素晴らしい成功を収める理由 • 本当に銀の弾丸であり、必ず素晴らしい成功を収める • 人は失敗より成功を報告する傾向にある • 先駆的プロジェクトは、新しい手法をいち早く取り入れ る、かなり有能な人々によって実施されている • 先駆的プロジェクトにはホーソン効果が働いており、注 目を浴びている間は非常に素晴らしい成果をあげるこ とができる • これらのプロジェクトは過去の特に効率の悪かったプロ ジェクトと比較されている B. Boehm, R. Turner”アジャイルと規律 付録E 経験的な情報” pp.283-284, 日経BP, 2004.
  • 15. 研究事例 • EPM • WebTracer • XPプラクティスの評価
  • 16. ふりかえり • EPM – 計測に時間、労力がかからない(自動計測可能) – 計測コストの削減できる – 仮説の抽象度が高く、多くの検証が必要 • WebTracer – ユーザビリティとの相関を評価した – 通常の操作に近く現実的な実験 – ノイズ(個人差)があり、複数の実験が必要 • XPプラクティスの評価 – モデリングによりコミュニケーションが容易になった – 導入工数に対して比例尺度とは言いきれない – 仮説と結果が異なる
  • 17. まとめ • エンピリカルソフトウェア工学とは、科学的に ソフトウェア工学を行うこと – データ収集、分析、改善 – 注意すべき点は多い – 現場での実証が重要 – コミュニケーションのツールになりうる =>ぜひ、エンピリカルソフトウェア工学を実践し てください