과학연구

중소규모의 쏘프트웨어개발단위들에서 단계적개발방식에 의한 개발공정들의 구현에 대하여

 2019.9.12.

경애하는 김정은동지께서는 다음과 같이 말씀하시였다.

《모든 부문, 모든 단위에서 품질공학수법이 가지는 중요성을 깊이 인식하고 자체의 실정에 맞게 품질공학연구사업을 힘있게 벌리며 그 성과들을 생산에 제때에 받아들이기 위한 사업을 계획적으로 밀고나가야 합니다.》

세계적으로 쏘프트웨어개발단위들에서 쏘프트웨어개발공정을 개선하여 제품의 품질을 높이기 위한 연구들이 광범히 진행되고있다. 현시기 이 분야에서의 연구방향은 CMMI와 애자일(agile)방식을 어떻게 결합하겠는가 하는것이다. 우리는 CMMI 3준위인증을 목표로 하는 중소규모 쏘프트웨어개발단위들에서 적용할수 있는 애자일방식을 결합한 단계적개발방식을 정의하고 이를 구현하여 중소규모의 단위들에서 개발관리체계를 어떻게 확립하겠는가 하는데 대하여 연구하였다.

단계적개발방식은 위험 및 가치에 중점을 두는 단계들을 통하여 비용효률적이고 시기적절하게 높은 품질의 체계들을 정기적으로 생산하는 협조적이고, 증분적이며, 단위의 감독과 통제를 받는 방식이다.

단계적개발방식의 개발활동들을 크게 두가지 즉 과제조의 활동과 단위의 활동으로 갈라진다.

-과제조의 활동

과제조의 활동은 개시기와 개발기, 결속기로 나눈다.

개시기는 1~2개의 단계로 수행하며 요구사항들의 대부분을 수집하고 프로젝트의 총적인 범위를 정의하며 구성방식을 구상하고 공수타산, 전체 일감타산을 비롯한 프로젝트계획을 작성하도록 한다.

개발기는 여러개의 단계로 수행하며 매 단계에서 요구사항의 개발과 관리, 분석과 설계, 구현, 통합 및 시험, 전개, 구성관리, 위험관리를 반복적으로 수행하며 필요하면 단계의 마감에 동작하는 부분체계를 현장에 전개하도록 한다.

결속기는 1~2개의 단계로 수행하며 수요자의 접수시험, 체계에 대한 수요자교육을 포함한 운영지원, 그리고 문서화를 진행하도록 한다.

매 단계의 초기에 단계계획을 작성하는 모임을 가지고 단계목표를 설정하며 단계의 마감에는 단계검토를 진행하도록 한다. 단계검토에서는 해당 단계에서 개발된 체계를 리해관계자들에게 실물로 보여주도록 한다.

프로젝트의 전기간 개발조는 매일 30min을 넘지 않는 일일모임을 가지며 이 모임에서 매 성원별로 지난 모임이후에 무엇을 달성하였는가, 이제 무엇을 달성하려고 하는가, 어떤 문제가 있는가를 료해하고 대책을 취하는것을 정규화하도록 한다.

-단위의 활동

단위의 활동은 과제제안심의와 계획검토, 단계별공정검사와 단계총화, 제품검사와 과제총화로 이루어진다.

프로젝트제안심의에서는 제안된 프로젝트를 실행할것인가 말것인가를 결정한다.

계획검토는 초기검토와 단계별검토로 이루어진다. 초기검토에서는 프로젝트의 초기에 작성된 프로젝트계획을 검토하며 단계별검토에서는 현재 단계에서 목표의 정확성을 확인하는데 중점을 둔다.

단계별공정검사에서는 담당공정검사원이 해당 단계에 프로젝트의 공정준수정형과 중간결과물의 품질, 프로젝트의 진척정형, 위험 등을 료해하고 단위의 개발관리자에게 통보한다.

단계총화는 단계목표달성률평가와 품질평가로 이루어진다. 단계목표달성률평가에서는 단계목표로 설정된 결과물이 나왔는가에 대해 평가하며 품질평가에서는 그 결과물의 품질과 공정의 품질에 대해 평가한다.

제품검사에서는 프로젝트의 결과물이 수요자에게 넘겨지거나 현장에 전개되는 경우 제품에 대해 단위가 객관적인 검사를 조직하도록 한다.

이와 같이 단계적개발방식의 개발활동들은 단계를 주기로 하여 수행된다. 그리고 특별한 리유가 없는 한 단계는 1주간으로 정하여 모든 개발사업이 1주간을 주기로 계획되고 총화되도록 하는것이 합리적이다.