본문 바로가기

Design/디자인과 인간 심리

[디자인과 인간심리] 제5장 인간 오류? 아니, 나쁜 디자인

반응형

목차

0장 개발자로서 디자인에 대한 견해

1장 생활용품의 정신병리학

2장 일상 행위의 심리학

3장 머릿속의 지식과 세상 속의 지식

4장 할 일 알기: 제약, 발견 가능성, 피드백

5장 인간 오류? 아니, 나쁜 디자인

6장 디자인 생각하기

7장 비즈니스 세계의 디자인

 

제5장 인간 오류? 아니, 나쁜 디자인

사고가 사람에 의해 발생되었을 때 우리는 문제를 일으킨 사람들을 비난한 다음에 사람만 바꾼 뒤 똑같은 작업을 계속 한다. 기계의 물리적 제한은 디자이너들이 잘 이해하고 있지만, 정신적 제한은 크게 오해되고 있다. 우리는 사람들이 지속적인 자극에 노출되어 있게 하고, 모든 것을 동시에 실시간으로 대응하도록 요구하며, 이해하기 힘들고 혼란스러운 절차를 기억하게끔 요구한다. 그리고나서 문제가 생겼을 때 그들이 지시를 제대로 따르지 않았거나 충분히 주의하지 않았다고 비난하기 일쑤다.

오류가 생기는 이유의 이해

오류는 사람들이 비자연스러운 방식으로 행동하게 요구하는 과제와 절차에 있다. 특히 가장 나쁜 오류는 오류에 대한 사람들의 태도다. 거의 예외없이 책임자를 색출하고 처벌한 뒤, 더 많은 규칙을 지키도록 요구해서 오류의 재발을 방지하려 한다. 하지만 진정으로 오류를 제거하기 위해선 근본 원인을 해결해야 한다.

근본 원인 분석

근본 원인 분석은 단일한 근본 원인이 발견될 때까지 사고를 조사하는 방법이다. 사람이 오류가 있는 결정이나 행위를 했을 때, 무엇이 책임자로 하여금 오류를 범하게 했는지를 판정해야 한다. 너무나도 자주 분석은 책임자를 색출하는 것만으로 끝날 때가 많다.
일단, 대부분의 사고에서 원인은 하나가 아니다. 여러 요인들이 겹쳐 사고가 발생한다. 그리고 무엇이 정말 오류에 이르게 했는지를 발견해야 오류를 막기 위해 무엇을 해야 하는지 생각할 수 있다.

다섯 가지 이유

사람들이 오류를 범할 때 시스템을 바꾸어서 오류가 감소되거나 제거되도록 해야 한다. 완전한 제거가 가능하지 않을 때라도 재디자인해서 그 충격을 줄여야 한다. 오류가 개인의 실패로 생각되고 절차나 장비의 나쁜 디자인의 징조로 생각되지 않는다면 인간 오류를 제거할 수 없다. 오류는 계속 반복되며 익숙해져 버리고 만다. 오류가 왜 일어났는지, 어떤 조건이 그렇게 만들었는지, 그리고 그 다음 그런 조건이 왜 발생했는지를 알아내려고 게속 노력해야 한다.
디자인이 시스템과 기계의 요구사항에 초점을 맞추고 사람의 요구사항에 초점에 맞추지 않아 사람들은 오류를 저지른다. 기계는 정밀한 명령어와 지침을 요구하고, 사람에게 수치 정보를 완벽하게 입력하도록 강제한다. 하지만 사람들은 높은 정밀성에 능숙하지 않다. 사람들은 창의적이고, 건설적이며, 탐색적인 존재다. 특히 우리는 새로운 것을 잘 다루고, 새로운 일 처리 방식을 생각해내고, 새로운 기회를 보는데 능숙하다. 따분하고 반복적이고 정밀한 요구 조건은 사람의 이런 특징과 대립된다. 우리는 환경의 변화에 민감하고, 새로운 변화를 잘 알아차리고, 함축적인 의미를 생각한다. 하지만 우리가 기계에 봉사하도록 강제될 때에는 철저하게 설계된 방식에서 벗어났다는 이유로 비난받는다.

