기본 콘텐츠로 건너뛰기

카노 모델과 피쳐 크리프(Feature creep)

피쳐 크리프라는 말이 있다.

자세한 것은 위키피디아에게 물어보라.

Feature creep is the proliferation of features in a product such as computer software. Extra features go beyond the basic function of the product and so can ...


구글신에게 물어봐도 무슨 예기인지 아주 친절하게 알려주는 수많은 웹페이지를 볼 수 있다. 그만큼 아주 유명한 단어 중 하나이다.

결론적으로 말하면 피쳐 크리프란 개발 중 이런 저런 이유로 원래 계획과 상관 없이 덕지 덕지 붙게 되는 기능들을 말한다.

이러한 경우를 우리는 주변에서 아주 쉽게 경험할 수 있다.

그리고 그러한 경우 대부분 공통적으로 하는 말이 사용자를 위해서이다.

하지만 정작 개발과정에서 사용자의 의견이 반영되는 경우는 거의 없다.

테스터 뿐만 아니라 개발에 관련된 모든 사람들은 가장 최우선적으로 고려해야할 사람은 사용자이다.

하지만 개발 과정에서 사용자와 접촉할 수 있는 기회는 매우 제한적이다. 그리고 그러한 정보의 공유 역시 매우 제한적인 것이 현실이다.

마케팅 부서 또는 UX 관련 부서에서 진행 된 사용자 조사를 우리는 얼마나 신뢰할 수 있을까?

사용자로부터 데이터를 얻어내는 방법은 무수히 많은 방법들이 있다.

그중에서 이번에는 카노 모델이라는 것에 대해 소개해 보고자 한다.

카노 모델이라 하면

2009년 3월 31일 ... 카노 모델은 각종 소비자 조사 방법과 연구를 통해 얻어진 '소비자의 목소리'(Voice of Consumer)를 분석하는 틀로 이용된다. ...


을 참고해 보시기 바란다.

사실 카노 모델은 매우 유명한 모델 중 하나로 구글신에게 물어보시면 매우 많은 정보를 얻을 수 있다.

테스팅의 우선순위를 정하기 위한 리스크 분석 이전에 이러한 모델을 통하여 기능의 우선 순위를 먼저 정한다면 개발 뿐만 아니라 테스팅에 있어서 리소스의 낭비를 줄일 수 있다.

카노 모델에서는 기능을 필수 기능, 선형 기능 그리고 감동을 주는 기능으로 구분한다.

대부분의 경우 이러한 기능 구분을 기획자의 직관이나 어설픈 설문 조사 등으로 대체되는 경우가 많지만 중요한 것은 사용자로부터 직접 이러한 데이터를 받아내야 한다는 것이다.

솔직히 사용자가 만족하는 제품의 개발은 돈이 많이 들어간다..

필수 기능은 말 그래도 필수 적으로 필요한 기능들이다. 선형 기능은 다다익선인 기능들을 말한다. 즉 품질이 나아질 수록 고객 만족도도 증가하는 기능들이다. 감동을 주는 기능들은 있어도 그만 없어도 그만이라고 할 수 있다. 하지만 있다면 고객으로부터 돈을 더 받아 낼 수 있는 기능들이다. 감동을 주는 기능들은 고객이 직접 확인 하기 전까지는 그런 기능들이 자신에게 필요한지 확신을 하지 못하기 때문에 미지의 수요라고도 한다.

예를 들면, 최근 스마트폰이 각광을 받으면서 뜨거운 감자로 올라온 것이 일반 기능폰에 와이파이가 있는가? 없는가? 이다.

지금으로서는 와이파이는 감동을 주는 기능이다. 와이파이가 있다면 일부 얼리어답터나 누군가는 감동을 받고 손전화를 질러버릴 것이다. 하지만 얼마 지나지 않아 시장이 변한다면 와이파이는 선형 기능을 될 것이다. 와이파이가 있는 모델은 시장에서 더 많은 점유율을 차지할 것이다. 그렇게 시간이 지나고 나면 언젠가는 와이파이는 필수 기능이 될 것이고 와이파이가 없는 손전화는 도태될 것이다.

