기본 콘텐츠로 건너뛰기

최고의 사용자 설명서는...

여러분은 제품을 사서 사용자 설명서를 읽으시나요?

저는 제품을 사면 사용자 설명서부터 꼼꼼이 읽는게 버릇이지만 은근히 많은 분들이 사용자 설명서를 잘 읽지 않습니다.

제 아내도 역시 제품을 사면 사용자 설명서를 잘 읽지 않습니다.

우리 나라의 경우 인터넷(지식인?)이 발달해 있고 주변에 도움을 요청할 사람이 많고 AS가 워낙 발달해서 그런것일수도 있겠죠..

그러다보니 사용자 설명서도 생각외로 부실한 경우가 많습니다.

어차피 읽지도 않는 사용자 설명서를 뭐하러 꼼꼼이 만드느냐는 식으로 사용자 설명서가 개판인 경우가 많습니다.

옛날 옛적의 템페스트라는 게임을 보면 게임 안에 포함되지도 않은 시스템에 대한 설명이 사용자 설명서에 버젓이 적혀 있는가 하면 옵티머스 Q라는 스마트폰의 사용자 설명서는 도데체 사용자 설명서를 읽어서 무엇을 할 수 있을까? 싶을 정도의 개판인 수준입니다.

국내 굴지의 대기업의 사용자 설명서가 이따위 수준이라면 국내 대부분의 중소기업들의 사용자 설명서는 말할 필요도 없지요.

어떤 경우는 사용자 설명서가 너무 어려워 읽지 않는다는 사용자도 있죠.

사용자 설명서가 이렇게 부실하다면 사용자는 어디서 제품을 사용할 정보를 얻어야 할까요?

저는 제품 그 자체가 최고의 사용자 설명서가 되어야 한다고 생각합니다.

제품 자체가 최고의 사용자 설명서가 된다면 사용자가 굳이 설명서를 보지 않아도 되겠죠.

하지만 이런 관점에서 사용성 테스팅을 진행하고 조언을 하다 보면 개발자나 기획자 분들의 대답이 언제나 거의 똑같습니다.

기획 의도다.. 우리의 사용자는 그런건 이미 다 알고 있다.. 등등..

대표적인 경우가 특정 산업분야에서 쓰이는 소프트웨어의 경우 메뉴가 약자로 가득히 도배되어 있는 경우가 있습니다.

약자로 도배된 모든 메뉴를 전부 수정을 요구하자 개발자는 단칼에 우리의 고객은 그런건 이미 다 알고 있다라고 하더군요..

기존의 고객은 알겠지만 새로운 고객은 어떨까요?

저는 제품 그 자체의 피드백을 통해 유치원생이 쓰더라도 곧 배워 사용할 수 있는 제품이 좋은 제품이라고 봅니다. 조금 과장해서요..

얼마전 모 사의 도구를 사용해 컨설팅을 진행한 적이 있습니다.

진행하면서 항상 들은 말은 사용하기 불편하다. 어렵다. 직관적이지 않다. 의도한 결과가 나오지 않는다..

였습니다.

저도 알고 있습니다. 저도 그 도구의 개발에 조금은 관계가 있었으니까요..

하지만 제가 제시한 사용성 이슈는 받아들여진 경우가 거의 없었습니다.

제가 이슈를 제기하면 네가 특이한거다. 대다수의 사용자는 그렇지 않다라고 대답하더군요.

뭐.. 제가 좀 특이하긴 합니다.

그리고 실제로 제품을 모든 사용자에게 맞출 수 없는 것도 사실입니다.

하지만 최소한 그러한 노력을 기울이고 그러한 테스트를 진행해야 하는 것이 아닐까요?

이러한 노력은 제품을 처음 기획하는 순간부터 준비되어야 하는 것이 사실입니다.

얼마전 서비스 직전의 웹 서비스 테스트를 한 적이 있습니다.

웹 서비스를 개발하면서 IA도 진행하지 않은 웹사이트는 테스트 당시 정말 어떻게 사용해 볼 여지가 없이 혼돈 그 자체였습니다.

다행인 것은 협조적인 개발자분의 도움으로 많은 부분을 수정할 수 있었지만 그래도 진한 아쉬움이 남는 기억입니다.

개발자의 사용자는 누구일까요? 테스터가 말하는 사용자는 누구일까요?

우리가 제품을 개발하면서 항상 입에 달고 사는 것 중 하나가 사용자입니다.

사용자를 위해서라고..

그렇지만 많은 경우 사용자는 자신의 이해관계를 관철시키기 위한 가상의 존재일 뿐 많은 경우 사용자를 위한 경우는 없습니다.

진정 사용자를 위한다면 정말 사용자를 관찰하고 사용자의 이야기를 들어야 하는 사용성 테스트가 필수지만 많은 회사에서는 사용성 테스팅은 비싸다는 관념에 사로잡혔는지.. 어렵다는 생각때문이지 잘 진행하지 않습니다.

