좋은 기능을 만드는 방법
서비스를 성공적으로 만드는 방법 PART2
1970년 제트 전투기의 

가장 중요한 요소
속도
F-16 팰콘의 초기 속도 스펙은
마하 2 ~ 2.5
해리 힐레이커는 그 스펙이
왜
필요한지 물었고
미공군은
회피 능력
때문이라고 답했다.
해리 힐레이커는 속도보다
회피 능력에 직접적 영향을 주는
민첩성을 높이는 데 집중한다
역사상 가장 성공한 전투기
F-16 팰콘
이 사례를 통해 알 수 있는 사실
문제를 이해하는 과정
몇몇 사람에 의해 정해져 전달되는 기능 스펙
문제에 대한 정확한 이해 없이 개발에 착수
특정 기능 개발에 직접적 관계가 있는 크루
그런 사람이 배제돼 결정되는 해결책
해결해야 할 문제를 정확히 

이해하는 것
개발에 직접적 관계가 있는 모두가 

문제를 함께 분석하고 이해해야 한다
다양한 시각을 통해 문제를 분석해야 

정확한 원인을 찾을 수 있다
우리는 항상 문제를 분석하고 

이해하는 것부터 시작해야 한다
좋은 기능을 만들기 위한 첫 번째 핵심
각자 살아온 인생과 전문적 지식이 다른 사람들이 직책을 지우고

한 사람의 사용자로서 문제에 대한 해결책을 논의
크루 구성원과 함께 해결책 논의
다양한 시각을 통해 해결책을 논의하면 보다 창의적이고
효과적인 해결책을 만들어 낼 수 있다
좋은 기능을 만들기 위한 두 번째 핵심
제시된 해결책을 문제에 대입해 정말 효과적인지 객관적 평가 가능
크루 구성 문제 분석 및 이해 해결책 논의 프로토타이핑
기획자/실무자 등이 시스템 개선이나 필요한 기능에 대한
안건을 발의하고 개발에 필요한 담당자를 모아 크루를 구성한다.
해결책 평가회고 개발 착수서비스 적용 데모
개선
★세미
크루 구성 문제 분석 및 이해 해결책 논의
안건 발의자가 개선 및 기능 추가가 왜 필요한지 소개하고
본질적으로 해결해야 하는 문제와 이루고자 하는
목표가 무엇인지 함께 분석 및 이해한다.
회고 개발 착수데모 해결책 평가서비스 적용
프로토타이핑
개선
★세미
해결책 논의
이해한 문제와 목표를 바탕으로 구성원 각각 해결책을 제안하고
보다 효율적인 아이디어 몇 가지를 간추려 정리한다.
회고 개발 착수데모
크루 구성 문제 분석 및 이해
해결책 평가서비스 적용
프로토타이핑
개선
★세미
해결책 논의 프로토타이핑
필요에 따라 디자인 및 동작하는 기능으로 프로토타이핑한다.
회고 개발 착수데모
크루 구성 문제 분석 및 이해
해결책 평가서비스 적용
개선
★세미
해결책 논의 프로토타이핑
프로토타이핑 결과물을 함께 살펴보면서 현재 해결하고자 하는
문제에 대입하여 객관적으로 평가하고 효율성을 판단한다.
긍정적으로 판단되면 개발에 착수하고 부정적으로 판단되면
해결책 논의 단계로 돌아간다.
해결책 평가회고 개발 착수데모
크루 구성 문제 분석 및 이해
서비스 적용
개선
★세미
해결책 논의
필요한 일정을 산정하고 사용자 스토리를 함께
작성한 후 개발을 진행한다.
회고 개발 착수데모
프로토타이핑크루 구성 문제 분석 및 이해
서비스 적용 해결책 평가
개선
★세미
해결책 논의
개발이 어느 정도 완료되면 간단한 데모를 진행한다.
회고 데모 개발 착수
기존 크루 외에 필요에 따라 QA, CR 팀 등의 사람과 함께
또 다른 관점에서 기능을 살펴볼 수 있도록 한다.
프로토타이핑크루 구성 문제 분석 및 이해
서비스 적용 해결책 평가
개선
★세미
해결책 논의
개발된 기능을 가까운 배포 일정에 포함해 서비스에 적용한다.
회고 서비스 적용 개발 착수데모
프로토타이핑크루 구성 문제 분석 및 이해
해결책 평가
개선
★세미
해결책 논의
회고
서비스 적용 후 지표와 사용자 피드백을 근거로 해결책을 평가하고
부정적이라면 각 단계 중 실패한 요인이 무엇인지 회고한다.
개발 착수데모
프로토타이핑크루 구성 문제 분석 및 이해
서비스 적용 해결책 평가
개선
★세미
사례 공유
에피소드 리스트
SHORTCUT
문제 정의
무슨 문제를 해결하기 위해 이 기능을 