특히 시간에 맞추어 일을 끝내야 하는 스트레스는 주요한 오류의 원인이다. 시간의 압력으로 인해 많은 무리를 하게 되고, 대부분의 경우 문제가 없어 노력에 대한 보상을 받거나 칭찬을 받기도 할 것이다. 하지만 일이 잘못되었을 때 칭찬받은 행위로 비난받고 처벌받는다.

고의적 위반

때때로 사람들은 알면서도 위험을 택한다. 결과가 긍정적일 때 그들은 종종 보상을 받는다. 결과가 부정적일 때는 처벌받을 수도 있다. 고의적 위반은 많은 사고에서 중요한 역할을 한다. 사람들이 의도적으로 절차나 규정을 위반한다. 왜냐하면 모든 절차와 규정을 지키면 작업을 완수할 수 없는 구조일 때도 있기 때문이다. 위반의 주요한 원인은 규정의 위반이 보상받는 부적절한 규칙이나 절차에 있다. 위반이 없다면 일이 끝날 수 없는 구조에선 일을 끝내기 위해 위반을 하게 되며, 결과가 성공적일 때 보상을 받는다. 결국 누군가는 언젠가 위반에 따른 실패로 모든 책임을 지게 된다.

두 종류의 오류: 실수와 착오

정의: 오류, 실수 및 착오

인간 오류는 적절한 행동에서 벗어난 어떤 것으로 정의된다. 오류는 모든 잘못된 행위를 가리키는 일반적인 용어다. 오류는 실수착오로 분류된다. 실수는 다시 행위 기반의 실수기억 과실의 실수로 분류되고, 착오는 규칙 기반의 착오지식 기반의 착오, 기억 과실의 착오로 분류된다.

실수

실수는 목표가 맞으나 요구되는 행위가 제대로 되지 않을 때 일어난다. 실수는 어떤 사람이 한 행위를 하려고 의도하지만 어떤 다른 것을 하는 것으로 끝날 때 생긴다. 실수에서 수행된 행위는 의도된 행위와 같지 않다. 행위기반의 실수는 잘못된 행위가 수행되는 실수이고, 기억 과실의 실수는 기억하는데 실패하여 의도된 행위가 수행되지 않아 발생되는 실수다.

착오

착오는 목적이나 계획 자체가 잘못일 때 일어난다. 착오는 틀린 목표가 설정되거나 틀린 계획이 형성될 때 일어난다. 행위가 적절하게 수행되었을지라도 목표를 달성하지 못했기 때문에 오류의 일부분이다. 규칙 기반의 착오는 사람이 상황을 적절하게 진단하였으나, 틀린 행동방침에 따라 결정해서 잘못된 규칙이 준수되는 착오다. 지식 기반의 착오는 문제가 잘못되거나 불완전한 지식을 기반으로 문제를 잘못 진단하는 착오다. 기억 과실의 착오는 목표, 계획 또는 평가 단계에서 망각이 발생할 때 일어나는 착오다.

오류와 행위의 일곱단계

착오는 목표나 계획을 세우고, 결과를 기대와 비교하는 고등 수준의 인지에서 생기는 오류다. 그래서 착오는 의식적인 심사숙고의 결과다. 실수는 계획의 실행이나 결과의 지각 또는 해석에서 발생한다. 그래서 실수는 잠재의식적인 행위의 결과다.

실수의 분류

실수는 신기하게도 초보자보다 숙련자에게서 더 자주 일어나는 경향이 있다. 왜냐하면 실수는 종종 과제에 대한 주의 결핍에서 일어나기 때문이다. 즉 숙련자는 과제를 습관적으로 제어하며 자동적으로 수행하기에, 의식적인 주의를 기울이지 않고서도 과제를 완료할 수 있다. 반면 초보자는 과제에 상당히 의식적인 주의를 기울이므로, 실수가 비교적 낮게 발생한다.

 