그럼 이러한 기능들을 사용자로부터 어떻게 얻어낼 수 있을까?

카노는 두가지 질문을 통해 결정하는 방법을 제안하였다.

첫번째 질문은 해당 기능이 존재하여 기분이 어떻겠는가? 이고 두번째 질문은 없다면 어떤 기분이겠는가?를 묻는 것이다.

그리고 각각의 질문에 1부터 5까지 점수를 매기도록 한다.

1점은 만족한다
2점은 그럴거라고 예상했다.
3점은 잘 모르겠다.
4점은 그렇더라도 쓸 수는 있다.
5점은 그렇게 되면 불만이다

라는 식으로 정의를 내린다.

이렇게 되면 사용자가 내릴 수 있는 답변의 수는 25가지가 된다.

그렇다면 각각의 답변에 따라 기능을 결정할 수 있는 표를 생각해 보자.

   없다면    
   만족예상
중립
감내
불만족
 존재한다면 만족
 재검토
감동감동감동
선형
  예상 역기능무관심무관심
무관심
필수
  중립 역기능무관심무관심무관심필수
  감내 역기능무관심무관심
무관심
필수
  불만족 역기능역기능
역기능
역기능
재검토

예를 들어 당신이 지금 일종의 퍼즐 게임을 만든다고 가정해 보자.

만약 난이도에 대한 기능에 대해 카노 모델을 통해 사용자 조사를 위해 설문지를 돌린다면

난이도라고 커다란 질문을 던진다면 사용자로부터 정확한 답변을 얻기 힘들 수 있다.

사용자에게 전달할 질문은 적당한 숫자여야 하지만(너무 많으면 설문 응답이 저조해진다.) 너무 적은 질문은 기능의 단위를 너무 커지게 해서 나중에 분석에 어려움이 있다.

난이도를 상, 중, 하로 구분해서 질문을 만들어 보자.

컴퓨터와 낮은 난이도 게임을 할 수 있다면?
컴퓨터와 난은 난이도 게임을 할 수 없다면?

이런 식으로 하나의 기능에 세트로 된 질문지를 작성하면 된다.

위와 같은 질문에 만약 사용자가

낮은 난이도 게임을 할 수 있다는 것에 예상을
낮은 난이도 게임을 할 수 없다는 것에 불만족을 선택한다면

낮은 난이도 게임은 필수 기능이 되는 것이다.

그런데 수많은 사용자(대략 30~40명 정도면 적당하다고 볼 수 있다. 하지만 고객이 누구냐에 따라서 설문 응답자는 적절하게 조절하면 된다. 설문 응답자 수보다 중요한 것은 고객을 누구로 정의하냐는 문제이다.)에게 응답을 받게 되면 같은 기능에 대해 2가지 응답이 나올 수도 있다.

예를 들어 높은 난이도 게임에 대해 무관심과 필수 기능 2가지가 나올 수도 있다. 이런 경우는 어떻게 해석할 수 있을까? 각각의 답변군에 대해 다시 한번 분석해 본다면 사용자 부류에 따라 구분되기도 한다.

즉, 데이터를 수집하는 것보다 해석하는 것에 좀 더 주의를 기울여야 하고 그보다는 사전에 설문에 대하 사용자 부류의 선정에 더 신중해야 한다.

무관심은 말 그대로 사용자가 그다지 관심이 없는 기능들이다. 피쳐 크리프를 통해 추가된 기능들은 대부분 무관심으로 분류되는 경향이 크다.

역기능이나 재검토가 사용자 의견으로 나오는 경우는 드물지만 그런 의견이 나온다면 역기능은 없애버려야 할 기능이고 재검토는 기능에 대해 사용자가 잘못 이해하고 있는 경우가 크기 때문에 기능을 다시 정의 내릴 필요가 있다.

카노 모델은 단순하고 간편하지만 사용자로부터 아주 의미 있는 데이터를 추출해 낼 수 있는 좋은 방법 중 하나이다. 하지만 간편하고 쉽다고 하더라도 사용자에 대한 이해와 정의가 부족하다면 이러한 데이터의 신뢰도는 급격히 떨어지게 된다.