요구하는 거지?
요구하는 스펙을 수동적으로 구현하면 그만! 하지만
문제에 대한 명확한 이해 없이 과연 개발을 잘해낼 수 있을까?
마지막에 본 에피소드로 스크롤을 자동 이동
시켜주세요.
현재 해결하고자 하는 문제가 무엇인가요?
설명해주실 수 있을까요?
무슨 문제를 해결하기 위해 이 기능을 

요구하는 거지?
마지막에 본 에피소드로 스크롤을 자동 이동
시켜주세요.
얼마 전 사용성 테스트를

했는데요.
에피소드 목록이 최근일순
으로 정렬돼 있어
사용자들이 하단에 무료 

에피소드가있다는사실을 

모르더라고요.
네
그래서 무료 에피소드가
있 다 는 사 실 을 알 수 

있도록 기본 정렬 방식을
등록일순으로 변경하려고
해요.
아하.
그런데 정렬 순서를 변경
했을 때 또 다른 문제가
발생해요.
그게 무슨 문제죠?
정렬변경 기능이 있지 

않아요?
맞아요.하지만지표상으로
사용자는 이 기능을 거의
쓰지 않더라고요.
새로운 사용자에겐 상관

없지만 기존 사용자는
최신화를보기위해스크롤을
하단까지 해야 하는 거죠
흠, 그렇군요.
네, 맞아요. 스크롤하는
불 편 함 을 무 시 할 수
없으니까요.
쉽게 말해 최신화를 보기
위해 하단으로 스크롤을
한참 해야 하는 불편함을
제거하고 싶은 거군요?
에피소드 목록이 최근일순으로 정렬돼 있어
무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
에피소드 목록이 최근일순으로 정렬돼 있어
무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
기본 정렬 방식을 최근일순에서 등록일순으로 변경해 대응
기본 정렬 방식을 최근일순에서 등록일순으로 변경해 대응
등록일순으로 변경했을 때 기존 사용자는 과거에 보던 화 또는
최신화를 보기 위해 하단으로 오랫동안 스크롤 해야 함
에피소드 목록이 최근일순으로 정렬돼 있어
무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
기본 정렬 방식을 최근일순에서 등록일순으로 변경해 대응
최신화를 보기 위해 하단으로 오랫동안 스크롤 

해야하는 불편함을 제거 해야 한다.
등록일순으로 변경했을 때 기존 사용자는 과거에 보던 화 또는
최신화를 보기 위해 하단으로 오랫동안 스크롤 해야 함
에피소드 목록이 최근일순으로 정렬돼 있어
무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
첫 번째 프로토타입
처음 말씀하신 대로 스크롤 위치를 자동으로
조정하면 이 문제를 해결할 수 있어 보여요.
일단 이 해결책을 프로토타이핑해보고
결과물을 함께 보면서 이야기하시죠.
그런가요? 매끄럽지 않다는 말이 무슨 뜻인진
모르겠지만…
하지만, 상상하신 대로 매끄럽게 동작하진 

