유용성 오늘은 너다.
보통 우리가 어떤 디지털 시스템을 사용하는 것은 특정 ‘목적’ 으로 사용하는 경우가 많다.
(물론 시간 때우기 위한 타임 킬링용으로도 서비스를 많이 사용 하지만서도)
이처럼
사람들이 디지털 시스템을 효과적으로 사용하게끔 도와주는 것을 ‘유용성의 원리’ 라고 한다.
즉 사람들이 효과적으로 시스템을 사용하려면 어떤 구조를 가졌는지, 어떻게 작동 하는지는 이해해야 하는데 이 과정을 도와줄 거라는 거다.
오늘도 어김없이 예시를 들어 이야기를 풀어보려고 한다.
최근들어 나는 잦은 미팅 건으로 시간에 대한 정보가 자주 필요했고 핸드폰을 일일이 보지 않아도 알림문자 및 메일에 대한 정보를 쉽게 받아보길 원하고 있었다. 일단은 불편한대로 핸드폰을 자주 바라보며 시계 및 여러정보를 참고하고 있다. 여기서 문제와 문제공간 이라는 정의를 통해 문제 해결 과정이 무엇인지 알아보자.
-
문제 : 많은 미팅으로 시간 및 여러 정보를 얻기위해 수시로 핸드폰을 들쳐봐야 한다.
-
문제 해결 행위 : 손쉽게 정보를 얻고 인지할 수 있는 장비를 구비한다.
-
초기 상태 : 문제를 가진 상태
-
목표 상태 : 문제를 해결한 상태
-
문제 공간 : 초기상태에서 목표상태에 이르기까지의 과정에서 문제를 해결하는 모든 상태의 집합
-
문제 해결 과정 : 제한조건 (path constraint) 내에서 조작자 (operator)를 사용해 초기 상태에서 목표 상태로 가기 위한 문제 공간을 탐색하는 과정
이처럼 어떤 문제를 이해하는 것은 해당 문제 상황을 파악하는 것을 의미하며 인지과학에서는 이를 해당 문제에 대한 표상 (problem representation)을 구축하는 단계라고 한다. HCI에서는 결국 사용자의 문제 공간을 이해하는 것을 주 목적으로 하는 것이었다..
그래서 이에따라, (후에 더 자세히 다룰 큰 주제들이다)
- 사용자 분석은 사용자의 초기 상태를 분석
- 과업 분석은 사용자의 목표 상태를 분석
- 기술 분석은 기술적인 조작자에 대해 분석
- 맥락 분석은 환경적인 제한 조건을 분석
이제 문제에 대해 정의를 했다면 ‘해결’ 에 초점을 맞춰 생각해보자!
사람들이 가진 문제를 해결하기 위한 모든 제품이나 서비스의 집합을 ‘다지인 공간’ 이라 한다. 이러한 디자인 공간을 이해 한다는 것은 ‘개념적 모형 (conceptual model)’ 을 이용해 특정 제품 및 서비스를 이해하는 것이다.
결국 사용자가 가진 개념적 모형을 이해하여 이에 맞춘 유용한 시스템을 구현하는 것이 ‘해결’의 핵심인 것이다.
제한된 인지능력을 가진 사람은 복잡한 시스템과 환경을 이해하기 위해서는 이를 단순화한 표현물이 필요하다.
즉 사용자가 생각하는 시스템에 대한 모형을 가리켜 ‘심성모형 (mental model)’이라고 한다.
사용자가 적절한 심성모형을 구축하도록 하는 것은 사용자가 시스템과 유용한 상호작용을 하기 위한 중요한 전제조건인 것이다.
심성모형은 어떤 역할을 하는가?
1. 현상 묘사하기
한번도 사용하지 않은 시스템 설명에 유리
2. 이유 설명하기
시스템 작동과 관련된 인과 관계 설명 가능
3. 미래 예측하기
시스템 작동에 대한 미래 상태 예측 가능
심성모형의 특징은 무엇인가?
1. 주관적이라 사람마다 다른 심성모형을 가짐
-> 사용자의 목표 상태에 따라 적합한 심성모형 구축 필요
2. 동적인 표현으로 머릿속에서 가상으로 작동시켜 볼 수 있음
심성모형이 잘못 사용되면 무슨 일이?
잘못된 심성모형은 사소한 불편뿐만 아니라 자칫하면 큰 사고로 이어줄 수도 있다.
예를들면 항로 맵핑 소프트웨어인 경우 조작을 하는 사용자는 해당 시스템을 올바르고 안전하게 작동하도록 제대로된 심성모형을 가지고 있어야 한다.
하다못해 핸드폰에서 거절/응답 버튼의 위치가 바뀌기만 해도 사용자가 가지고 있는 심성모형과 다르면 실수로 버튼을 잘못 누르기 마련이다.

