기획서는 언제나 완벽하지 않다. 좋은 개발자는 질문을 통해 문제를 선명하게 만든다. (라고 생각해서 정리해봤다.)
상황
가장 인기 있는 해시태그 목록을 보여주는 기능을 만들어주세요.
겉으로 보기엔 단순해 보이는 요구라 바로 구현을 시작하고 싶어질 수도 있다.
"해시태그를 만들고, 집계하여 인기 해시태그를 보여주면 되겠다” 하고 바로 개발을 시작해야지"
하지만 기획서를 다시 보면 무엇을 보여줘야 하는지 외의 정보는 거의 없다.
그렇다면 개발자는 어떻게 해야 할까?
이럴 때 잠시 멈추고, 모호한 지점을 스스로 찾아 질문하는 과정이 필요하다고 생각한다.
완벽한 기획은 없을 것 같다.
기획자나 디자이너는 각자의 관점에서 문제를 바라볼 것이다.
하지만 개발자는 구현과 데이터 흐름 전체를 고려해야 한다.
개발자는 모호함을 바탕으로 요구사항을 명확히 만들고 이를 설계 가능 상태로 바꿔야 한다고 생각한다.
즉, 모호한 지점을 스스로 찾아내고 질문하는 능력이 필요한 것 같다.
예를 들어,
- 인기 기준은 무엇인가? 조회 수? 사용 빈도? 최근 일주일 기준?
- 인기 해시태그는 몇 개까지 제공하면 되는가?
- 해시태그 길이 제한은 있는가?
- 해시태그를 눌렀을 때 해당 게시글은 어떤 기준으로 보여야 하는가?
이런 질문을 통해 기획은 점점 구조화되고, 개발 가능한 형태로 선명해진다고 생각한다.
확인해보면 좋은 것들
생각나는 대로 적어봤다.
- 예상 환경
- 사용자 수, 동접자 수는 어느 정도인가?
- 초기 트래픽과 성장 가능성을 고려해야 하는가?
- 게시글–해시태그 구조 관점
- 게시글은 여러 해시태그를 가질 수 있는가?
- 해시태그 기반으로 게시글 탐색이 가능한 구조인가?
- 페이징 및 정렬 정책
- 데이터의 양이 많아질 수 있다면 페이징 방식은?
- 정렬 기준은? (인기순, 최신순 등)
- 캐싱 정책
- 얼마나 ‘신선한 데이터’가 요구되는가?
- 캐싱이 가능하다면 TTL은 어느 정도가 적절한가?
- 클라이언트 환경 파악
- 웹과 앱이 모두 사용하는 API인가?
- 플랫폼별 요구사항 차이는 없는가?
- 경계 조건
- 해시태그 문자열 길이 제한?
- 사용할 수 없는 문자 규칙은 있는가?
- UI/UX 흐름
- 인기 해시태그 클릭 시 게시글 목록으로 이동하는지?
- 빈 상태(해시태그가 없을 때) 화면은 어떻게 구성하는가?
이후에는 데이터 모델링, 인덱스 구조, 캐싱 전략, API 설계 같은 개발자의 기술적 판단을 자신 있게 결정할 수 있는 상태가 된다고 생각한다.
기획서는 언제나 완벽하지 않다. 좋은 개발자는 질문을 통해 문제를 선명하게 만든다. (라고 생각해서 정리해봤다.)
상황
겉으로 보기엔 단순해 보이는 요구라 바로 구현을 시작하고 싶어질 수도 있다.
"해시태그를 만들고, 집계하여 인기 해시태그를 보여주면 되겠다” 하고 바로 개발을 시작해야지"하지만 기획서를 다시 보면 무엇을 보여줘야 하는지 외의 정보는 거의 없다.
그렇다면 개발자는 어떻게 해야 할까?
이럴 때 잠시 멈추고, 모호한 지점을 스스로 찾아 질문하는 과정이 필요하다고 생각한다.
완벽한 기획은 없을 것 같다.
기획자나 디자이너는 각자의 관점에서 문제를 바라볼 것이다.
하지만 개발자는 구현과 데이터 흐름 전체를 고려해야 한다.
개발자는 모호함을 바탕으로 요구사항을 명확히 만들고 이를 설계 가능 상태로 바꿔야 한다고 생각한다.
즉, 모호한 지점을 스스로 찾아내고 질문하는 능력이 필요한 것 같다.
예를 들어,
이런 질문을 통해 기획은 점점 구조화되고, 개발 가능한 형태로 선명해진다고 생각한다.확인해보면 좋은 것들
생각나는 대로 적어봤다.
이후에는 데이터 모델링, 인덱스 구조, 캐싱 전략, API 설계 같은 개발자의 기술적 판단을 자신 있게 결정할 수 있는 상태가 된다고 생각한다.