않을 거 에요.
첫 번째 해결책 평가
https://www.youtube.com/watch?v=qXwoew3bvKw
아… 말씀하셨던 매끄럽지 못하다는 것이

무엇을 뜻하는 줄 알겠어요. 화면 상단이 보인
다음에 특정 에피소드로 옮겨지는군요.
흠, 뭔가 다른 해결책은 없을까요?
네, 웹은 페이지를 모두 불러온 다음에 어떤 조작을
할 수 있어서 끊기는 느낌이 들 수 있어요.
두 번째 프로토타입
특정 에피소드로 점프할 수 있는 부가 기능이요?
네, 스크롤을 하지 않고도 원하는 에피소드로
빠르게 이동할 수 있는 그런 기능이요.
문제를 이해하고 있다면 다양한 관점에서 해결책을 논의할 수 있다.
이렇게 해보는 건 어떨까요? 사용자가 스크롤을
하는 게 귀찮다면 특정 에피소드로 점프할 수 있는
부가 기능을 제공하는 거예요.
아 대략 어떤 느낌인지는 알겠어요.

프로토타이핑 해주실 수 있으세요?
네, 바로 작업해보겠습니다.
두 번째 해결책 평가
https://www.youtube.com/watch?v=46RmZKLlWi0
우와, 뭔가 재미있는 기능이네요. 하지만…
하지만?
이 기능이 현재의 문제를 본질적으로 해결해

줄 수 있는지 생각해 봐야 할 거 같아요.
우리가 해결해야 할 문제는 최신화를 보기 위해

스크롤을 해야 하는 귀찮음을 제거하는 것인데요.
이 기능은 확실히 귀찮음을 낮추는 효과는 있어
보이지만 실질적으로 제거하는 형태는 아닌 거
같아요.
확실히 그렇군요. 치료제가 아니라 진통제
느낌이네요.
문제를 이해하고 있다면 해결책을 객관적으로 평가할 수 있다.
최종 해결책
아, 이렇게 해보면 어떨까요?
오, 무슨 좋은 생각이 떠오르셨나 보군요.
스크롤을 제거하는 게 목적이라면 아예 스크롤을
안 해도 되도록 만들어주면 되잖아요?
그야 당연히 그렇죠?
그렇다면 상단 영역에 다음에 볼 에피소드를
안내해 주는 거예요.
사용자는 이 기능을 사용해 다음에 볼 에피소드로
바로 진입할 수 있는 거죠.
뭔가 느낌이 좋아요. 디자인만 한번 진행

해보도록 하죠.
아, 그거 좋네요! 이 방법은 개발도 쉬워요.
그 과정 속에서 탄생한 에피소드 숏컷 기능
문제를 분석하고 다양한 관점에서 해결책을 논의,
제시된 해결책을 객관적으로 평가하는 하나의 사이클
이 사이클을 토대로 창의적이고 효과적인
해결책을 도출해 낼 수 있다.
그저 나만의 생각 이었을까?
제이크 냅(Jake Knapp)의 

스프린트
아이디어스케치부터프로토타입
테스트 까지 단 5일만에 중요한
문제를 해결할 수 있는 스프린트
네이버 김태훈님의 강력 추천 도서
준비
월요일
수요일
목요일
금요일
과제 선택, 팀 구성
목표 분석 및 설정
해결책 논의 및 검토
해결책 비판 및 정제
프로토타입 구현
프로토타입 시연
화요일
이 프로세스가 모든 개발에 적합하다고 생각하지 않는다.
우리는 다양한 프로세스를 준비하고 개발 성격에 따라
적합한 프로세스를 선택할 수 있어야 한다.
끝으로…
감사합니다.

