zid***
2021-02-21

프로젝트 시작과 기준은 소프트웨어 스펙(SRS)이다. 제대로 작성된 스펙은 프로젝트를 성공으로 이끌 가능성을 높인다. 누구나 알고 싶어 하지만 쉽게 알 수 없는 소프트웨어 스펙 작성의 거의 모든 것을 정리했다.
2021년 올해의 책리뷰 / 소프트웨어 스펙의 모든 것 / 한빛미디어
소프트웨어를 개발하는데 가장 중요한 것이 스펙입니다. 이 스펙을 잘 작성하는 방법은 가르칠 수는 있는데 배울 수는 없습니다. 즉, 이론은 체계적으로 잘 짜여져 있지만, 그것을 현실에 적용하기란 어렵습니다. 스펙을 잘 작성하기 위해서는 실전을 통한 노하우의 축적이 필요하며, 개발 문화, 관행, 습관, 프로세스, 원리, 원칙을 알고 접근해야 합니다. 이러한 소프트웨어 스펙의 원리를 이해하고 이를 잘 작성하는 역량을 확보하는 방법을 이 책에서 다루고, 또한 실제 SRS 템플릿을 기준으로 작성할 내용을 설명하고 작성 예를 보여주고 있습니다.
저자는 소프트웨어 프로젝트의 실패의 가장 주요 원인으로 스펙과 관계되어 있다고 합니다. 잘못된 스펙과 요구사항을 관리하는 부분에 있어서 문제가 발생하는데, 이를 해결하는 방법으로 원칙만 지킬 수 있는 최소한의 프로세스 환경에서 좋은 문화를 공유하는 것으로 보고 있고, 스펙의 역할에 대해서 알려주고 있습니다. 그러면서 스펙에 대한 오해에 대해서도 다루고 있습니다. 스펙에도 여러 종류가 있지만, 이 책에서는 SRS(Software Requirements Specification)이라는 문서를 다룹니다. 이 SRS를 통해서 소프트웨어를 어떻게 빠르게 개발할 것인가와 스펙과 프로젝트 일정의 관계를 논하고 있습니다.
스펙의 모든 것을 세세하게 다루고 있습니다. 스펙을 적용하는데 있어서 현행에서의 문제점은 무엇인지 사례를 들어서 설명하고, 스펙을 위한 기업문화는 어떻게 되는 것이 올바른 것인지, 스펙을 적용하는 프로세스는 어떻게 정립해 나가야 하는지, 누가 스펙을 쓰고, 어떻게 이용하는 것인지, 스펙에 어떠한 내용을 어떻게 기입해야 하는지, 어떠한 도구를 이용하여 SRS를 작성해야 하는지 등등을 소개하고 있습니다.
그리고 2부에서는 SRS 작성법을 세세하게 설명하고 있습니다. 시스템 구성, 동작 방식, 개발/테스트 환경, 외부 인터페이스 요구사항, 성능 요구사항, 비기능 요구사항, 기능 요구사항, 변경 관리 프로세스, 최종 승인자 등등의 정보를 어떻게 기입해야하는지에 대해서 설명하고 있고, 이는 현행에 소프트웨어 프로젝트를 진행하면서 많은 도움이 될 것으로 보입니다. 프로젝트에서 스펙에 문제점에 대한 해답을 제시하지는 못하지만, 그 해답을 찾아가는 과정을 알려주는 책이라고 보면 좋을 듯 합니다.