ICSE2012勉強会 岡山県立大学 天嵜 聡介
Minghui Zhou1 and Audris Mockus 2 What Make Long Term Contributors: Willingness and Opportunity in OSS Community Minghui Zhou1 and Audris Mockus 2 Peking University1 Avaya Labs Research 2
動機・目的 新規の貢献者が長期に渡って 貢献するようになる条件は何か? OSS Community Core Peripheral OSS Community 新規の貢献者が長期に渡って 貢献するようになる条件は何か? Willingness (Attitude), Capability ( ability ) どのぐらい積極的にプロジェクトにかかわったか どのぐらいプロジェクトに貢献したか Opportunity (Environment) コミュニティ内でどのように扱われたか 参加時のプロジェクトの状況はどうだったか 左右に分けて書くか?対照的?
主要な貢献 Willingnessとopportunityを定量的に定義した Willingnessやopportunityが長期contributorになるかどうかの要因である可能性を示した
Case Study 対象プロジェクト 定量化の方針 評価方法 Gnome ( 2000 Jan – 2011 Jan) Mozilla ( 1999 Jan – 2011 Jan) 定量化の方針 Willingness 参加タスクの種類と数,およびそのタスク解決に費やした労力で計測できる Opportunity すべての貢献者が同じ影響を受ける要因 ( Macro Climate ) 個々の貢献者によって影響が異なる要因 ( Micro Climate ) 評価方法 ロジスティック回帰モデルを用いて,要因毎のオッズ比を比較する
Willingness, Opportunityの定量化 Withbb, fnotrep 最初のレポートが面倒くさい方法で行われたか. 最初の貢献がコメントを付けたのか,バグを報告したのか M. Zhou, A. Mockus, “What Make Long Term Contributors: Willingness and Opportunity in OSS Community, ICSE2012. より抜粋
評価結果 全ての因子が有意 (p < .001) Willingness の方がより強い影響力があった MozillaにおけるRSは除く Willingness の方がより強い影響力があった 同じ環境下であれば、Willingnessが長期contributorになるかを決める 主要な要因である RS => 異なる環境下であれば、Opportunityが長期contributorになるかを決める主要な要因となるかもしれない
Ambient Awareness of Build Status in Collocated Software Teams J. Downs1, B. Plimmer2, and J. G. Hosking3 The University of Melbourne1 The University of Auckland2 Australian National University3
Ambient Awareness System ビルド失敗! commit Build server ビルド失敗 チームやビルドの品質にどのような影響を及ぼすのか?
主要な貢献 Ambient awareness system の効果を実証的に比較評価した
比較対象: Prototype 1 ビルド失敗! commit Build server ビルド失敗
比較対象: Prototype 2 ビルド失敗! commit Build server ビルド失敗 ビルド失敗 ビルド失敗
比較対象: Prototype 3 ビルド成功! ビルド失敗! commit Build server ビルド失敗 ビルド失敗 ビルド失敗
実験結果 定量的な変化が観察できた 被験者の反応はよかった 1日あたりのbuild回数が増えた ユニットテストの失敗によるbroken buildの数が減少した Broken buildが修正されるまでの期間が短縮した Broken buildの発生回数に変化はなかった Broken buildをcommitした人が修正した割合は増加しなかった 被験者の反応はよかった 個人向けのambient awareness systemは好評だった 全体向けのものについては賛否両論であった Ambient awareness system はビルド状態の認識には有用だったが、 必ずしもビルド修復の改善にはつながっていなかった
Disengagement in Pair Programming: Does It Matter? L. Plonka, H. Sharp, and J. van der Linden The Open University
動機・目的 Pair Programming Disengagement 二人がパートナーとなってプログラミングに取り組む 協力して1つの仕事を解決しようとする 熟練者から新人へのknowledge transferのために行われることがある Disengagement Pair programming Disengagement タスクの解決に集中しない 問題を理解しようとしない パートナーと協力して仕事をしようとしない ペアプログラミングにおいて 開発者が disengagement 状態に陥る 原因およびその解決策はどのようなものか?
主要な貢献 ペアプログラミングにおける開発者の振る舞いに着目した Disengagementの原因を明らかにした 従来はペアプログラミングの効果に焦点 Disengagementの原因を明らかにした
実験および分析 データ収集の方法 分析 質問票 ペアプログラミングをビデオ撮影・録音 インタビュー 31人の開発者, 21セッション インタビュー 分析 Disengagement のエピソードを識別 Disengagement に至る状況の調査 Disengagement 回避の方法の調査
Disengagement の原因 他の作業者からの割り込み パートナーとの連携が妨げられる 専門に応じた分業 排他的なサブタスクに役割分担してしまう 簡単なタスク 同僚からの圧力 新人は熟練者に簡単なことは聞きにくい 時間的な圧力 熟練者が一人で仕事を進めてしまう いくつかは状況によって許容しうる 解決策は。。。。
Development of Auxiliary Functions: Should You Be Agile Development of Auxiliary Functions: Should You Be Agile? An Empirical Assessment of Pair Programming and Test-First Programming O. A. L. Lemos1, F. C. Ferrari2 , F. F. Silveira1, and A. Garcia3 Federal University of Sao Paulo1 Federal University of Sao Carlos2 Pontifical Catholic University of Rio de Janeiro3
動機・目的 time-to-marketに影響を与えずreliabilityを改善できるか? crush function experienced Less crush function Auxiliary call Agile Practice Pair programming Test First Development time-to-marketに影響を与えずreliabilityを改善できるか?
主要な貢献 補助的な関数の開発におけるアジャイル的な取り組みの影響を明らかにした アジャイル的な取り組みの影響について 一貫性のある結果を示した Cross over designの採用
Test First Test Last Cross Over Design 被験者群 A 被験者群 B 被験者群 A 被験者群 B Pair Programming 被験者群 A 被験者群 B Solo Programming Test First 被験者群 A 被験者群 B Test Last
実験結果 Pair Programming Test First Development バグ減少 開発時間 増加 バグ減少,カバレッジ向上 Agile Practiceの採用は,reliability の向上に寄与するが 開発に時間がかかるため,time-to-market は悪化