Чи «Помилки» задумки є поганим знаком?


29

Це погана ознака, якщо користувачі надсилають звіти про помилки для речей, які є задумом?

Це, як правило, означає, що додаток є заплутаним чи незрозумілим, або я повинен просто додати його до одноразової помилки користувача, якщо конкретно не зазначено?

(У мене фактично немає таких звітів. Це суто гіпотетичний запитання про те, чи є погана річ існування "помилок", призначених для проектування.)


19
Можливо, хтось із програмістів Lotus Notes хотів би прокоментувати, оскільки там стандартна відповідь - «це не помилка, це функція, яку ви не розумієте».
Джеймс Андерсон

5
Мені здається, що вимоги користувачів, які надаються розробникам, не відповідають тому, що користувачі думають, що просили.
темптар

7
@temptar "Це те, про що я просив, але це не те, що я хотів".
StuperUser

5
Нещодавно мені присвоїли робочу позицію "помилка" за поведінку, яка саме конкретно прописана в специфікації (і про яку йшлося на етапі специфікації). Незважаючи на те, що поведінка може бути несподіваною з точки зору користувача (певна установка, на яку звертали увагу в інших місцях, ігнорується), якщо специфікація буквально все, але каже "давайте ігнорувати це, щоб заощадити час", то для мене це не помилка, а скоріше запит на зміну. Безумовно, хороший випадок може бути зроблений для того, щоб хотіти, щоб змінилося, але не називайте це помилкою .
CVn

7
@Dunk: Я впровадив систему, яка передбачає цілодобову роботу, оскільки нам не вдалося переконати клієнта у існуванні літнього часу. Вони просто не повірять, що бувають дні з 25 годин. Це помилка в програмі?
MSalters

Відповіді:


54

Це поганий знак? Я думаю, що це попередження, на яке варто звернути увагу, але я також думаю, що це має відбутися.

Коли люди надсилають мені будь-який відгук, я намагаюся відфільтрувати його на три відра:

  • Клопи
  • Запити на функції
  • Міс-спілкування

Клопи

Помилки - це коли щось очевидно не працює так, як ви очікували, ні так, як очікував би користувач . Мовляв, воно запитало мене про своє ім’я, я ввійшов до "Скотта", натиснув Enter, і він сказав: "Привіт Джо!"

Запити на функції

Це на кшталт "Я знаю, що ми ніколи про це не говорили, але чи може програма зробити висновок з моїх жестів миші про те, що я лівша, і перемістити кнопку ОК в ліву частину екрана?" Це коли поточна поведінка відповідає вашим і очікуванням користувача, але вони хочуть змінити очікування.

Міс-спілкування

Це коли ви очікуєте одного результату від сценарію, але користувач очікує іншого результату. Іноді це стає запитом на функцію, якщо вони просто не повідомили своїх очікувань, але думали, що це зробили. Іноді це стає помилкою, якщо ваші очікування виявляються помилковими.

Однак багато разів у вас є знання, яких у користувача немає. Що робити, якщо вони сказали: "На цьому екрані я можу двічі додати запис для себе з тим самим іменем та прізвищем! Очевидно, це помилка!" Ваша відповідь може бути: "У світі дуже багато людей з однаковим іменем та прізвищем, тому нам не потрібно, щоб ця комбінація була унікальною. У нас є завдання з очищення, яке виконується вночі та надсилає електронне повідомлення про можливий звіт про копії служба клієнтів, коли думає, що виявляє дублікат з подібним іменем та адресою, і просить їх перевірити вручну ".

Отже, ви повинні читати кожен звіт про помилку, але в більшості складних систем є звіти про помилки, які насправді є лише запитами про функцію або, можливо, неправильним повідомленням вимог. Нерозуміння основної складності реального світу, мабуть, є найбільшим джерелом цих питань.


3
Неправильне спілкування також включає неправильне запам'ятовування (або просте забування) очікувань, про які було повідомлено та погоджено.
Пітер Тейлор

1
Великі відмінності, але я все ж думаю, що програма повинна намагатися пояснити неправильне повідомлення, якщо це можливо. З декількома людьми з однаковою назвою додаток може сказати: "У нас вже є 3 Джона Сміта, ви впевнені, що це не один із них", з "Ні, я впевнений, що це новий Джон Сміт".
Олексій Андронов