디자인과 관련이 깊은 세 가지 실수는 아래와 같다.

  • 포착 실수
  • 묘사-유사성 실수
  • 기억 과실 실수
  • 모드 실수

포착 실수

포착 실수는 자주 혹은 최근에 수행된 활동이 바라는 활동 대신에 수행되는 오류다. 여러 활동이 연쇄적으로 수행되는 과정 중 다른 활동으로 갈라지는 핵심 분기점에서 바라는 활동에 대한 주의 결핍으로 인해, 실수로 자주 혹은 최근에 수행된 활동이 수행된다. 그러므로 포착 오류는 부분적인 기억 과실 오류다.

 

디자이너가 포착 실수를 회피하기 위해선 시작 단계는 같지만 곧 행동이 분기되는 절차를 피할 필요가 있다. 최대한 행위 연쇄는 출발점부터 다르게 디자인되어야 한다. 만약 모든 행동의 시작을 동일한 버튼을 누르는 것에서 시작한다면 다른 버튼으로 시작하는 행동이 추가되었을 때, 새로운 기능을 사용하고자 할 때 실수로 기존 버튼을 무의식적으로 누르는 실수가 잦아지게 될 것이다.

묘사-유사성 실수

묘사-유사성 실수는 표적과 유사한 항목에 작용되는 오류다. 사용자 이미지 상 표적의 묘사가 충분히 막연할 때 실수가 일어난다. 3장 머릿속의 지식과 세상 속의 지식 에서 설명했듯이, 사람은 물체의 정밀한 묘사를 기억하기 보다 다른 물체와 구별하는데 충분한 정밀성만 필요로 한다. 따라서 묘사-유사성 실수는 엉뚱한 물체에 맞는 행위를 수행하는 결과를 낳는다.

 

디자이너는 목적이 다른 물체는 서로 구분이 쉽도록 분명히 할 필요가 있다. 똑같은 디자인의 물체는 묘사-유사성 실수를 유도하게 된다.

기억 과실 실수

기억 과실 실수는 기억 실패에서 발생하는 오류다. 오류의 원인으로 굉장히 흔하며, 다양한 오류를 낳는다. 대부분의 기억 과실 실패의 즉각적인 원인은 방해다. 행위가 결정되는 시점과 행위가 완료되는 시점 사이에 방해가 발생하면, 기억 과실 실수가 발생하기 쉽다.

 

디자이너는 기억 과실 실수를 제거하기 위해 행위 단계의 수를 최소화하는 방안을 고려해야 한다. 또, 완료되어야 할 행위 단계를 표시하는 디자인을 사용자에게 제공하 수 있다. 4장 할 일 알기: 제약, 발견 가능성, 피드백 의 강제 기능을 쓰는 것도 우수한 방법이다. 하지만 많은 기억 과실 실수를 유발하는 방해가 시스템 밖에서 오기 때문에 디자이너가 오류를 통제하기 쉽지 않다.

모드 실수

모드 실수는 하나의 컨트롤러가 여러 의미를 가질 수 있는 다양한 모드로 변환 가능할 때 일어난다. 모드 실수는 한정된 유저 인터페이스에 점점 더 많은 기능을 추가함에 따라, 점점 더 많이 발생하는 오류다. 특히 엔지니어는 한 컨트롤러를 여러 목적에 따라 사용될 수 있도록 하여 돈과 공간을 절약하려는 유혹에 놓여 있다. 반면 사용자는 엔지니어의 선택으로 인해 항상 어떤 모드에서 어떤 기능이 작동 중인지를 의식해야 하는 어려움에 처하게 된다. 모드 오류는 디자인 오류로 인해 발생하므로 디자이너는 모드 오류를 피하려고 해야 한다. 꼭 모드가 필요하다면 명백하게 모드를 구분할 수 있는 디자인을 추가해야 한다.

착오의 분류