사용자 조사는 사실 어떤 방법을 사용하더라도 신뢰도를 100% 얻는다는 것은 불가능하다. 그렇기 때문에 단 0.001%의 신뢰도라도 향상시킬 수 있도록 끊임없는 노력이 필요하다.

테스터 역시 회사의 직원이 아닌 사용자가 되기 위한 노력을 게을리 하지 말아야 한다. 테스터가 사용자의 눈을 잃어버리는 순간 그 테스터는 더 이상 테스터가 아니다.

우리 나라는 많은 경우 테스터의 기술이나 능력을 중요시 하는 경우가 많다. 그런것도 중요하지만 더 중요한 것은 테스터가 사용자의 입장을 얼마나 잘 대변해 주는가이다.

사용자와 접촉하고 사용자를 이해하고 사용자를 위한 노력을 게을리 하지 않는 테스터가 많아졌으면 하는 바램이다.

댓글

  1. trackback from: 카노 모델과 MMORPG
    카노 모델(Kano Model) 에서는 제품의 특성을 아래와 같이 3 가지로 나눈다.

    당연한 품질요소(Must-Be Quality Element) - 없으면 제품의 가치가 없는 것. 자동차의 핸들, 바퀴

    일차원적 품질요소(One-Dimensional Quality Element) - 충족되면 좋고, 없으면 불만이 생기는 품질 요소. 자동차의 연비, 승차감, 에어백

    매력적 품질요소(Attractive Quality Element) - 없어도...

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

AI 에이전트의 환각과 프롬프트 폭증을 막는 '컨텍스트 엔지니어링(Context Engineering)'과 아키텍처의 미래

AI 코딩 에이전트나 생성형 LLM을 소프트웨어 개발에 접목하는 시도가 늘어나면서, 엔지니어들이 마주하는 가장 큰 기술적 병목 중 하나는 바로 '컨텍스트(Context)'의 관리입니다. 저 역시 최근 AI와 바이브 코딩(Vibe Coding)을 활용해 여러 프로젝트를 진행하고 있는데, 하나의 대화창(세션)을 오래 켜둔 채 작업을 계속 이어가다 보면 AI가 초기 맥락을 잊어버리거나 이전에 지켜달라고 했던 제약조건을 놓치며 실수를 저지르는 경우를 자주 겪곤 합니다. 그래서 저는 목적별로 대화창을 명확하게 분리해서 작업하거나, 어느 정도 작업 단계가 진행되면 지금까지의 구현 내용과 의사결정을 요약 정리한 뒤 새 대화창에서 AI에게 이를 다시 학습시키는 방식으로 맥락을 관리하고 있습니다. 그렇다면 엔지니어링 아키텍처 차원에서는 이 문제를 어떻게 접근하고 있을까요? InfoQ의 발표 아티클 "Architecture / Context Engineering"에서는 바로 이 지점, 즉 단순한 프롬프트 엔지니어링을 넘어 시스템 아키텍처 수준에서 컨텍스트를 제어하는 '컨텍스트 엔지니어링(Context Engineering)'의 필요성과 구체적인 프레임워크를 다루고 있습니다. (출처: InfoQ - Architecture / Context Engineering) https://www.infoq.com/presentations/architecture-context-engineering/ 발표자들은 코딩 에이전트나 자율형 에이전트가 현장에서 실패하는 가장 큰 이유로 '비대해진 컨텍스트 윈도우(Bloated Context Windows)'와 무분별하게 채워진 프롬프트(Stuffed Prompts)를 꼽습니다. AI에게 너무 많은 정보를 한 번에 주면, 모델의 주의력(Attention)이 분산되거나 논리적 우선순위를 놓치는 현상이 발생합니다. 마치 인간 엔지니어에게 백과사전 수십 권을 던져주고 "이거 다 읽고 10초 ...

AI의 UX, 단 5개 문항으로 측정하는 방법: SUXAI