@ Алекс Андронов - неправильне спілкування не означає, що не потрібно вживати жодних дій: або змінити документацію, підказки тощо, оновити навчальний матеріал, або, можливо, лише коротке пояснення та продовжити роботу.
Скотт Вітлок

7

Це не торкалося в попередніх відповідях до цих пір, тому додам, що це також може бути ознакою незнання користувачів. Я не вживаю слова "необізнаний" зневажливо або поблажливо, лише як спосіб висловити, що вони не мають належних знань чи освіти у своїй галузі чи складності самого програмного забезпечення.

Більшість користувачів не знають, наскільки складним програмним забезпеченням повинно бути відповідність певним вимогам. Щось досягає 80% зусиль, припадає лише на 20% функціональності (бахрома та винятки).

Вони іноді не розуміють, чому програмне забезпечення по суті має поводитись певним чином, багато разів, щоб запобігти безлічі дефектів чи пошкодження даних тощо.

Це не хвилює, оскільки це стає кращим за допомогою чіткої та стислої документації та спілкування.


2
+1, але, будь ласка, знайдіть різницю між складним та складним ... Програмне забезпечення взагалі не повинно бути складним, але воно часто буває дуже складним.
Мар'ян Венема

Це дуже правда. Найпоширеніший випадок, з яким я стикаюся, - це користувачі, які не усвідомлюють різниці між відносинами «багато в одного» проти «багатьох на багато». Поширений запит, який я отримую, - "чи можете ви змусити звіт показувати номер заголовка у заголовку?" і я мушу пояснити, що, хоча у приблизно 95% випадків є лише один номер замовлення на матеріали, над якими вони працюють, є багато випадків, коли запит може включати дані у кількох замовленнях. Тоді я повинен запитати, чи ви хочете, щоб я перерахував усі номери замовлень у заголовку, розділені комами, або ви хочете номер замовлення у кожному рядку деталей у звіті?
Скотт Вітлок

@ScottWhitlock Так, це те саме. Тоді хороший розробник чи бізнес-аналітик повинен не просто робити те, що просить клієнт, а намагатися розкрити головну проблему, яку вони відчувають, чому вони зробили такий запит. Після виявлення їхньої проблеми ви зможете визначити правильне рішення та написати відповідні вимоги чи розповіді користувачів.
maple_shaft

5

Якщо у вас є користувач, який є експертом у своїй галузі, у вас може виникнути велика проблема. Уявіть, що бухгалтер, який знаходить ваше програмне забезпечення, за дизайном, не дотримується загальних облікових процедур, або інженер, який виявить, що у вас неправильна формула. Це не повинно бути занадто важким для дослідження, щоб перевірити, чи правильно вони. Переробляйте та виправляйте, якщо потрібно - швидке.

Одну думку щодо певної функції інтерфейсу або поля, яке, на їх думку, повинно бути символом валюти чи іншим форматуванням, слід враховувати, принаймні, доки ви не отримаєте більше відгуків. Дослідити це може бути трохи складніше.


1
Тоді, мабуть, немає однозначної відповіді. Його слід оцінювати в кожному конкретному випадку. Я так багато рахував.
Maxpm

5

По моєму досвіду помилки дизайну означає, що випадки використання не відповідають вашим реальним користувачам. Спробуйте прочитати про використання реальних користувачів для ваших випадків використання (просто даючи їм імена та опис мініатюр, це робить чудеса для якості випадків використання.)

Коли відомі постачальники ОС кажуть, що "така поведінка є дизайном", вони, як правило, мали на увазі простоту впровадження або комерційну перевагу. Якщо це не ви, спробуйте дізнатись у своїх користувачів справжній набір навичок та відношення до вашого програмного забезпечення. Їм користуються цілий день? Для розваги ? Раз на тиждень через те, що він замінював форми TPS?


5

Користувальницький інтерфейс повинен дотримуватися принципу найменшого здивування - неодноразові повідомлення про помилки щодо функції, яка працює як розроблена, є свідченням того, що цей принцип не дотримувався правильно.


3
Або, що існує розділена група користувачів. Наприклад, скажімо, ваш веб-сайт імітує робочий стіл. Чи очікуєте ви, що закриття вікна закриє програму? Так для користувачів Windows, Ні для користувачів Mac.
кеппла

