Planning software project is becoming more complicated and important as the size of software project grows. Many approaches have been proposed to help project managers by providing optimal staffing and scheduling in terms of minimizing the cost or time. Because previous approaches only concentrated on minimizing the cost or time, there has not been a study that considers software quality. We elucidated practical considerations regarding the software plan. Then, we defined a quality score by using those considerations in addition to task severity and defect amplification model. In this paper, we propose quality-based software project staffing and scheduling using a genetic algorithm (GA). Although we address quality, time is still critical. Thus, in the fitness function of the GA, time is also considered as a time bound. Our experiment indicates that our approach obtain the same duration as a time-based approach, but the quality score is higher than that of the time-based approach. By utilizing our approach, a project manager can obtain an appropriate plan by considering both quality and time.
시간과 비용을 최적화한 소프트웨어 프로젝트 계획은 소프트웨어 품질에 영향을 줄 수 있는 요소들을 고려하지 못해왔다. 본 연구에서는 소프트웨어 품질을 최적화한 소프트웨어 프로젝트 계획을 생성 함으로써 프로젝트 계획 단계에서 소프트웨어 품질에 영향을 줄 수 있는 요소들을 고려하여 프로젝트 계획을 생성해낸다. 개발자의 다중 작업, 유사 작업의 연속 할당, 전문가의 비율과 그리고 작업의 에러 취약성, 초기 개발 단계에서의 에러 발생 가능성을 고려하여 품질 점수를 계산한다. 뿐만 아니라 시간 또한 소프트웨어 계획의 중요한 고려 요소이기 때문에 제한 시간을 설정하여 시간 점수를 계산한다. 이를 통해 산출된 품질 점수와 시간 점수를 유전자 알고리즘의 적합성 함수에 반영해서 제한 시간 내에서 최대의 품질 점수를 만족하는 최적해를 찾아낸다. 본 연구의 결과로 시간 기반 기법의 기간과 동일한 시간에 12 - 57% 높은 품질 점수를 갖는 프로젝트 계획을 생성해냈다. 따라서 본 기법을 활용하여 프로젝트 매니저는 시간 기반 기법의 최적 기간을 만족하면서 품질 점수는 더 높은 프로젝트 계획을 생성 할 수 있다. 뿐만 아니라 제한 시간을 변경 함으로써 특정 시간에서 얻을 수 있는 최대의 품질 점수를 확인 할 수 있다.