안녕하세요. 연두씨입니다.
운영이든, 구축이든 기획을 하려면 먼저 요구사항을 정리하는 단계를 거치게 되는데요.
이때 RFP, SRS, SFR 등의 문서를 작성하게 됩니다.
용어가 중요한 것은 아니나 참고로 말씀드리면...
RFP (Request For Proposal) 제안요청서 : 프로젝트를 의뢰할 때, 프로젝트에 필요한 요구사항을 작성하는 것
SRS (Software Requirement Specification) 소프트웨어 요구사항 명세서 : 개발 전에 요구사항을 분석하고 정리해서 작성하는 것
SFR (System Function Requirement) 기능 요구사항 명세서 : SRS랑 비슷한 것
조금씩의 차이는 있지만, 실제 기획/개발 전에 목표와 기준이 될 수 있도록 요구사항을 잘 정리하는 목적을 공통적으로 가지고 있는 문서들입니다.
이 전에 다른 글에서도 많이 언급했었지만 모든 문서는 양식이나 용어가 중요한 것은 아니고요,
그 목적에 맞게 프로젝트의 상황에 따라, 협업자들에 따라 더 편리한 쪽으로 만들어 나가시면 될 것 같아요.
반드시 이 용어를 써야 한다, 양식은 이게 정석이다라는 건 없어요.
그럼 요구사항의 목적과 쓰임에 대해 조금 더 자세히 이야기해 볼게요.
당연한 얘기겠지만 요구사항에 따라 기획을 하고 그 기획에 따라 개발을 하게 됩니다.
개발이 다 된 이후에는 개발 아웃풋이 요구사항에 부합한 지 점검할 때에도 그 쓰임이 있고요.
때문에 앞으로 만들어질 프로덕트의 뼈대이자 나침반과 같은 역할이 되는 중요한 문서입니다.
이렇게 중요한 역할을 하는데 프로젝트 내내 이리 변경되고 저리 변경되면 이후 작업들이 모두 혼선이 오겠죠.
그래서 되도록 요구사항은 세부적이고 명확하게 작성하고, 잦은 변경이 없도록 작성되어야 합니다.
그러려면 요구사항을 그냥 작성하는 게 아니라 철저한 분석에 의해, 근거를 바탕으로 작성되어야 합니다.
다시 한번 강조하지만 요구사항을 작성하는 과정에서 가장 중요한 것은 분석!!!입니다.
분석의 결과가 곧 요구사항이 되며, 이 부분이 명확할수록 프로젝트가 흔들림 없이 갈 수 있어요.
분석을 해야 하는 많은 내용들이 있겠지만 몇 가지를 예시로 말씀드리면...
-인터뷰 : 사용자 또는 관리자, 고객님, 사장님 등등 필요한 그룹을 인터뷰하여 우리가 원하는 것이 무엇인지 가려운 데를 찾아냅니다.
-데이터 : 서비스에 관련된 유입, 회원, 매출 등 모든 데이터들을 분석해서 고객이 원하고 좋아하는 것은 무엇인지 찾아냅니다.
-트렌드 : 남들은 어떻게 하는지, 요즘 뭐가 유행인지 찾아서 우리가 적용할 만한 것을 찾아냅니다.
이 외에도 많은 것들을 분석해서 필요한 것을 찾아내고, 궁극적으로 우리가 이 프로젝트에서 지향해야 할 점을 만들어 주세요.
그럼 그게 목표가 되고요, 목표를 이루기 위한 세부적인 작업내용을 정리하면 그게 요구사항이 됩니다.
왜 때문에 이런 기능이 필요하고 이런 UI가 필요한지에 대해 분석을 통해 요구사항이 나와야 그 요구사항들이 흔들림이 없고 구체적으로 나올 수 있어요.
요구사항을 정리하는 방식은, 처음 말씀드린 문서명들을 검색하면 많은 예시들이 나옵니다.
대부분은 아래의 구조에서 추가/생략된 상태 일 거예요.
요구사항을 알아보기 쉽도록 그룹핑하고 항목과 내용으로 정리합니다.
기능과 UI나 api, DB, 보안 등... 그룹 안에서도 표준적으로 쓰일 항목이 있다면 추가해서 정리하고
항목별로 우선순위를 두면 최종 요구사항 정리 또는 추후 스펙 아웃이 필요한 경우에 기준으로 사용될 수 있을 거예요.
추가로 작성자나 작성일, 작업자나 예상작업일, 합의자 등을 열에 추가해서 관리를 할 수도 있겠습니다.
되도록 변동이 없어야 하지만 전혀 없을 수는 없기 때문에 이 문서도 역시 작성/수정 날짜와 버전으로 문서 관리를 하면 돼요.
요구사항은 분석해서 근거를 찾는 게 어렵지 방향과 범위가 잡히면 스펙 상 정리는 그렇게 어렵진 않을 거예요.
세 줄로 요약해 보자면,
1. 요구사항 정의 작성을 위해서는 분석이 꼭 필요하다.
2. 분석된 내용을 바탕으로 프로젝트의 목표를 설정하고 목적을 이루기 위한 작업 내역을 고민한다.
3. 작업 내역을 항목과 내용으로 정리하고 필요에 따라 작성자나 우선순의 등의 항목을 추가하여 정리한다.
처음부터 완벽하게 쓴다는 생각보다는 우선 1차로 정리하고 협의하고, 수정해서 협의하고, 이런 과정을 거쳐서 최종 합의된 문서를 만들어 가면 되겠습니다. 제일 중요한 건 우리 모두의 합의니까요.