1
@Keppla - ви добре задумаєте. Ви не можете сподобатися всім, тому у випадку з "помилками", такими, як зазначені тут, потрібне певне розслідування, щоб переконатися, що після "виправлення" ви не отримаєте більше звітів про помилки, ніж раніше.
Joris Timmermans

1
можливо, але набагато потужніше навести дані "сотні людей подали помилки на це!" ніж це мати кілька несамовитих користувачів, які говорять вам, що ви порушили їх особисту інтерпретацію Магічного принципу найменшого здивування і вони здивовані. Я трохи втомився від останнього, оскільки «здивування» однієї людини - це «прямо».
Джефф Етвуд

@Jeff Atwood - як говориться "одна ластівка не робить літо", "один звіт про помилку не передбачає помилки дизайну". Один звіт про помилку щодо чогось, що є функцією, не є причиною для перепроектування, і навіть кілька звітів про загальну функцію не обов'язково означають, що більшість ваших користувачів не були б щасливішими без «виправлення». Особливо, якщо ваш оригінальний випуск вже популярний і люди звикли його використовувати "таким чином".
Joris Timmermans

2

Існує два види помилок: функціональність не відповідає намірам програміста або функціональність не відповідає вимогам. Програмісти мають тенденцію зосереджуватися на першому на шкоду другому. Простіше кажучи, якщо ваші користувачі повідомляють про багато помилок ", - ваші вимоги не такі, як ви думаєте.


2

Не обов'язково. Можливо, повідомляється про помилку у використанні програмного забезпечення, яке знаходиться лише за межами його початково визначеної області застосування. Розглянемо програмне забезпечення, розроблене для A, B і C (для тривіального прикладу, намалюйте лінії, трикутники та прямокутники). Якщо D - логічний наступний крок (наприклад, п'ятикутники), користувач може припустити, що він повинен це зробити також, і якщо цього не робити, це помилка. Але якщо це виходить за рамки оригіналу, це не помилка. Натомість це може бути нагляд (помилка) в дизайні, або сіра зона в специфікаціях, або інший набір припущень, зроблених розробником та користувачем.

(Редагувати - додав мій коментар до відповіді на пропозицію @Marjan Venema.


Я насправді не бачу, щоб це позначалося як звіт про помилку. Більше, як пропозиція чи запит на функцію. (Хоча, у деяких системах відстеження помилок, це все одно може вважатися однією.)
Maxpm

1
Я згоден, більшу частину часу, але це може означати недогляд (помилку) в дизайні, або сіру область в специфікаціях, або інший набір припущень, зроблених розробником та користувачем.
James McLeod

1
Джеймсе, якщо додати цю коментар до своєї відповіді, вся відповідь стає кращою.
Мар'ян Венема

1

Я вважаю, що це погана ознака, головним чином, через те, що дизайн не є загальним, а вимоги користувачів не повністю вивчені / проаналізовані.

Я бачу дві католики дизайну, - Дизайн випадково. - Дизайн за задумом.

Дизайн випадково призводить до таких проблем часто і не може витримати.


1

Я хотів би додати відповідь maple_shaft про "незнання" користувачів. Ви також повинні мати на увазі, що 90% користувачів будуть дбати лише про власний досвід та спосіб використання системи. Вони не переймаються іншими користувачами, чому вони повинні? Наша робота як дизайнерів / розробників - брати участь у різних користувачів та робити щось найкраще для всіх. У більшості випадків ви не можете зробити рішення оптимальним для всіх.

Але звичайно вам потрібно прочитати та оцінити відгуки користувачів! Зрештою, це ті, хто використовує твоє творіння!


0

Користувачі, які подавали запити про помилки, як правило, не консультувались щодо дизайну, тому не дивно, що вони бачать речі як помилки, які були обдуманими дизайнерськими рішеннями. Для користувача все, що не працює, як очікувалося, - це помилка.

Я виявив, що проблема часто є ознакою того, що BA або PM мають лише вимоги від менеджерів, а не реальних користувачів. Те, що очікують від системи менеджери, часто сильно відрізняється від того, що насправді потребують люди, що вводять дані. Мене вчили збирати дані безпосередньо від реальних користувачів, але більшість бакалаврів, з якими я стикався останнім часом, лише розмовляють з менеджерами (і взагалі відносно старшими менеджерами при цьому).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.