테스트 관리에는 아주 유명한 명언이 있습니다. 어쩌면 이 말은 테스트 관리에서만 유용한 얘기는 아닐거고.. 어쩌면 여러분도 다른 곳에서 들었을 수도 있습니다. "측정할 수 없으면 개선할 수 없다" 지난 글(https://murianwind.blogspot.com/2026/07/ai_01010698011.html)에서 생성형 AI 시대에는 기존의 일반적인 사용성 지표(SUS 등)만으로는 부족하며 정확성, 신뢰성, 설명 가능성, 제어 가능성이라는 AI 에 특화된 품질 특성이 필요하다고 정리해 드린 바 있습니다. 하지만 실무자의 입장에서 항상 부딪히는 현실적인 고민이 있습니다. "이론은 좋은데, 당장 매주 업데이트되는 AI 기능의 UX를 바쁜 현장에서 어떻게 빠르고 정량적으로 측정할 것인가?"라는 점이죠. MeasuringU에서 이에 대한 명확하고 실용적인 해답을 제시하는 후속 아티클을 공개했습니다. 바로 "Streamlined Measurement of the UX of AI"입니다. (출처: MeasuringU - Streamlined Measurement of the UX of AI / Jeff Sauro, PhD & Jim Lewis, PhD) https://measuringu.com/streamlined-measurement-of-the-ux-of-ai/ Jeff Sauro와 Jim Lewis 박사는 실무 연구자들과 테스터들이 긴 설문이나 복잡한 프레임워크 없이도 AI 제품의 핵심 품질을 빠르게 측정할 수 있도록 SUXAI(Streamlined UX of AI)라는 간소화된 측정 모델을 구축했습니다. 기존에 수많은 문항으로 분산되어 있던 지표들을 통계적 요인 분석을 통해 쥐어짜고 압축하여, 핵심적인 5가지 5점 척 문항 으로 표준화했습니다. SUXAI를 구성하는 5가지 핵심 평가 문항 정확성 (Accuracy): "이 AI가 생성한 결과물은 정확하다." 신뢰성 (Trust/Re...

'자동화 편향'과 '대중적 불신' 을 고려한 AI 테스팅 시나리오 설계

최근 생성형 AI나 자율주행, 에이전트 기술의 테스팅 시나리오를 작성할 때 우리가 당연하게 전제(Assumption)로 깔고 가는 중요한 인간 행동 방식이 하나 있습니다. 바로 '자동화 편향성(Automation Bias)'입니다. 인간은 시스템이 자동화되고 스마트해질수록 기술을 과도하게 신뢰하고 주의력을 놓아버립니다. 차량을 운전하면서 운전자 보조 시스템을 켜고 전방 주시를 태만히 하고 스마트폰을 보거나 영상을 시청하는 운전자라던지 AI 의료 진단 보조 도구가 내놓은 결과를 의사가 깊은 의심 없이 그대로 승인해 버리는 현상이라던지 AI 챗봇이 추천한 잘못된 정보를 사용자가 사실로 믿고 행동하는 케이스 같은 게 있을 겁니다. 우리는 항상 이러한 "사람들이 AI를 너무 믿어서 발생하는 위험"을 핵심 리스크로 정의하고, 이를 검증하기 위한 안전장치(Safety Guardrail)나 경고 알림, 오용 방지(Misuse) 테스팅 시나리오를 도출해 왔습니다. 그런데 최근 Gizmodo에 보도된 미국 설문조사 결과는 매우 흥미로운 사실을 보여줍니다. (출처: Gizmodo - Survey Finds Americans See AI as Comparable to Humans—It’s Making Them Trust It Less )   기사에서 언급된 설문조사의 결과는 AI가 사람을 닮아갈수록 완벽함에 대한 기대와 실수가 충돌하고 책임이 모호해져 대중의 신뢰는 오히려 떨어진다는 것이었습니다.  자세히 살펴보면 해당 조사는 일반 대중을 대상으로 AI에 대한 인지적 반응을 측정했습니다. AI가 인간과 유사한 대화/추론 능력을 보일 때 유저가 느끼는 '인지적 불쾌한 골짜기(Uncanny Valley)' 현상을 정량 지표로 포착해 냈다는 점에서 의미가 있다고 생각합니다. 단순히 "AI가 좋다/나쁘다"를 넘어, 의인화(Anthropomorphism)의 수준과 신뢰도(Trust) 사이의 음(-)의 상관관계를 입증했기 때문...