Skip to main content
QUICK REVIEW

[論文レビュー] Identifying Coordination Problems in Software Development: Finding Mismatches between Software and Project Team Structures

Chintan Amrit, Jos van Hillegersberg|arXiv (Cornell University)|Jan 19, 2012
Open Source Software Innovations参考文献 78被引用数 10
ひとこと要約

本論文は、ソフトウェアアーキテクチャとチーム構造の不一致を特定することで、ソフトウェア開発における調整問題を同定する社会的・技術的ネットワーク分析手法TESNAを紹介する。バージョン管理、電子メール、チャットデータを収集することで、社会的・技術的構造の不一致(STSC)を検出する。実際の企業プロジェクトでの検証を通じて、コーネルの法則、コード所有権、プロジェクト調整の不一致が複数回発覚した。

ABSTRACT

Today's dynamic and iterative development environment brings significant challenges for software project management. In distributed project settings, "management by walking around" is no longer an option and project managers may miss out on key project insights. The TESNA (TEchnical Social Network Analysis) method and tool aims to provide project managers both a method and a tool for gaining insights and taking corrective action. TESNA achieves this by analysing a project's evolving social and technical network structures using data from multiple sources, including CVS, email and chat repositories. Using pattern theory, TESNA helps to identify areas where the current state of the project's social and technical networks conflicts with what patterns suggest. We refer to such a conflict as a Socio-Technical Structure Clash (STSC). In this paper we report on our experience of using TESNA to identify STSCs in a corporate environment through the mining of software repositories. We find multiple instances of three STSCs (Conway's Law, Code Ownership and Project Coordination) in many of the on-going development projects, thereby validating the method and tool that we have developed.

研究の動機と目的

  • 伝統的な管理手法(『歩き回る管理』)が効果を示さない動的で分散型のソフトウェア開発環境における調整課題に対処すること。
  • ソフトウェアアーキテクチャとチーム組織の構造的不一致が調整問題を引き起こすことを特定すること。
  • プロジェクトマネージャーがソフトウェアリポジトリからのデータを用いて、こうした不一致を事前に検出し是正できる手法およびツール(TESNA)を開発すること。
  • 実際の企業ソフトウェアプロジェクトにおけるTESNAの有効性を、開発アーティファクトの実証的マイニングを通じて検証すること。

提案手法

  • TESNAは、CVS(バージョン管理)、電子メール、チャットリポジトリなど複数のデータソースから得られる進化する社会的・技術的ネットワーク構造を分析する。
  • パターン理論を適用して、観察されたネットワーク構造をソフトウェア工学の既知のパターンと比較し、乖離を潜在的な調整問題として同定する。
  • チーム構造または通信パターンが期待されるアーキテクチャ的・組織的基準と矛盾する場合に、社会的・技術的構造の不一致(STSC)を検出する。
  • 主な分析対象パターンには、コーネルの法則(アーキテクチャはチーム構造を反映する)、コード所有権(コードの個別またはグループへの割り当て)、プロジェクト調整(通信とタスクの整合性)が含まれる。
  • STSCを可視化し、プロジェクトマネージャーによる是正措置の優先順位付けを可能にする。
  • 開発者とコンponent間の依存関係や通信フローをモデル化するため、ネットワーク分析手法を用いる。

実験結果

リサーチクエスチョン

  • RQ1ソフトウェアアーキテクチャとチーム構造の不一致は、実際のソフトウェアプロジェクトにどの程度顕在化しているか?
  • RQ2社会的・技術的ネットワーク分析は、従来のプロジェクト管理では見えない調整問題を検出できるか?
  • RQ3コーネルの法則、コード所有権、プロジェクト調整といった特定のSTSCパターンの中で、どのパターンが継続的開発プロジェクトにおいて顕著に現れるか?
  • RQ4既存のソフトウェアリポジトリデータを用いて、TESNA手法は実際に是正可能な調整問題をどの程度効果的に同定できるか?

主な発見

  • 複数の企業ソフトウェアプロジェクトにおいて、社会的・技術的構造の不一致(STSC)が同定され、本手法の検出能力が裏付けられた。
  • 分析されたプロジェクトにおいて、コーネルの法則、コード所有権、プロジェクト調整の3つの主要なSTSCパターンが一貫して確認された。
  • TESNAツールは、CVS、電子メール、チャットリポジトリからのデータを分析するだけで、追加のインストルメンテーションなしに調整問題を効果的に検出できた。
  • 本手法は、従来のプロジェクト管理やコードレビューでは明らかでない、隠れた構造的不一致を明らかにした。
  • 本研究では、STSCが稀な異常事項ではなく、現実の開発現場で繰り返し発生する問題であることが示された。
  • 結果から、既存のリポジトリデータを用いた社会的・技術的ネットワーク分析が、プロジェクトマネージャーにとって実用的なインサイトを提供できることが確認された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。