아이폰의 거절/응답 버튼과 안드로이드의 응답/거절 버튼
심성모형을 추상화의 정도에 따라 나눠보기
갑자기 심성모형의 정의,역할,특성까지 보고.이제 심성모형의 추상화 정도까지 볼텐데. 왜 이것이 중요한지 잘 와닿지 않을 거다. 독자 여러분들은 사실 거의 잊고 계셨겠지만 필자가 앞에서 제시한 ‘문제’라는 것이 있었다. 다시한번 말하자면 내가 가진 문제는 복잡한 정보의 호수 속에서 손쉬운 정보습득이 필요하다는 것이었다. 그래서 이 문제를 해결하기 위한 디자인 공간을 그려보았고 이는 ‘스마트 워치’라는 기계장비의 필요성으로 결론이 났다. 그래서 이 스마트 워치에 적합한 심성모형을 그려보았다. 이와중에 심성모형이 구조,기능,가치 3가지로 나눠지고 이를 자세히 들여다 볼 예정이다.
구조모형 (structural model)
시스템이 구체적으로 어떤 세부 요소들로 구성되어 있는가 기재한 것이다. 물리적으로 모형화하기에 시각적으로 잘 보여져 추상화의 정도가 매우 낮은 상태를 얘기한다. 사용자가 이해하고 기억하기 쉽게 정확한 구조모형을 짜는 것이 매우 중요하다.

한 스마트 워치의 구조모형. 충전기, 워치, 케이스로 나눠져있다
기능모형 (functional model) = 작업행위모형 (task-action model)
사람들이 시스템을 어떻게 사용하는지에 초점맞춘 모형. 기능위주로 기재한 것이기 때문에 사용자들에게 알맞은 메뉴얼을 제공하고 자연스럽게 사용자에게 구축되도록 하는 것이 중요하다.

한 스마트 워치의 기능모형. 알림 리마인더 기능 모습을 모형화한 사진 중에 하나
가치모형 (value model)
사용자 입장에서 시스템이 자신에게 어떤 가치를 줄지 생각하는 심성모형으로 추상성이 높다. 어떤 문제를 해결할 수 있는지를 표시하는 지표이다. 사람들이 어떤 가치모형을 가지는지에 따라 서비스의 중요기능이나 구조가 달라질 것이다. 왜냐? 서비스는 사용자를 중심으로만들어지니까 ㅎ . 사람들에게 제품이나 서비스의 가치를 명확히 전달하는 것은 시스템의 유용성 측면에서 매우 중요하다.
[가치의 종류에 따른 분류]
- 기능적 가치 (functional value) : 실용적인 목적이나 필요로 시스템을 도구로 이용하는 가치. 쉽고 편리하게 달성되도록 만든다.
- 유희적 가치 (hedonistic value) : 제품이나 서비스의 소비로 사람들이 감성적인 만족 또는 즐거움을 느끼도록 한다. 게임 등이 해당된다.
- 개인적 가치 (personal value) : 사용자 자신의 개성과 특징을 부각시키고자 하는 가치이다.바탕화면 바꾸기 등이 해당된다.
- 사회적 가치 (social value) : 사회적 규범이나 다른 사람들의 기대에 부합하는 가치이다. 즉, 사회 집단에 도움이 된다는 등의 사회적 가치를 목표로하여 제품 및 서비스를 구현하는 것을 말한다.
- 금전적 가치 (monetary value) : 제품이나 서비스를 사용하고 느끼는 효용과 지불한 비용의 차이에서 오는 가치이다 . 금전적인 가치를 높이기 위해서는 합리적인 가격을 정해야 한다.
- 정언적 가치 (epistemic value) : 새로운 제품이나 서비스에 대해 호기심 욕구를 충족 시키는 가치이다. 얼리어답터들이 이런 가치를 좇는 거다.
- 조건적 가치 (conditional value) : 사용자가 꼭 필요한 장소와 시간에 원하는 제품이나 서비스를 사용하고자하는 욕구 충족하는 가치이다. 완전 니즈찾아서 해결하는 것이라 볼 수 있다.
- 복합적 가치 (complex value) : 보통 여러 개 이상의가치를 동시에 제공한다.
사용자의 관점에 따른 심성모형을 나눠보자!
사용자의 종류는 다양하다. 시스템 사용자는 일반 사람들이 될수도 있고, 시스템을 다루는 개발자가 될수도 있다. 그래서 개발자 측면에서, 일반 사람인 사용자 측면에서 나눠서 심성모형을 바라보는 것이 필요하다.
개발자 –> 개발자모형 –> 시스템 이미지 –> 사용자 모형 –> 사용자
- 개발자 모형 (designer model) : 시스템을 만드는 사람이 마음 속에 가진 시스템의 기능과 구조 및 가치에 대한 모형 -> 시스템 이미지에 반영되어 있음
- 시스템 이미지 (system image) : 사용자 인터페이스로 구현된 물리적인 모형. 어떤 기능이 있는지, 어떤 가치를 제공하는지 세세히 나와있다
개발자는 개발자 모형을 가지고 시스템을 이해하고 있고, 이는 시스템 이미지에 반영되어 있다. 사용자는 이렇게 개발자 모형이 반영된 시스템 이미지를 보고 간접적으로 시스템을 이해하고 정보를 습득한다. 이 과정에서 가장 이상적인 상황은 사용자가 시스템 이미지를 보고 개발자 모형을 잘 이해하는 것이다. 즉, 사용자 모형이 개발자 모형과 유사해지는 것이 이상적이다.