착오는 부적절한 목표와 계획을 선정했을 때 또는 평가하는 동안에 결과를 목표와 잘못 비교했을 때 일어난다. 많은 착오가 사람이 체계적인 분석에 의존하기보다는 기억된 경험에 의존하려는 경향에서 출발한다. 우리는 우리의 기억에 근거해서 결정을 내린다. 기억은 정확한 기록이 아니라 재구성 과정이므로 여러 편중을 갖게 된다. 기억의 편중은 착오의 원인이 된다. 가장 심각한 착오는 상황이 잘못 진단될 때 일어난다. 그 결과 부적절한 규칙이 실행되거나 엉뚱한 문제를 푸는데 노력하게 된다.

규칙 기반 착오

우리는 문제 상황과 마주하면 상황을 식별하고 적절한 규칙을 선택한 뒤 규칙에 따라 행동한다. 이를 규칙 기반 행동 이라 한다.


규칙 기반 착오는 아래와 같이 규칙 기반 행동으로 오류가 발생할 때를 의미한다.

  • 상황을 잘못 해석하고, 엉뚱한 목표나 계획에 따라 부적절한 규칙에 따르는 착오
  • 상황에 맞는 규칙을 따르고 있지만 규칙 그 자체에 문제가 있는 착오
  • 상황에 맞는 규칙을 따르고 있지만 행동의 결과를 틀리게 평가하는 착오

규칙 기반 착오는 피하기도 어렵고 탐지하기도 어렵다. 한번 상황이 잘못 분류되면 상황 판단이 틀렸는지 발견하기 어렵다. 왜냐하면 복잡한 상황 속에 너무 많은 정보 중 어느 정보를 신뢰해서 상황을 재판단할지 결정하기 어렵기 때문이다. 그러므로 디자이너는 현재 사태가 일관성 있고 쉽게 해석될 수 있는 형식으로 틀림없이 표시되도록 안내를 가능한 많이 제공하라. 시스템의 상태에 관한 정보를 이해하고 해석하기 쉬운 방식으로 제시하며, 대안 설명과 해석을 제공하라.

지식 기반 착오

지식 기반 착오은 기존의 기술이나 규칙을 활용할 수 없는 새로운 상황에서 발휘된다. 따라서 이 경우에 새로운 절차가 고안되어야 한다. 지식 기반 착오는 의식적으로 문제를 해결해야 한다. 기존의 기술이나 규칙을 활용할 수 없는 새로운 상황에 대한 가장 좋은 해결책은 상황에 대한 훌륭한 이해에서 출발한다. 새로운 상황에 대한 이해를 적절한 개념 모형으로 전환하여 새로운 기술 또는 규칙을 고안하여 대응한다. 기술적인 해결방법으로는 능숙한 탐색과 적절한 추리 기법을 사용하는 지능적 컴퓨터 시스템을 개발하여 해결하는 것이다.

 

기억 과실 착오

기억 과실은 기억 실패로 목표나 행위 계획을 잊을 때 착오를 일으킬 수 있다. 과실의 흔한 원인은 방해로써, 현 상태에 대한 이해를 잊게 한다. 그러므로 디자이너는 모든 상태 정보를 사용자가 지속적으로 파악할 수 있게 하여 목표를 완료할 수 있도록 돕는다.

 

 

사회적 & 제도적 압력

인간 오류를 이해하기 위해 사회적 압력을 이해하는 것이 필수적이다. 비록 사회적 압력은 디자인과 관계가 없는 것처럼 보이지만 일상 행동에 강한 영향을 준다. 특히 지식 기반 문제에 직면할 때 복잡한 문제해결이 요구된다. 이때 상황 파악이 잘못 내려지면, 그때부터 얻는 모든 정보는 잘못된 관점에서 해석된다. 따라서 상황에 대한 적절한 재고찰이 이루어지도록 조치해야 한다. 하지만 행동에 대한 사회적 압력은 사람들로 하여금 상황을 잘못 진단하도록 종용하고 잘못되거나 위험하다고 알고 있는 행동을 수행하도록 만든다.

 

