태그 미디어로그 위치로그
소프트웨어 개발 지식의 총본산 SWEBOK
알티칼럼

소프트웨어 개발을 위한 전체적인 그림을 한번 그려볼 수 있도록 도와주는 자료가 있으니 그것이 바로 SWEBOK이다.

이것은 SoftWare Engineering Body Of Knowledge의 약자로서  이 분야의 전문가들이 모여서 지속적으로 자료를 만들고 있는 단체인 Software Engineering Coordinating Committee가 유지하고 있는 적지 않은 분량의 문서이다.

특히 이 위원회는 IEEE가 후원하고 있는데, 이것을 통해 소프트웨어 공학에 대한 궁극적인 지식의 보고로 만들어보겠다는 의지를 지난 근 십여년간 보여오고 있으며, 2004년 Edition이 홈페이지에 공개되어 있다. (http://www.computer.org/portal/web/swebok)

그러나, 애석하게도 PDF와 같은 출판 가능한 형태는 유료이며, 현재는 HTML 버젼에 대해서는 온라인으로 구독할 수 있도록 되어있는데, 불과 얼마전까지만 해도 PDF를 받을 수 있었는 시기를 생각하면 상당히 아쉬운 부분이다.

이 SWEBOK는 말 그대로 소프트웨어 공학에 대한 전반적인 지식을 담고 있는데, 다음과 같다.

CHAPTER 1: INTRODUCTION TO THE GUIDE

1장은 이 문서의 전반적인 소개를 다루고 있으며, 처음 읽는 독자를 위한 이해를 돕기 위해 만들어졌으며, 이 장을 읽는 것 만으로도 이 문서의 전체적인 구성과 흐름, 개략적인 정보를 얻을 수 있도록 해 놓았다.

CHAPTER 2: SOFTWARE REQUIREMENTS

2장은 말 그대로 요구공학에 대한 내용인데 최근 몇년간 그 중요성이 급격하게 높아지고 있는 고객의 요구사항의 수집 및 제품화의 트랜드를 확실하게 반영하고 있는 듯하다.

CHAPTER 3: SOFTWARE DESIGN

3장은 전통적으로 컴퓨터 사이언스 분야의 주 관심사였던 소프트웨어 설계에 관한 이야기인데, 관련 논문만 읽는다 해도 몇개월이 걸릴 정도의 결코 만만하지 않은 영역이다.

CHAPTER 4: SOFTWARE CONSTRUCTION

구현에 관한 이야기와

CHAPTER 5: SOFTWARE TESTING

테스트에 관한 이야기

CHAPTER 6: SOFTWARE MAINTENANCE

그리고, 유지/보수에 관한 이야기도 당연히 하고 있으며,

CHAPTER 7: SOFTWARE CONFIGURATION MANAGEMENT

형상관리는 무엇이며,

CHAPTER 8: SOFTWARE ENGINEERING MANAGEMENT

소프트웨어 개발 프로젝트에 대한 관리는 또 어떤 것들이 있는지,

CHAPTER 9: SOFTWARE ENGINEERING PROCESS

개발 프로세스에 대한 전반적인 설명도 빼놓지 않는다.

CHAPTER 10: SOFTWARE ENGINEERING TOOLS AND METHODS

개발에 필요한 도구와 방법론에 대한 영역도 설명하고 있고,

CHAPTER 11: SOFTWARE QUALITY

품질이라는 화두 역시 이야기를 하며,

CHAPTER 12: RELATED DISCIPLINES OF SOFTWARE ENGINEERING

마지막으로 훈련(교육)에 관련된 이야기와 함께, 이어지는 Appendix에서 다양한 자료들을 소개하는 것으로 이 문서는 마치게 된다.

출력을 하면 약 250페이지 정도(필자가 소유하고 있는 것은 Draft Version이라 차이가 날 수 있다)인데, 각 장의 분량이 그렇게 많지 않기 때문에 그렇게 어렵지 않게 흐름을 파악할 수 있다.

한가지 유의할 점은 이 책은 소프트웨어를 개발하고자 하는 사람이나 조직에게 어떻게 할 지에 대해서는 거의 이야기 하고 있지 않다는 것이다. 이 책에서는 What 즉, 각 영역에서는 무엇이 있고, 어떤 것이며, 논문은 어느 것을 참고하라는 이야기는 있지만, How 즉, 너네 조직에서는 이것을 수행하기 위해서 어떻게 해라..라고 하는 가이드는 전혀 없다는 의미이다.

아마도 그 이유는 각 조직이 가진 개발 역량, 문화, 산업 영역에 따라 천차만별이고, SWEBOK에서 제공한다고 해도 그것이 실용적일지도 의문이기 때문일 것이다.

이런 이유로 실제 SWEBOK를 만드는 작업 자체에 대해서 의구심과 실효성에 대한 문제를 제기하는 학자들도 적지는 않지만, 제 3자의 관점에서 본다면 무엇이 있는지에 대한 큰 그림을 보여준다는 의미에서는 상당히 깊은 공감을 가지게 되는 것도 사실이다.

우리 알티베이스에서 수행하고  있는 소프트웨어 개발의 내부 지식 및 프로세스와 비교해 본다면 이 주제는 아직 우리가 가야 할 길이 결코 만만치 않음을 웅변하고 있다.

“소프트웨어 개발의 끝은 과연 어디인가?”

오늘 아침, 다시 한번 머리속에 떠오르는 이 질문을 뒤로 하면서 이 글을 마칠까 한다.

'알티칼럼' 카테고리의 다른 글

21세기 소프트 리더십을 찾아서..  (5) 2014.02.20
고속철도 KTX와 기아차 K5  (5) 2014.02.20
알티베이스의 host 변수와 최적화  (1) 2014.02.20
품질 속성의 기술과 평가  (2) 2014.02.18
WBS에 대한 단상..  (6) 2014.02.18