가치 가설 테스트 설계 원칙 : 성공적인 프로젝트를 위한 '테스트 주도 프로젝트'
혼자 개발을 시작한지도 벌써 몇 달이 지나고 있다. 프로젝트 백로그, 혹은 To Do List를 관리해야 할 필요가 있다고 생각되었고, 이를 위한 더 나은 방법을 고민해 보았다.
프로그래밍을 함에 있어 좋은 도구로 TDD가 있다면, 거시적인 관점으로 바라본 '프로젝트'에도 충분히 적용 가능한 도구가 되어줄 것이라 생각되었다. 하나의 '할 일'을 시작함에 앞서, '끝남'여부를 확인할 수 있는 테스트를 미리 설계하고 시작하는 것.
TDD에는 많은 장점이 있는데 그 중, 프로젝트 설계에서 가져오고 싶은 장점은 다음과 같다. 일의 시작에서 좋은 테스트 케이스를 만드는 것을 통해, 설계나 구현사항을 명확히 할 수 있다. 프로젝트의 시점에서도 이를 통해 '가치'를 명확히 하고 구현 이전에 가치를 검증 할 수도 있다.
아래에는 '성공하는 프로젝트'의 시작을 위해 가치를 설계하는 단계에서 꼭 포함해야할 가치 테스트(Done여부를 결정할 수 있는)를 설계하기 위해 시도해볼 몇가지 메모이다.
< 가치 가설 테스트 설계를 위한 메모 >
'가치 표현' 아래에 진짜 가치를 찾는 것이 필요하다. - 직관적으로 표현한 '가치 가설'을 한 번 더 생각해 보는 것은 의미가 있다. - 진짜 가치를 찾았을 때에 더 의미있는 테스트를 설계할 수 있다.
'가치 가설'이 복합적일 수 있고, 복합적인 가치를 쪼개어 검증할 수 있다.
가치검증을 위한 방법은 충분히(많이) 생각해 보는 것이 좋다. - 빠른 피드백(싼 비용)을 얻을 수 있는 검증방법을 택한다. - 다른 프로덕트(게임)에 비유/비교 하여 검증된 가치를 찾을 수 있다. 다른 예(게임)에서 찾은 '가치의 구현'을 토대로 더 좋은 테스트를 설계할 수 있거나, 직접 검증하지 않고 증명할 수 있다. - AB 테스트를 설계하면서 모호한 가치를 명확히 할 수 있다. 유저의 입장에서 받아들이는 가치를 다양한 각도에서 생각하고, 단순화된 가치를 만들고 있는 것(A)과 없는 것(B)의 차이를 만들 수 있음 - 다양한 방법 예 : 페이스북 마케팅, 실제 구현을 통한 테스트, AB테스트, 페이퍼 프로토타입 - 다양한 방법을 생각하다보면, 검증할 필요가 없는 것은 하지 않을 수도 있다.
가치 검증에 순서가 존재할 수 있다. 순서를 잘 만드는 것이 중요 - 예 : 랭킹이 의미있기 위해서 선행 검증되어야 하는 가치가 존재한다. '랭킹'이 주는 경쟁욕/협동욕 은 랭킹을 제외한 게임의 가치 위에서 존재한다. - 가치의 우선순위를 매기고, 그를 토대로 검증의 순서를 만드는 것은 '디렉터/기획자'가 가진 시야이자 역량. 역으로, 좋은 기획자를 증명하기 위한 방법으로 '기획한 게임의 가치 검증'을 맡겨보는 것이 좋은 테스트가 될 수 있을 것으로 기대. 우선순위로 놓은 2~3가지를 직접 테스트해보고, 객관적인 데이터를 토대로 평가할 수 있다.
검증할 필요가 없는 가치들을 걷어낼 수 있다. (비용을 낭비할 필요가 없어요)
가치가 장소/시간/게임 컨텍스트에 종속 적일 수 있다. - '페르소나 맵' 유저가 플레이 하게 되는 전후 상황을 머리 속에 그리고, 그 상황에서 가설을 테스트 해 본다. 혹은 실제 유저를 가정할 전후 상황(장소, 시간, 게임 컨텍스트 등)에 있는 것처럼 매핑하여 테스트를 진행한다. (*2015.1.9 추가)