점검 목록

점검 목록(checklist)은 행동의 정확성을 증가시키고, 실수와 기억 과실을 줄일 수 있는 효과적인 도구다. 특히 여러 복잡한 요구 조건이 있는 상황에서 특히 중요하고 방해가 있을 때에 한층 더 중요하다. 다만, 점검 목록은 작업자가 자신의 능력이 의심받고 있다고 느끼게 하여 도입이 어려울 수 있다. 하지만 사람은 모두 스트레스를 받을 때 혹은 시간적, 사회적 압력을 받을 때 또는 여러 방해를 받은 뒤에 실수와 착오를 일으키기 쉽다는 사실을 기억하길 바란다.

디자이너가 효과적인 점검 목록을 디자인하는 것은 어렵다. 점검 목록 디자인은 순환적이고 항상 개선될 필요가 있다. 점검 목록이 필수 항목은 포괄하지만 업무 수행에 방해가 되지 않을 때까지 목록을 조정해 나가도록 하자. 추가로 점검 목록을 디자인할 때 디자이너는 과제 수행에 순서적 구조가 필요할 때만 반영하고, 건너뛴 항목을 잊지 않도록 디자인하자.

 

오류의 보고

오류의 발생을 줄이는 유일한 방법은 오류의 존재를 인정하고, 오류에 관한 정보를 모으고, 오류 발생을 줄이기 위해 적절한 변화를 만드는 작업이다. 하지만 사회적 압력으로 인해 오류를 인정하는 것은 어려운 일이다. 그러므로 오류를 인정하는 사람들에게 감사하고 보고를 격려해야 한다. 또 오류 보고를 더 쉽게 할 필요가 있다. 반대로 오류를 의도적으로 은폐한 사람을 처벌할 수 있다.

 

오류의 탐지

실수를 쉽게 탐지하려면 적절한 피드백이 필수적이다. 왜냐하면 의도된 행동과 수행된 행위 간의 차이를 쉽게 알아차릴 수 있어야 오류를 쉽게 정정할 수 있기 때문이다. 반면 착오는 발견되는데 시간이 오래 걸릴 수 있다. 왜냐하면 착오에 대한 그럴듯한 설명을 만들어 내어 진정한 문제를 발견하지 못하지 못하는 경우가 허다하기 때문이다. 그러므로 착오에 그럴듯한 설명을 붙이기 보다 근본적인 문제가 무엇인지 파악하기 위해 의도적으로 노력하고 원인을 검증할 필요가 있다.

 

오류를 대비한 디자인

많은 시스템이 쉽게 오류를 범하도록 하지만, 오류를 발견하거나 복구하는 것은 어렵게 또는 불가능하게 하여 문제를 악화시킨다. 작고 간단한 오류가 거대한 손실을 야기하는 것이 가능하지 않도록 디자인해야 한다.

 

  • 오류의 원인을 이해하고, 그 원인을 최소화하도록 디자인하라.
  • 타당성을 점검하라.
  • 행위를 취소하는 것이 가능하게 하라.
  • 오류를 쉽게 발견하도록, 쉽게 고칠 수 있도록 하라.
  • 행위를 오류로 취급하지 말고 행위를 제대로 완수하도록 도와주려 하라. 

대부분의 착오는 목표나 계획에 대한 잘못된 선택이나, 평가 및 해석에서 기인한다는 사실을 기억하라. 목표의 선택과 계획을 달성하는 수단에 대해서 시스템이 제공하는 불량한 정보 그리고 실제 발생한 것에 대한 불량한 피드백 때문에 착오가 발생한다. 착오는 시스템의 현재 상태에 대한 애매하거나 불명확한 정보, 좋은 개념 모형의 부재 그리고 부적절한 절차에서 생긴다.

 