좋은 기능을 만드는 방법

  • 1.
    좋은 기능을 만드는방법 서비스를 성공적으로 만드는 방법 PART2
  • 2.
    1970년 제트 전투기의
 가장 중요한 요소 속도 F-16 팰콘의 초기 속도 스펙은 마하 2 ~ 2.5
  • 3.
    해리 힐레이커는 그스펙이 왜 필요한지 물었고 미공군은 회피 능력 때문이라고 답했다.
  • 4.
    해리 힐레이커는 속도보다 회피능력에 직접적 영향을 주는 민첩성을 높이는 데 집중한다
  • 5.
    역사상 가장 성공한전투기 F-16 팰콘 이 사례를 통해 알 수 있는 사실 문제를 이해하는 과정
  • 7.
    몇몇 사람에 의해정해져 전달되는 기능 스펙 문제에 대한 정확한 이해 없이 개발에 착수 특정 기능 개발에 직접적 관계가 있는 크루 그런 사람이 배제돼 결정되는 해결책
  • 8.
    해결해야 할 문제를정확히 
 이해하는 것 개발에 직접적 관계가 있는 모두가 
 문제를 함께 분석하고 이해해야 한다 다양한 시각을 통해 문제를 분석해야 
 정확한 원인을 찾을 수 있다 우리는 항상 문제를 분석하고 
 이해하는 것부터 시작해야 한다 좋은 기능을 만들기 위한 첫 번째 핵심
  • 9.
    각자 살아온 인생과전문적 지식이 다른 사람들이 직책을 지우고
 한 사람의 사용자로서 문제에 대한 해결책을 논의 크루 구성원과 함께 해결책 논의 다양한 시각을 통해 해결책을 논의하면 보다 창의적이고 효과적인 해결책을 만들어 낼 수 있다 좋은 기능을 만들기 위한 두 번째 핵심 제시된 해결책을 문제에 대입해 정말 효과적인지 객관적 평가 가능
  • 11.
    크루 구성 문제분석 및 이해 해결책 논의 프로토타이핑 기획자/실무자 등이 시스템 개선이나 필요한 기능에 대한 안건을 발의하고 개발에 필요한 담당자를 모아 크루를 구성한다. 해결책 평가회고 개발 착수서비스 적용 데모 개선 ★세미
  • 12.
    크루 구성 문제분석 및 이해 해결책 논의 안건 발의자가 개선 및 기능 추가가 왜 필요한지 소개하고 본질적으로 해결해야 하는 문제와 이루고자 하는 목표가 무엇인지 함께 분석 및 이해한다. 회고 개발 착수데모 해결책 평가서비스 적용 프로토타이핑 개선 ★세미
  • 13.
    해결책 논의 이해한 문제와목표를 바탕으로 구성원 각각 해결책을 제안하고 보다 효율적인 아이디어 몇 가지를 간추려 정리한다. 회고 개발 착수데모 크루 구성 문제 분석 및 이해 해결책 평가서비스 적용 프로토타이핑 개선 ★세미
  • 14.
    해결책 논의 프로토타이핑 필요에따라 디자인 및 동작하는 기능으로 프로토타이핑한다. 회고 개발 착수데모 크루 구성 문제 분석 및 이해 해결책 평가서비스 적용 개선 ★세미
  • 15.
    해결책 논의 프로토타이핑 프로토타이핑결과물을 함께 살펴보면서 현재 해결하고자 하는 문제에 대입하여 객관적으로 평가하고 효율성을 판단한다. 긍정적으로 판단되면 개발에 착수하고 부정적으로 판단되면 해결책 논의 단계로 돌아간다. 해결책 평가회고 개발 착수데모 크루 구성 문제 분석 및 이해 서비스 적용 개선 ★세미
  • 16.
    해결책 논의 필요한 일정을산정하고 사용자 스토리를 함께 작성한 후 개발을 진행한다. 회고 개발 착수데모 프로토타이핑크루 구성 문제 분석 및 이해 서비스 적용 해결책 평가 개선 ★세미
  • 17.
    해결책 논의 개발이 어느정도 완료되면 간단한 데모를 진행한다. 회고 데모 개발 착수 기존 크루 외에 필요에 따라 QA, CR 팀 등의 사람과 함께 또 다른 관점에서 기능을 살펴볼 수 있도록 한다. 프로토타이핑크루 구성 문제 분석 및 이해 서비스 적용 해결책 평가 개선 ★세미
  • 18.
    해결책 논의 개발된 기능을가까운 배포 일정에 포함해 서비스에 적용한다. 회고 서비스 적용 개발 착수데모 프로토타이핑크루 구성 문제 분석 및 이해 해결책 평가 개선 ★세미
  • 19.
    해결책 논의 회고 서비스 적용후 지표와 사용자 피드백을 근거로 해결책을 평가하고 부정적이라면 각 단계 중 실패한 요인이 무엇인지 회고한다. 개발 착수데모 프로토타이핑크루 구성 문제 분석 및 이해 서비스 적용 해결책 평가 개선 ★세미
  • 20.
  • 21.
  • 22.
    무슨 문제를 해결하기위해 이 기능을 
 요구하는 거지? 요구하는 스펙을 수동적으로 구현하면 그만! 하지만 문제에 대한 명확한 이해 없이 과연 개발을 잘해낼 수 있을까? 마지막에 본 에피소드로 스크롤을 자동 이동 시켜주세요.
  • 23.
    현재 해결하고자 하는문제가 무엇인가요? 설명해주실 수 있을까요? 무슨 문제를 해결하기 위해 이 기능을 
 요구하는 거지? 마지막에 본 에피소드로 스크롤을 자동 이동 시켜주세요.
  • 24.
    얼마 전 사용성테스트를
 했는데요. 에피소드 목록이 최근일순 으로 정렬돼 있어 사용자들이 하단에 무료 
 에피소드가있다는사실을 
 모르더라고요. 네
  • 25.
    그래서 무료 에피소드가 있다 는 사 실 을 알 수 
 있도록 기본 정렬 방식을 등록일순으로 변경하려고 해요. 아하. 그런데 정렬 순서를 변경 했을 때 또 다른 문제가 발생해요.
  • 26.
    그게 무슨 문제죠? 정렬변경기능이 있지 
 않아요? 맞아요.하지만지표상으로 사용자는 이 기능을 거의 쓰지 않더라고요. 새로운 사용자에겐 상관
 없지만 기존 사용자는 최신화를보기위해스크롤을 하단까지 해야 하는 거죠
  • 27.
    흠, 그렇군요. 네, 맞아요.스크롤하는 불 편 함 을 무 시 할 수 없으니까요. 쉽게 말해 최신화를 보기 위해 하단으로 스크롤을 한참 해야 하는 불편함을 제거하고 싶은 거군요?
  • 28.
    에피소드 목록이 최근일순으로정렬돼 있어 무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
  • 29.
    에피소드 목록이 최근일순으로정렬돼 있어 무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단 기본 정렬 방식을 최근일순에서 등록일순으로 변경해 대응
  • 30.
    기본 정렬 방식을최근일순에서 등록일순으로 변경해 대응 등록일순으로 변경했을 때 기존 사용자는 과거에 보던 화 또는 최신화를 보기 위해 하단으로 오랫동안 스크롤 해야 함 에피소드 목록이 최근일순으로 정렬돼 있어 무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
  • 31.
    기본 정렬 방식을최근일순에서 등록일순으로 변경해 대응 최신화를 보기 위해 하단으로 오랫동안 스크롤 
 해야하는 불편함을 제거 해야 한다. 등록일순으로 변경했을 때 기존 사용자는 과거에 보던 화 또는 최신화를 보기 위해 하단으로 오랫동안 스크롤 해야 함 에피소드 목록이 최근일순으로 정렬돼 있어 무료 에피소드가 있다는 사실을 사용자가 인지하지 못한다고 판단
  • 32.
  • 33.
    처음 말씀하신 대로스크롤 위치를 자동으로 조정하면 이 문제를 해결할 수 있어 보여요. 일단 이 해결책을 프로토타이핑해보고 결과물을 함께 보면서 이야기하시죠. 그런가요? 매끄럽지 않다는 말이 무슨 뜻인진 모르겠지만… 하지만, 상상하신 대로 매끄럽게 동작하진 
 않을 거 에요.
  • 34.
  • 35.
  • 36.
    아… 말씀하셨던 매끄럽지못하다는 것이
 무엇을 뜻하는 줄 알겠어요. 화면 상단이 보인 다음에 특정 에피소드로 옮겨지는군요. 흠, 뭔가 다른 해결책은 없을까요? 네, 웹은 페이지를 모두 불러온 다음에 어떤 조작을 할 수 있어서 끊기는 느낌이 들 수 있어요.
  • 37.
  • 38.
    특정 에피소드로 점프할수 있는 부가 기능이요? 네, 스크롤을 하지 않고도 원하는 에피소드로 빠르게 이동할 수 있는 그런 기능이요. 문제를 이해하고 있다면 다양한 관점에서 해결책을 논의할 수 있다. 이렇게 해보는 건 어떨까요? 사용자가 스크롤을 하는 게 귀찮다면 특정 에피소드로 점프할 수 있는 부가 기능을 제공하는 거예요.
  • 39.
    아 대략 어떤느낌인지는 알겠어요.
 프로토타이핑 해주실 수 있으세요? 네, 바로 작업해보겠습니다.
  • 40.
  • 41.
  • 42.
    우와, 뭔가 재미있는기능이네요. 하지만… 하지만? 이 기능이 현재의 문제를 본질적으로 해결해
 줄 수 있는지 생각해 봐야 할 거 같아요.
  • 43.
    우리가 해결해야 할문제는 최신화를 보기 위해
 스크롤을 해야 하는 귀찮음을 제거하는 것인데요. 이 기능은 확실히 귀찮음을 낮추는 효과는 있어 보이지만 실질적으로 제거하는 형태는 아닌 거 같아요. 확실히 그렇군요. 치료제가 아니라 진통제 느낌이네요. 문제를 이해하고 있다면 해결책을 객관적으로 평가할 수 있다.
  • 44.
  • 45.
    아, 이렇게 해보면어떨까요? 오, 무슨 좋은 생각이 떠오르셨나 보군요. 스크롤을 제거하는 게 목적이라면 아예 스크롤을 안 해도 되도록 만들어주면 되잖아요? 그야 당연히 그렇죠?
  • 46.
    그렇다면 상단 영역에다음에 볼 에피소드를 안내해 주는 거예요. 사용자는 이 기능을 사용해 다음에 볼 에피소드로 바로 진입할 수 있는 거죠. 뭔가 느낌이 좋아요. 디자인만 한번 진행
 해보도록 하죠. 아, 그거 좋네요! 이 방법은 개발도 쉬워요.
  • 48.
    그 과정 속에서탄생한 에피소드 숏컷 기능 문제를 분석하고 다양한 관점에서 해결책을 논의, 제시된 해결책을 객관적으로 평가하는 하나의 사이클 이 사이클을 토대로 창의적이고 효과적인 해결책을 도출해 낼 수 있다.
  • 49.
  • 50.
    제이크 냅(Jake Knapp)의
 스프린트 아이디어스케치부터프로토타입 테스트 까지 단 5일만에 중요한 문제를 해결할 수 있는 스프린트 네이버 김태훈님의 강력 추천 도서
  • 51.
    준비 월요일 수요일 목요일 금요일 과제 선택, 팀구성 목표 분석 및 설정 해결책 논의 및 검토 해결책 비판 및 정제 프로토타입 구현 프로토타입 시연 화요일
  • 52.
    이 프로세스가 모든개발에 적합하다고 생각하지 않는다. 우리는 다양한 프로세스를 준비하고 개발 성격에 따라 적합한 프로세스를 선택할 수 있어야 한다. 끝으로…
  • 53.