Skip to main content
QUICK REVIEW

[논문 리뷰] Pair versus Solo Programming -- An Experience Report from a Course on Design of Experiments in Software Engineering

Omar S. Gómez, José L. Batún|arXiv (Cornell University)|2013. 06. 18.
Software Engineering Techniques and Practices참고 문헌 21인용 수 9
한 줄 요약

이 연구는 21명의 고학년 소프트웨어 공학 학생(7개 팀, 7명의 개인)을 대상으로 한 제어 실험을 통해 소프트웨어 공학 수업에서 팀 프로그래밍과 개별 프로그래밍을 평가한다. 결과로 팀 프로그래밍 시 개발 시간이 28% 감소했고, 개별 프로그래밍 시 인지 부하가 30% 감소했으며, 이는 α=0.1 수준에서 유의미하여 프로그래밍 방식에 따라 시간 효율성과 인지 부하 간의 상충 관계가 드러난다.

ABSTRACT

This paper presents an experience report about an experiment that evaluates duration and effort of pair and solo programming. The experiment was performed as part of a course on Design of Experiments (DOE) in Software Engineering (SE) at Autonomous University of Yucatan (UADY). A total of 21 junior student subjects enrolled in the bachelor's degree program in SE participated in the experiment. During the experiment, subjects (7 pairs and 7 solos) wrote two small programs in two sessions. Results show a significant difference (at alpha=0.1) in favor of pair programming regarding duration (28% decrease), and a significant difference (at alpha=0.1) in favor of solo programming with respect to effort (30% decrease). With only a difference of 1%, our results regarding duration and effort are practically the same as those reported by Nosek in 1998.

연구 동기 및 목표

  • 실제 교육 현장에서 팀 프로그래밍과 개별 프로그래밍이 개발 기간과 인지 부하에 미치는 영향을 조사하기 위해.
  • 소프트웨어 공학 커리큘럼에서 실험 설계(DoE) 접근법을 활용해 프로그래밍 효율성과 인지 부하에 대한 실증적 데이터를 제공하기 위해.
  • 이전 연구(예: Nosek, 1998)의 결과를 현대적 학술 환경에서 제어 변수를 두고 재검증하거나 대조하기 위해.
  • 소프트웨어 공학 수업에서 실험 설계 교육을 위해 재현 가능한 실험 프레임워크를 제공하기 위해.

제안 방법

  • 이탈리아 자치 대학교(Yucatan)의 실험 설계(DoE) 수업의 일환으로 진행되었으며, 21명의 고학년 소프트웨어 공학 학생이 참가하였다.
  • 참가자들은 팀 프로그래밍(7개 팀, 2명씩) 또는 개별 프로그래밍(7명) 조건에 할당되었다.
  • 각 참가자는 두 번의 세션에 걸쳐 작은 프로그래밍 작업 두 가지를 수행하였으며, 시간과 노력은 표준화된 지표로 측정되었다.
  • 시간은 작업 시작부터 완료까지의 벽시계 시간으로 기록되었고, 노력은 자가 보고한 인지 부하로 평가되었다.
  • 통계 분석은 α=0.1 수준에서 팀 프로그래밍과 개별 프로그래밍 간 평균 시간과 노력의 차이를 비교하기 위해 가설 검정을 적용하였다.
  • 실험 설계는 무작위 할당과 일관된 작업 명세를 포함한 제어 실험 원칙을 따르고 있다.

실험 결과

연구 질문

  • RQ1팀 프로그래밍은 개별 프로그래밍에 비해 개발 시간을 단축시키는가?
  • RQ2팀 프로그래밍과 개별 프로그래밍 간 인지 부하에 유의미한 차이가 있는가?
  • RQ3Nosek(1998)의 이전 연구 결과와 비교할 때 시간 및 노력 지표에서 어떤 유사성이나 차이가 있는가?
  • RQ4다른 프로그래밍 방식에서 시간 효율성과 인지 부하 간의 상충 관계는 어떠한가?

주요 결과

  • 팀 프로그래밍은 개별 프로그래밍 대비 통계적으로 유의미한 28%의 개발 시간 단축을 보였다(p < 0.1).
  • 개별 프로그래밍은 팀 프로그래밍 대비 통계적으로 유의미한 30%의 인지 부하 감소를 보였다(p < 0.1).
  • 팀 프로그래밍과 개별 프로그래밍 간 시간과 노력의 차이는 Nosek(1998)의 결과와 비교해 매우 미미한 1% 수준이었으며, 이는 연구 간 일관성을 시사한다.
  • 시간과 노력의 차이가 있음에도 불구하고, 두 방식 간 성과 격차는 작았으며, 이는 제어 조건 하에서 둘 다 타당한 접근법임을 시사한다.
  • 프로젝트 제약 조건에 따라 프로그래밍 방식을 선택할 수 있음을 뒷받침하며, 빠른 배포를 위해 팀 프로그래밍, 낮은 인지 부하를 위해 개별 프로그래밍을 권장한다.
  • 본 연구는 실생활 실험을 소프트웨어 공학 수업에서 실시하여 DoE 원리를 가르치는 데의 가능성과 교육적 가치를 입증한다.

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

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

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

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