오류, 특히 기억 과실 오류의 주요 출처는 방해다. 방해 이후 사용자는 목표가 무엇이었는지, 어떤 행위를 진행하려고 했었는지, 어떤 행위를 했었는지 기억해내야만 한다. 따라서 대부분의 시스템에서 방해 후에 재개하는 것이 어렵다.

 

다중 작업(multitasking)은 업무 수행에서 심각한 인식 저하, 오류의 증가, 및 효율성 저하를 야기한다.

 

불필요하고 짜증나는 알람은 문제에 주목하려는 노력에 방해가 된다. 경고 및 안전 수단은 영향을 받는 사람들을 위해 조심스럽고도 지능적으로 사용되어야 한다. 신호는 중의를 끌면서도 표시되고 있는 사건들의 본질에 대한 정보를 제공해야 한다. 

 

오류 연구에서 얻는 디자인 교훈

오류를 막는 제약을 추가하기

오류 방지는 행위에 특정한 제약을 추가해 달성할 수 있다.

취소

오류의 영향을 최소화하는 가장 강력한 기능은 취소 명령이다.

확인과 오류 메세지

확인과 오류 메세지는 실수에 대해 효과적이지만, 착오에 대해 놀라우리만치 비효과적이다. 왜냐하면 착오는 행위에 대한 확신이 있기 때문에 메세지를 쉽게 무시한다. 따라서 디자이너는 조작의 영향을 취소할 수 있도록 디자인해야 한다.

 

타당성 점검

디자이너는 시스템이 요청된 조작이 문맥상 적절한지 확실히 하기 위해 점검할 수 있다.

 

실수 최소화하기

실수는 의식적 주의 없이 산만하게 되었을 때 발생한다. 그렇다고 실수를 최소화하기 위해 사용자의 주의를 강제로 집중시키는 디자인은 나쁜 디자인이다. 뇌의 정보처리 구조는 한 과제에 얼마나 많은 의식적 주의가 주어지고 있는지를 자동적으로 조절한다. 따라서 실수를 줄이는 가장 좋은 방법은 수행 중인 행위의 본질에 대해 지각 가능한 피드백을 제공하고, 새로운 결과를 묘사하는 형태와 오류가 원상회복될 수 있도록 하는 기능과 함께 제공하는 것이다.

 

오류를 다루는 디자인 원칙

어려움은 사람과 기계를 협동적 시스템으로 생각하지 않으면서 자동화될 수 있는 과제는 무엇이든 기계에게 할당하고 나머지는 사람에게 할당할 때 일어난다. 왜냐하면 사람을 기계 선호적인 방식으로 행동하게끔 요구하기 때문이다. 대신 사람이 실수할 수 있다는 사실을 받아들이고 오류의 대가를 줄이고 동시에 오류의 기회를 최소화하는 방안을 찾아야 한다.

 

  • 기술을 작동시키기 위해 필요한 지식을 세상 속에 넣어 두어라. 모든 지식이 머릿속에 들어 있기를 요구하지 마라. 그러나 사용자가 전문가가 될 때, 효율적으로 조작할 수 있도록 하라.
  • 자연스럽거나 인공적인 제약을 이용하라. 강제적 기능과 자연스러운 대응 관계를 활용하라.
  • 실행의 간격과 평가의 간격을 이어라. 실행과 평가가 가시적으로 파악될 수 있도록 하라. 실행 면에서는 피드포워드 정보를 주고 선택사항을 곧 알 수 있게끔 하라. 평가 면에서는 피드백을 주고 각 행동의 결과가 명백하게끔 하라. 시스템의 현재 상태를 사용자가 즉시, 쉽게 그리고 정확하게 판정할 수 있게 하되, 사람의 목적, 계획 및 기대와 일치하는 형식으로 하라.

디자이너는 오류를 포용함으로써, 그 원인을 이해하려 함으로써, 오류가 다시 일어나지 않도록 분명히 함으로써 오류를 다루어야 한다. 디자이너는 사용자를 처벌하거나 꾸짖는 것보다 도와줄 필요가 있다. 

반응형