[UX] 사용자 과업 분석(task analysis)과 UI 설계
UI 설계 시에 사용자의 과업(task)을 이해하는 것이 왜 중요한지에 대해서 설명한다. 실제 사례를 바탕으로 잘 설계된 UI와 UI에 대한 기능범위를 정의해 나가는 과정을 포함한다. UI 설계는 어떻게 설계해도 여러 개의 답이 될 수 있는 것처럼 생각하기 쉽지만 정확한 과업분석을 한다면 정답은 한 개로 귀결될 수도 있다. 문제는 과업분석을 제대로 하지 않고 UI 설계를 하기 시작할 때 대부분 발생한다.
사진 출처: 원문링크
이전 포스팅에서 UI를 설계하고 기획하기 위해서 가장 중요한 것으로 '사용자가 지금 무엇을 하고자 하는가?'에 대한 것으로 과업(task)을 정의한 바 있다. 그렇다면 UI 설계와 과업분석은 어떤 관계에 있으며, 왜 중요할가에 대해서 좀 더 현실적인 이야기를 해보자.
<과업분석>
-당신은 집에서 PC로 영화를 보고 있다. 당신의 친구로부터 전화가 걸려왔고, 영화를 잠깐 멈추고 잠시 뒤에 보려고 한다.
*위와 같이 당신이 PC의 동영상 플레이어로부터 하고자 하는 과업을 정의하였다.
<UI설계>
-현재 당신이 이용하고 있는 동영상 플레이어에는 일시정지(PAUSE) 기능을 지원하지 않으며, 정지(STOP) 기능만을 지원
*정지(STOP)을 통해서는 현재 시청 중인 장면을 기억하지 못하고, 시청이 종료가 될 것이다. (혹은 당신은 그대로 재생이 되도록 두었다가 다시 이전까지 봤던 위치를 찾아가기 위해 탐색바(Seeking bar)를 조작해야 될지도 모른다.)
이렇게 사용자의 과업과 무관하게 UI가 설계된 케이스는 우리 주변에서 아주 흔히 발견할 수 있다.
그렇다면 과업 분석과 과 UI는 어떤 관계가 있는 것일까? 과업이란 이전에 정의한 바와 같이 '현재 사용자가 하고자 하는 그 무엇'에 해당된다. 과업분석을 제대로 하지 않게 되면 실제로 사용자가 하고자 하는 그 무엇을 해당 설계된 UI로 수행할 수 없는 경우가 발생하게 된다.
우리가 과업을 분석해야 되는 이유는 간단히 말해 UI에 대한 기능적 범위(Functional specification)로 정의하기 위함이다. 여기서의 기능적 범위란 소프트웨어 개발자들이 코드상에서 구현하는 기능적 범위를 일부 규정할 수 있다. 그렇지만 필자가 이야기하고자 하는 UI에 대한 기능적 범위란 UI 요소(UI Component)가 갖추어야할 최소한의 기능을 정의하는 것을 의미한다.
예를 들어, 블로그를 작성하는 과업을 예로 든다면 작성중일 글을 저장하고, 업데이트 하는기능을 위해 'Publish'라는 버튼이 있고, 이를 누르면 작성중인 내용이 저장되는 것을 UI에 대한 기능적 범위라고 해보자. 이때 'Publish' 버튼은 UI 요소가 될 것이고, '작성중인 내용을 저장'하는 것은 UI에 대한 기능적 범위로 볼 수 있다.
이때, 내용을 저장하는 도중에 DB에 연결하고, 네트워크 상태에 따라서 필요한 예외 처리나 사용자가 버튼을 두번 연속으로 빠르게 눌렀을때의 처리 등에 대한 것은 개발자들이 내부적으로 코드상에서 구현되어야 하는 기능의 범위로 규정할 수 있을 것이다.
(위의 예에서처럼 어디까지를 UI 담당자가 시나리오로 규정을 해야 하는 가에 대해서는 여전히 논란의 여지가 많기에 이에 대한 논의는 다음에 하고자 한다.)
위의 과업 예시를 과업과 UI의 기능적 범위에 대해서 좀 더 상세히 정의를 해보자.
<과업분석>
-사용자는 플레이어로 영화를 다 시청하고 플레이어를 종료한다.
-사용자는 플레이어로 영화를 다 시청하진 않았지만 흥미가 없어 플레이를 종료한다.
-사용자는 플레이어로 영화를 시청중에 다른 용무를 볼 수있다.
-사용자는 플레이어로 영화를 시청중에 다른 장면을 보고 싶다.
<UI설계, UI요소 - UI의 기능적 범위>
-플레이어의 종료(X) 버튼 - 플레이어 종료
-플레이어의 정지(STOP)또는 종료(X) 버튼 - 플레이 중지 or 플레이어 종료
-플레이어의 일시정지(PAUSE) 버튼 - 플레이 일시중지
-플레이어의 탐색바(Seeking bar) - 장면 점프
위와 같이 과업이 분석이 되었다면 플레이어에는 위와 같은 UI 요소들과 각 UI의 기능적 범위에 따라 개발될 수 있을 것이다. 우리가 UI를 설계하기 전에 과업에 대한 분석이 명확히 이루어져야 하는 이유는 간단하다. 사용자가 과업을 수행하는데 필요한 UI 요소가 누락되지는 않았는지, UI 요소가 수행해야 하는 기능이 잘못정의되지 않았는지를 명확히 하기위함이다.
하지만 안타깝게도 대부분의 경우 이러한 과업분석은 쉽게 간가 되는 게 실제 필드의 현실이다. 이유가 무엇일까?
여러분들이 생각하는 것처럼 대개의 경우 필드에서는 UI 설계에 그만큼의 공수가 주어지지 않는 경우가 대부분이다. 아직도 현업의 많은 부분에서 UI 설계는 이래도 좋고 저래도 좋은 것으로 인식이 되어 있기에 때로는 필요하지만 설계가 안되어 있는기도 하며, 필요없지만 설계내용에 포함이 되어 있는 경우도 있다.
또한 UI는 개발자건 기획자건 GUI 디자이너건 UI 담당자건 누구나 다 전문가일수도 있다. 하지만 사용자의 과업을 제대로 이해하고 UI 설계를 논하는 사람은 어디에도 없다. 그저 자신의 일을 조금더 쉽게 하기 위해서 UI 설계 방향을 바꾸려고 하는 이들을 필자는 많이 보아왔다.
필드에서의 상황을 부정하거나 비난하기에 앞서 필자는 이러한 UI 설계에 대한 이해와 인식이 조금이나마 바뀌기를 바라는 마음에 이 글을 쓰고 있다.
기획자는 UI 담당자가 사용자의 과업을 더 잘 이해할 수 있도록 사용자의 요구사항이 정확히 무엇인지를 정의할 수 있어야 한다. (사용자의 요구사항이 명확하지 않고 정의되어 있지 않은데, UI 담당자가 어떻게 과업을 분석하고, 정확한 UI를 설계하기를 기대하는가?)
개발자는 UI 담당자가 설계한 UI에 대한 기능적 범위 외에도 필요한 코드 구현을 완벽히 구현하는데 힘써야 한다. (UI와 UI 기능적 범위를 논하기에 앞서 버그 없는 완벽한 코드를 구현하고자 얼마나 힘쓰고 있는지를 되돌아 보길 바란다.)
GUI 디자이너는 UI 담당자가 설계한 UI와 동작 시나리오 대한 이해를 바탕으로 디자인 할 수 있어야 한다. (디자인에 대한 영감을 떠올리기에 앞서 해당 UI의 동작들을 얼마나 잘 이해하고 있는지에 대해서 생각해보기를 바란다. 당신의 잘못된 이해는 개발자와 사용자 모두를 혼란에 빠뜨릴 수 있는 중요한 문제를 야기시킬 수 있다. 해당 프로젝트에서 당신의 역할이 얼마나 중요한지를 잊지 말라는 의미이다.)
너무나 당연하고 단순한 이야기일지도 모르겠지만 지켜지지 않고, 생각없이 진행되는 일들이 우리 주변에는 얼마나 많은가?
논의 주제와는 다소 벗어난 이야기를 말미에 언급했지만 필자는 단지 두 가지를 이야기하고 싶었을 뿐이다.
1. UI 설계를 위해 과업분석은 왜 중요한가?
2. 그럼에도 불구하고 설계된 UI는 왜 항상 문제가 되는가?
자 이제 UI를 잘 설계할 수 있는 방법과 UI 설계 시 문제가 될 수 있을 만한 요인을 알았으니, 훌륭한 결과물을 만들어내는 일만 남았다. 모두 Cheer up!
댓글
댓글 쓰기