메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

스펙 작성은 프로젝트 성공의 지름길이다.

sue5***

|

2021-02-19

소프트웨어 스펙의 모든 것

프로젝트 시작과 기준은 소프트웨어 스펙(SRS)이다. 제대로 작성된 스펙은 프로젝트를 성공으로 이끌 가능성을 높인다. 누구나 알고 싶어 하지만 쉽게 알 수 없는 소프트웨어 스펙 작성의 거의 모든 것을 정리했다.

  • 저자 : 김익환 , 전규현
  • 출간 : 2021-01-05

 

 

<이 책은 한빛 미디어에 의해 제공받았습니다.>


저는 이 책을 보자마자 '소프트웨어 스펙'이 도대체 무엇인가? 라는 질문에 사로잡혔습니다. 흔히 '스펙'은 specification의 약가로 서류 상의 기록이라는 의미로 사용됩니다. 그래서 제가 접해봤던 스펙은 취업하기 위해 쌓는 스펙과 컴퓨터의 사양을 의미하는 스펙 정도 밖에 없었던 것 같습니다. 그래서 이 책에서 스펙이라고 칭하는 SRS(Software Requirements Specification)는 저에게 굉장히 낯선 개념이었던 것 같습니다. 스펙은 프로젝트의 모든 요구사항을 취합해 모든 프로젝트 이해관계자를 연결하는 프로젝트의 중심이 되는 문서입니다. 따라서 프로젝트를 진행하는데 가장 중요하고 필수적인 문서도 스펙이라고 할 수 있겠습니다. 


1부에서는 제 질문에 대한 답변을 해주는 듯이 '소프트웨어 스펙이란?'이라는 주제로 소프트웨어 스펙과 관련된 전반적인 내용을 독자들에게 설명해주고 있습니다. 흥미로웠던 것은 어떤 점이 소프트웨어 스펙을 기록하는데에 있어서 실패로 이끄는지에 대해서 이유를 짚어주고 있기도 합니다. 많은 예시들을 제시하고 있어서 이해를 하기 더욱 쉬웠던 것 같습니다. 특별히 기억에 남았던 사례는 분석 및 설계를 제대로 끝내지 않은 상태에서 개발을 하며 결국 빌딩을 지어놓은 채로 설계도를 그리는 것과 다름이 없다는 프로젝트 만 일정에 쫓겨 개발하는 회사의 사례입니다. 스펙은 프로젝트 진행을 위해서 초기에 필요하기도 하지만 프로젝트가 올바른 방향으로 끝까지 이어지려면 마지막까지 많은 수정과 보완을 거쳐가며 프로젝트 내용을 뒷받쳐 줄 스펙 문서가 필요합니다. 그러나 프로젝트 마감 기한에 맞춰서 간신히 개발을 진행하면서 문서를 요구하니까 개발 혹은 기획에 대해서 아무 것도 모르는 문서 전담팀이 개발된 내용을 바탕으로 오히려 역으로 문서를 작성하기도 한다는 예시였습니다. 말도 안되는 일이라고 생각할 수 있지만 아직까지도 스펙의 중요성을 깨닫지 못한 회사들에서 많이 발생하고 있는 일입니다.


이 책의 중반에는 기업의 문화, 스펙을 작성하고 변경하는 프로세스, 그리고 누가(Who) 스펙을 작성하고, 무엇을(What) 스펙에 기록해야하며, 어떻게(How) 스펙의 재료를 얻어 가독성을 높일 수 있는지 서술하고 있습니다. 제가 가장 인상 깊었던 부분은 How 부분에서 '훔쳐보기는 이제 그만'이라는 소주제의 단락이었습니다. 프로그래밍 언어를 조금이라도 다뤄보신 분이라면 설계 없이 개발을 한다가 어떤 기능이 필요해지면 그 기능과 유사한 기능을 갖고 있는 소스 코드를 열심히 찾아볼 것입니다. 비슷한 것을 찾게 되면 복사 붙여넣기를 하기 십상입니다. 소프트웨어가 이런 식으로 개발을 지속해도 결국에는 돌아갈 수 있을지 모르지만 시스템의 결합도가 증가하여 복잡해지는 등의 어려움을 겪게 됩니다. 저는 이렇게 필요한 기능을 가져다가 그대로 사용하는 것을 훔쳐보기로 지칭한다고 생각했습니다. 이러한 훔쳐보기는 유지 보수가 어려워지거나 협업이 어려워질 수 있다는 큰 단점을 가지고 있습니다. 설계도에 없는 훔쳐보기는 순환 참조를 한다는 것인데 순환 참조는 코드 하나의 변화가 전체 소프트웨어에 영향을 준다는 점에서 굉장히 위험할 수 있습니다. 화자는 이러한 문제를 해결할 수 있는 방법까지 제시해주어서 흥미로웠습니다. 해결 방법은 바로 공통 모듈을 정의하는 것이었습니다. 공통 모듈은 초기 분석, 설계부터 시작해서 단순하고 시스템 이해에 도움이 될 수 있도록 한다는 큰 장점이 있기 때문에 앞서 언급했던 문제들을 해결할 수 있는 해결책이 될 수 있다는 것입니다. 


이 책의 후반에는 2부의 시작과 함께 SRS를 작성하는 방법에 대해서 서술하고 있습니다. 이 또한 예시를 통해 어떻게 작성하면 좋은지 제시하고 있다는 점에서 정보로 가득차있는 책이라는 사실을 다시 한 번 깨달았고 관심 분야인 게임 앱을 만들 때를 예시로 들어 전체 설명을 한 부분이 가장 재미있게 읽었던 것 같습니다.


만약 개발의 전반적인 부분을 관리하고 계획을 세워야 하는 일을 하고 계신 분들에게 이 책을 꼭 추천해드리고 싶습니다. 앞 부분부터 끝까지 하나도 뺄 내용 없이 스펙 작성이 얼마나 중요하고 프로젝트 하나하나의 큰 자산이 될 수 있는지를 몸소 느끼실 수 있을 것이라고 생각합니다. 처음 보면 어려울 수 있는 내용이라고 생각하고 저 또한 읽으면서 굉장히 어려웠습니다. 그러나 처음 소프트웨어 스펙에 대해서 접하게 되신 분들도 스펙의 의미부터 중요성, 용도와 작성법 등 많은 것을 배워 풍부해짐을 느끼실 수 있으리라 생각해 꼭 읽기를 추천드리고 싶습니다. 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?