4장 요구사항 분석: 사용자와 문제를 이해하는 법(3)

문제의 핵심을 '설계 언어'로 변환하기

by jeromeNa

문제의 핵심을 '설계 언어'로 변환하기


마지막으로 이런 복잡한 요구사항을 개발자가 이해할 수 있는 명확한 설계 언어로 바꾸어 보자. 모든 요구사항을 바꾸기에는 지면상 한계가 있기에 "단골 고객들이 좋아할 만한 책을 추천해 주는 기능"이라는 요청을 받았을 때, 이것을 어떻게 구체적인 시스템 설계 언어로 바꾸는지 살펴보자.


추상적 요구사항의 구체화


기획자는 사장님의 "추천해 주는 기능"을 그대로 받아들여 기획서에 "책 추천"이라는 항목만 넣어서는 개발자가 이해할 수 없다. 혼자서 개발한다고 해도, "책 추천"이라는 모호한 요구를 AI에게 요청하면 엉뚱한 기능을 구현할 수 있다.


사장님이 말하는 "추천"의 실제 의미를 파악하기 위해 며칠간 서점에서 관찰하는 것도 방법이다. 박교수님이 방문했을 때 사장님이 어떻게 책을 추천하는지 지켜보는 것이다.


박교수님이 철학 코너를 둘러보고 있을 때, 사장님이 다가가서 "교수님, 이번에 새로 나온 한국 철학사 책이 있는데 관심 있으실 것 같아요"라고 말할 수도 있다. 단순한 추천이 아니다. 박교수님의 이전 구매 내역(주로 동양철학), 최근 관심사(한국사상사), 선호하는 출판사(학술 전문 출판사) 등을 종합해서 나온 맞춤형 제안일 것이다.


이런 관찰을 통해 "추천 시스템"이라는 추상적 요구사항을 구체적인 설계 요소들로 분해할 수 있다.


고객 프로필 관리: 구매 이력, 관심 분야, 선호 장르, 가격대, 구매 주기 등의 데이터 수집 및 분석

도서 메타데이터 관리: 장르, 주제, 저자, 출판사, 난이도, 연관 키워드 등의 상세 정보

연관성 분석 엔진: 고객 특성과 도서 특성을 매칭하는 알고리즘

추천 결과 제시: 추천 이유와 함께 적절한 시점에 제안하는 인터페이스


이처럼 추상적인 요구사항은 구체적인 요소로 분해해야 명확한 시스템 설계가 가능하다.


업무 프로세스의 시스템화


지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.

brunch membership
jeromeNa작가님의 멤버십을 시작해 보세요!

활동 시기의 반 이상을 개발자로 살아왔습니다. 앞으로의 삶은 글과 창작자, 후배 양성으로 살아가 보려 합니다.

669 구독자

오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠

  • 총 62개의 혜택 콘텐츠
최신 발행글 더보기