하지만 사용성 테스팅은 쉽습니다. 비싸지도 않습니다.

노력하면 누구나 할 수 있습니다.

여러분은 최고의 사용자 설명서를 만들기 위해 어떤 노력을 하시나요?

ps. 원래 하고 싶던 얘기는 이 얘기가 아닌거 같은데.. 정리 되지 않은 얘기를 마구 쓰다 보니 또 이상한 삼천포로 빠졌네요.. 커흑..

댓글

이 블로그의 인기 게시물

합성 사용자(Synthetic Users)의 5가지 유형과 AI 테스팅 현장에서의 활용법

AI와 생성형 모델 기술이 발전하면서, 사용자 경험(UX) 연구와 테스팅 현장에서 가상 퍼소나를 활용해 테스트 데이터를 수집하거나 사용성을 평가하려는 시도가 급격히 늘고 있습니다. 이를 흔히 '합성 사용자(Synthetic Users)'라고 부릅니다. 하지만 막연히 "AI에게 사용자 역할을 시켜 테스트를 돌린다"고 할 때, 그 가상 사용자가 어떤 방식과 데이터로 생성되었는지 명확히 구분하지 않으면 자칫 왜곡된 결과에 빠질 위험이 있습니다. UX 및 사용성 리서치 분야의 권위 있는 기관인 MeasuringU에서 이 합성 사용자의 개념을 명쾌하게 분류한 아티클을 공개했습니다. 바로 "What Are the Different Types of Synthetic Users?"라는 글입니다. (출처: MeasuringU - What Are the Different Types of Synthetic Users? / Jeff Sauro, PhD & Jim Lewis, PhD) https://measuringu.com/what-are-the-different-types-of-synthetic-users/ Jeff Sauro와 Jim Lewis 박사는 합성 사용자를 단순히 하나의 개념으로 뭉뚱그리지 않고, 생성 기술의 근거와 데이터 기반에 따라 크게 5가지 유형으로 깔끔하게 정리해 줍니다. 첫째는 규칙 기반(Rule-Based) 합성 사용자입니다. AI 모델이 아니라 사전 정의된 조건문, 정규식, 시나리오 스크립트에 따라 움직이는 전통적인 형태의 가상 사용자입니다. 예측 가능하고 정확하지만, 인간 사용자의 복잡한 정서나 미묘한 변수를 반영하진 못합니다. Selenium, Playwright, K6 같은 도구를 통해 지정된 경로대로 버튼을 누르고 데이터를 입력하는 방식을 들 수 있습니다. 둘째는 퍼소나 기반 LLM(Persona-Based LLM) 합성 사용자입니다. 생성형 AI에게 "너는 50대 비테크놀로지 사용...

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 시대 테스터가 지켜내야 할 핵심 엔진

소프트웨어 개발과 테스팅 현장에서 가장 자주 언급되지만, 막상 시스템이 복잡해질수록 쉽게 경시되곤 하는 핵심 개념이 바로 '피드백 루프(Feedback Loop)'입니다. 코드를 수정하고, 빌드하고, 테스트 결과를 확인하고, 다시 개선하는 그 순환 과정의 속도와 정확도가 결국 소프트웨어의 품질을 결정짓기 때문입니다. 품질 전문가 매슈 하이저(Matthew Heusser)가 자신의 블로그 Quality Remarks에 기고한 "One Loop After Another" 아티클은 바로 이 피드백 루프의 다층적 구조와, AI 시대에 우리가 놓치지 말아야 할 품질 검증의 본질을 날카롭게 되짚어 줍니다. (출처: Quality Remarks - One Loop After Another / Matthew Heusser) https://qualityremarks.com/one-loop-after-another/ 매슈 하이저는 소프트웨어 개발 생태계가 단순히 하나의 커다란 테스트 루프로 돌아가는 것이 아니라, 시간 축과 관점에 따라 겹겹이 쌓인 '연쇄적인 피드백 루프들(One Loop After Another)'로 이루어져 있다고 설명합니다. 초단기 루프 (Inner Loop): 개발자가 코드를 작성하는 몇 초~몇 분 단위의 루프입니다. 단위 테스트(Unit Test)나 IDE의 Linter, AI 자동 완성이 즉각적인 피드백을 주는 영역입니다. 단기 루프 (Daily / CI Loop): 커밋과 푸시가 이루어지고, CI/CD 파이프라인에서 통합 테스트와 정적 분석이 실행되는 몇 시간 단위의 루프입니다. 중기 루프 (Iteration / Exploration Loop): 스프린트 단위로 탐색적 테스팅(Exploratory Testing)을 수행하고, 실제 사용자 시나리오나 엣지 케이스를 사람이 직접 검증하며 시스템의 유기적 작동을 확인하는 며칠~몇 주 단위의 루프입니다. 장기 루프 (Outer / Market Loop): 실제 ...