By-Design“버그”는 나쁜 표시입니까?


29

사용자가 의도 한 것에 대한 버그 보고서를 제출하면 나쁜 징조입니까?

그것은 일반적으로 응용 프로그램이 혼란 스럽거나 명확하지 않다는 것을 의미합니까, 아니면 특별히 언급하지 않는 한 일회성 사용자 실수로 분필로 처리해야합니까?

(실제로 그러한 보고서는 없습니다. 이것은 의도적으로 "버그"가 존재하는지 여부에 대한 순전히 가상의 질문입니다.


19
표준 응답은 "그것이 이해하지 못하는 기능이 아닌 버그"이기 때문에 Lotus Notes의 일부 프로그래머가 의견을 말해야 할 것입니다.
James Anderson

5
그것은 개발자에게 주어진 사용자 요구 사항이 사용자가 생각한 것과 일치하지 않는다는 것을 나에게 제안합니다.
temptar

7
@temptar "그것은 내가 요청한 것이지만, 내가 원하는 것이 아닙니다."
StuperUser

5
나는 정확히 구체적으로, 사양에서 명시 적으로 설명 된 (그리고 사양 단계에서 논의 된) 행동에 대해 "버그"작업 항목을 최근에 배정 받았다. 스펙이 말 그대로 "지금은 시간을 절약하기 위해 무시하자"라고 말하면 , 사용자의 관점에서이 동작은 예상치 못한 일이지만 (다른 곳에서주의를 기울인 특정 설정은 무시되고 있음) , 나에게 그것은 버그가 아니라 변경 요청입니다. 확실히, 그 변화를 원한다면 좋은 경우가 될 수 있지만 , 버그라고 부르지 마십시오 .
CVn

7
@ 덩크 : 매일 24 시간을 가정하는 시스템을 구현했습니다. 고객이 일광 절약 시간의 존재를 확신시키지 못했기 때문입니다. 그들은 단지 25 시간이있는 날이 있다고 믿지 않을 것입니다. 프로그램의 버그입니까?
MSalters

답변:


54

나쁜 징조입니까? 나는 그것이 가치있는 경고라고 생각하지만, 그것이 일어날 것이라고 생각합니다.

사람들이 나에게 어떤 종류의 피드백을 제출하면 세 가지 버킷으로 필터링하려고합니다.

  • 버그
  • 기능 요청
  • 잘못된 의사 소통

버그

뭔가 분명히 방법이 작동하지 않을 때 버그는 당신이 기대하는 것, 나 방법 사용자가 기대합니다. 나도 이름을 물어 보니 "Scott"에 들어가서 Enter 키를 쳤다. "Hi Joe!"

기능 요청

이것은 "우리가 이것에 대해 이야기 한 적이 없다는 것을 알고 있지만 프로그램은 내가 왼손잡이 인 마우스 제스처를 추론하고 확인 버튼을 화면 왼쪽으로 움직일 수 있습니까?" 이것은 현재 행동 이 사용자와 사용자의 기대 와 모두 일치 하지만 기대치를 변경하고자 할 때입니다.

잘못된 의사 소통

때이다 당신이 시나리오에서 하나 개의 결과를 기대하지만, 사용자는 다른 결과를 기대하고있다. 그들이 단지 그들의 기대를 전달하지 않았지만 그들이 생각한 경우에 이것은 때때로 기능 요청이된다. 때로는 당신의 기대가 틀린 것으로 판명되면 이것이 버그가됩니다.

그러나 많은 경우 사용자에게는없는 지식이 있습니다. "이 화면에서 이름과 성이 같은 기록을 두 번 추가 할 수 있습니다. 분명히 버그입니다!" 귀하의 답변은 다음과 같습니다. "전 세계에 이름과 성이 같은 사람이 많으므로 해당 조합을 고유하게 요구하지 않습니다. 밤에 실행되는 정리 작업이 있으며 가능한 중복 보고서를 이메일로 보냅니다. 고객 서비스에서 이름과 주소가 비슷한 사본을 감지하고 수동으로 확인하도록 요청하는 경우 "

따라서 모든 버그 보고서를 읽어야하지만 대부분의 복잡한 시스템에는 실제로 기능 요청이거나 요구 사항에 대한 잘못된 통신 인 버그 보고서가 있습니다. 실제 세계의 근본적인 복잡성을 이해하지 못하는 것이 아마도 이러한 문제의 가장 큰 원인 일 것입니다.


3
잘못된 의사 소통에는 의사 소통되고 동의 된 기대를 잘못 기억하는 것 (또는 명백한 잊어 버림)도 포함됩니다.
피터 테일러

1
큰 차이가 있지만, 여전히 응용 프로그램이 가능한 경우 잘못된 통신을 설명해야한다고 생각합니다. 동일한 이름을 가진 여러 사람들과 함께 응용 프로그램은 "우리는 이미 John Smiths가 아닌 3 개의 John Smiths를 가지고 있다고 확신합니다"라고 말합니다.
Alex Andronov

@Alex Andronov-잘못된 의사 소통은 문서, 툴팁 등을 변경하거나 교육 자료를 업데이트하거나 간단한 설명 및 진행과 같이 취할 조치가 없음을 의미하지 않습니다.
Scott Whitlock

7

이것은 지금까지 이전 답변에서 다루지 않았으므로 무지한 사용자 기반의 표시 일 수 있다고 덧붙입니다. 필자는 "무지한"이라는 단어를 경멸 적이거나 과감한 방식으로 사용하지 않으며, 단지 도메인이나 소프트웨어 자체의 복잡성에 대한 적절한 지식이나 교육이 없음을 표현하는 방법으로 사용됩니다.

대부분의 사용자는 특정 요구 사항을 충족하기 위해 소프트웨어가 얼마나 복잡한 지 잘 모릅니다. 80 %의 노력으로 인한 효과는 기능의 20 % (프린지 및 예외 경우)에만 적용됩니다.

그들은 때때로 소프트웨어가 본질적으로 특정 방식으로 여러 번 결함이나 데이터 손상 등을 방지하기 위해 행동 해야하는 이유를 이해하지 못합니다 ...

명확하고 간결한 문서와 커뮤니케이션으로 더 나아 지므로 걱정하지 않아도됩니다.


2
+1이지만 복잡함과 복잡한 것의 차이점을 찾아보십시오 ... 소프트웨어는 전혀 복잡 할 필요는 없지만 종종 매우 복잡합니다.
Marjan Venema

이것은 매우 사실입니다. 내가 겪는 가장 일반적인 사례는 다 대일 관계와 다 대다 관계의 차이를 깨닫지 못하는 사용자입니다. 내가받는 일반적인 요청은 "보고서에 헤더에 주문 번호를 표시 할 수 있습니까?"입니다. 그리고 사례의 약 95 %에서 작업하는 제품에 주문 번호가 하나 뿐이지 만 쿼리에 여러 주문의 데이터가 포함될 수있는 경우가 많다고 설명해야합니다. 그런 다음 질문해야합니다. 헤더에 모든 주문 번호를 쉼표로 구분하여 나열하겠습니까, 아니면 보고서의 각 세부 라인에 주문 번호를 표시 하시겠습니까?
Scott Whitlock

@ScottWhitlock 그렇습니다. 훌륭한 개발자 또는 비즈니스 분석가는 고객이 요청한 내용을 수행하는 것이 아니라 고객이 먼저 요청한 이유에 대해 겪고있는 핵심 문제를 밝혀 내야합니다. 문제를 식별하면 적절한 솔루션을 식별하고 적절한 요구 사항 또는 사용자 사례를 작성할 수 있습니다.
maple_shaft

5

해당 분야의 전문가 인 사용자에게는 큰 문제가있을 수 있습니다. 설계 상 소프트웨어를 찾는 회계사가 일반 회계 절차를 따르지 않거나 잘못된 공식을 발견 한 엔지니어를 상상한다고 상상해보십시오. 이것이 올바른지 조사하기가 너무 어렵지 않아야합니다. 필요한 경우 재 설계하고 수정하십시오.

적어도 더 많은 피드백을 얻을 때까지 특정 UI 기능이나 통화 기호 또는 다른 형식이 있어야한다고 생각되는 필드에 대한 의견을 고려해야합니다. 이것을 연구하는 것은 조금 더 어려울 수 있습니다.


1
답이 하나도 없다고 생각합니다. 사례별로 평가해야합니다. 나는 많이 생각했다.
Maxpm

5

내 경험에 의한 디자인 버그는 사용 사례가 실제 사용자에게 맞지 않음을 의미합니다. 실제 사용자를 유스 케이스에 사용하는 것에 대해 읽으십시오 (이름과 썸네일 설명만으로도 유스 케이스의 품질이 궁금합니다).

저명한 OS 벤더가 "이것은 의도적으로 설계된 동작"이라고 말하면 일반적으로 구현의 용이성 또는 상업적 이점을 염두에 두었습니다. 그렇지 않은 경우 사용자에게 실제 기술과 소프트웨어와의 관계를 찾아보십시오. 그들은 하루 종일 그것을 사용합니까? 재미를 위해? TPS 양식을 대체했기 때문에 일주일에 한 번?


5

UI는 최소한 놀랍게도의 원칙을 따라야합니다 . 설계된대로 작동하는 기능에 대한 반복 된 버그 보고서는이 원칙이 올바르게 준수되지 않았 음을 나타냅니다.


3
또는 분할 된 사용자 그룹이 있습니다. 예를 들어, 웹앱이 데스크톱을 흉내 낸다고 가정 해 봅시다. 창을 닫으면 프로그램이 닫힐 것으로 예상됩니까? Windows 사용자의 경우 예, Mac 사용자의 경우 아니요
keppla

1
@Keppla-좋은 지적입니다. 모든 사람을 기쁘게 할 수는 없으므로 여기에 언급 된 것과 같은 "버그"의 경우 "수정"이후에 더 많은 버그 보고서가 표시되지 않도록하기 위해 약간의 조사가 필요합니다.
Joris Timmermans

1
어쩌면 "수백 명의 사람들이 이것에 버그를 신고했습니다!"라는 데이터를 인용하는 것이 훨씬 더 강력합니다. 그것은 당신이 당신이 마지 못한 마법의 원리에 대한 그들의 개인적인 해석을 위반 했고 그들이 놀랐다는 것을 알려주는 열렬한 사용자를 갖는 것보다 . 한 사람의 "놀람"이 다른 사람의 "직설적"이기 때문에 나는 후자에 약간 지쳤습니다.
Jeff Atwood

@Jeff Atwood- "한 번의 삼키기는 여름을 만들지 않는다"는 말로 "하나의 버그보고는 디자인 오류를 암시하지 않습니다". 특정 기능에 대한 단일 버그 보고서는 재 설계의 원인이 아니며 공통 기능에 대한 여러 보고서조차도 대부분의 사용자가 "수정"없이 더 행복하지 않다는 것을 의미하지는 않습니다. 특히 원래 릴리스가 이미 유명하고 사람들이 "그런 식으로"사용하는 데 익숙한 경우
Joris Timmermans

2

두 가지 종류의 버그가 있습니다. 기능이 프로그래머의 의도와 일치하지 않거나 기능이 요구 사항과 일치하지 않습니다. 프로그래머는 전자를 후자에 해를 끼치는 데 집중하는 경향이 있습니다. 간단히 말해, 사용자가 많은 "설계 상 버그"를보고하는 경우 요구 사항은 생각과 다릅니다.


2

반드시 그런 것은 아닙니다. 보고 된 버그가 원래 정의 된 범위를 벗어난 소프트웨어를 사용 중일 수 있습니다. A, B 및 C를 수행하도록 설계된 소프트웨어를 고려하십시오 (사소한 예에서는 선, 삼각형 및 사각형 그리기). D가 논리적 다음 단계 (예 : 오각형) 인 경우 사용자는 그렇게해야한다고 가정 할 수 있으며 그렇게하지 않는 것은 버그라고 생각할 수 있습니다. 그러나 이것이 원래 범위를 벗어나면 버그가 아닙니다. 대신 디자인의 감독 (버그), 사양의 회색 영역 또는 개발자와 사용자가 만든 다른 가정이 될 수 있습니다.

(편집-@Marjan Venema의 제안에 따라 답변에 내 의견을 추가했습니다.


나는 이것이 버그 보고서로 표시되는 것을 실제로 보지 못합니다. 제안이나 기능 요청과 비슷합니다. (일부 버그 추적 시스템에서는 어쨌든 하나로 계산 될 수 있습니다.)
Maxpm

1
대부분의 경우 동의하지만, 이는 디자인의 감독 (버그), 사양의 회색 영역 또는 개발자와 사용자가 만든 다른 가정을 의미 할 수 있습니다.
James McLeod

1
제임스, 당신이 당신의 답변에 그 의견을 추가하면 전체 답변이 더 좋아집니다.
Marjan Venema

1

나는 디자인이 일반적이지 않고 사용자 요구 사항이 완전히 이해 / 분석되지 않았기 때문에 그 나쁜 징조를 믿습니다.

우연히 디자인이라는 두 가지 범주의 디자인을 봅니다. 의도적으로 디자인.

우연히 디자인하면 이러한 문제가 자주 발생하고 지속될 수 없습니다.


1

사용자의 "무지"에 대한 maple_shaft의 답변에 추가하고 싶습니다. 또한 사용자의 90 %가 자신의 경험과 시스템 사용 방법 만 신경 써야한다는 점을 명심해야 합니다. 그들은 다른 사용자를 신경 쓰지 않습니다. 왜 그럴까요? 디자이너 / 개발자로서 모든 종류의 사용자로부터 의견을 수렴하고 가능한 한 모든 사람에게 적합한 것을 만드는 것이 우리의 임무입니다. 대부분의 경우 모든 사람에게 최적의 솔루션을 만들 수는 없습니다.

그러나 물론 사용자의 의견을 읽고 평가해야합니다! 그들은 결국 당신의 창조물을 사용하는 사람들입니다!


0

버그 요청을 제출 한 사용자는 일반적으로 디자인에 대해 문의하지 않았으므로 의도적으로 디자인 결정을 한 버그로 간주하는 것은 놀라운 일이 아닙니다. 사용자에게 예상대로 작동하지 않는 것은 버그입니다.

문제는 종종 BA 또는 PM이 실제 사용자가 아닌 관리자의 요구 사항 만 가지고 있다는 신호입니다. 관리자가 시스템에 대해 기대하는 것은 종종 데이터를 입력하는 사람들이 실제로 필요한 것과 크게 다릅니다. 나는 실제 사용자들로부터 직접 데이터를 수집하도록 배웠지 만, 최근에 만난 대부분의 학사들은 단지 관리자들 (그리고 일반적으로 상대적으로 고위 관리자들) 과만 대화합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.