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)|2012. 01. 19.
Open Source Software Innovations참고 문헌 78인용 수 10
한 줄 요약

이 논문은 소프트웨어 아키텍처와 팀 구조 간의 불일치를 탐지함으로써 소프트웨어 개발에서의 협업 문제를 식별하는 사회기술적 네트워크 분석 방법인 TESNA를 소개한다. 버전 제어, 이메일, 채팅 데이터를 추출함으로써 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를 시각화하고 순위를 매겨 프로젝트 매니저가 시급한 조치를 우선순위 정할 수 있도록 한다.
  • 개발자와 구성 요소 간의 종속성과 소통 흐름을 모델링하기 위해 네트워크 분석 기법을 사용한다.

실험 결과

연구 질문

  • RQ1소프트웨어 아키텍처와 팀 구조 간의 불일치가 실제 소프트웨어 프로젝트에 얼마나 광범위하게 나타나는가?
  • RQ2사회기술적 네트워크 분석이 전통적인 프로젝트 관리 방식으로는 확인되지 않는 협업 문제를 탐지할 수 있는가?
  • RQ3콘웨이의 법칙, 코드 소유권, 프로젝트 협업과 같은 특정 STSC 패턴 중 어느 것이 지속적인 개발 프로젝트에서 빈도가 높은가?
  • RQ4기존 소프트웨어 리포지터리 데이터를 활용해 TESNA 방법이 실질적인 협업 문제를 얼마나 효과적으로 식별할 수 있는가?

주요 결과

  • 실제 기업 소프트웨어 프로젝트에서 여러 건의 사회기술적 구조 충돌(STSC) 사례가 확인되어, 이 방법의 탐지 능력이 검증되었다.
  • 분석된 프로젝트에서 콘웨이의 법칙, 코드 소유권, 프로젝트 협업의 세 가지 주요 STSC 패턴이 끊임없이 발견되었다.
  • TESNA 도구는 CVS, 이메일, 채팅 리포지터리 데이터를 분석하여 추가적인 인스트루멘테이션 없이도 협업 문제를 성공적으로 탐지하였다.
  • 기존의 프로젝트 관리나 코드 리뷰 방식으로는 드러나지 않았던 숨겨진 구조적 불일치가 이 방법으로 드러났다.
  • 이 연구는 STSC가 드문 일탈이 아니라 실제 개발 환경에서 반복적으로 발생하는 문제임을 입증하였다.
  • 결과적으로 기존 리포지터리 데이터를 활용한 사회기술적 네트워크 분석이 프로젝트 매니저에게 실질적인 통찰을 제공할 수 있음을 확인하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.