좌(사용자모형), 우(개발자모형) 같은 일을 하지만 처리하는 모형구조의 차이가 큼
이렇듯, 보통 개발자의 심성모형과 사용자의 심성모형이 꽤나 차이가 크다. 이를 실행차 (gulf of execution)과 평가차 (gulf of evaluation)라고 한다. 실행차는 사용자가 목표를 달성하기 위해 시스템을 실행하는 동안에 생기는 차이이고, 평가차는 사용자가 목표를 달성하기 위해 시스템을 실행한 후 나타난 결과에 대한 차이이다.

실행차와 평가차의 흐름. 이 차이를 줄이는 것이 유용성을 증가시킴

실행차와 평가차에 대한 시각화 ("How does the user know, what happened?" Both phrases are mentioned in Donald Norman's 1986 book "User Centered System Design: New Perspectives on HCI.")
이처럼 실행차와 평가차를 줄이기 위해 연결다리를 만들어 자연스럽게 차이를 줄여야 하는 연구들이 많이 행해졌다.
그러면서 나타난 것이 행위이론 7단계이다.

Norman의 행위이론 7단계
행위이론은 사용자가 특정 시스템을 이용해 추구하고자 하는 목적을 설정하는 단계라고 볼 수 있다. 유용한 상호작용을 하려면 시스템을 사용하는 목적이 명확해야한다. 사용자가 목적을 설정하는 단계를 제외하면 행위이론 7단계는 너무 길다. 좀 줄여보자. 그래야 개발자 심성모형과 사용자 심성모형이 유사해 질테니!
실행차를 효과적으로 하려면 (=줄이려면) 어떤 3단계가 필요할까?
바로 들어간다.
1) 사용 의도를 구축하는 단계
사용자의 의도를 명확하게 파악하고 사용자가 관심 있을 만한 항목을 적당한 장소,시점에 제공
2) 행위의 순서를 규정하는 단계
사용자가 되도록 직관적, 구체적으로 행위의 순서를 생각할 수 있도록 함
3) 순서대로 실행하는 단계
규정된 행위의 순서대로 실행할 수 있도록 입력장치를 일치시키고 불필요한 조작을 최소화함
평가차를 효과적으로 하려면 (=줄이려면) 어떤 3단계가 필요할까?
1) 실행한 행동의 결과를 지각하는 단계
시스템의 변화가 있었다는 사실을 사용자가 쉽게 지각할 수 있게 정보 표현 (아 이런 변화가!)
2) 사용자가 시스템의 상태를 해석하는 단계
정보구조의 체계화를 통해 단순하게 표시하여 사용자가 변환된 시스템을 쉽게 이해하도록 유도 (이런거였군)
3) 결과를 사용자의 원래 의도와 비교 평가하는 단계
시스템을 사용자가 가진 의도와 비슷한 유형으로 표현하여 사용자가 쉽게 평가하도록 함 (별로네)
그래서 결과적으로 실행차와 평가차의 단계를 최소화하여 개발자의 심성모형과 사용자의 심성모형의 차이를 최소화 하면 유용성을 높일 수 있다.