2008-10-16

Если б я был султан.

Сегодня назрела интересная для меня тема, которую можно обозначить как - нестыковка ожиданий с результатами. Встречались ли вы с ситуациями, когда например, вы ожидаете от программиста определенного качества кода и возможное решение описаной проблемы, а результатом получаете набор практически неюзабельного кода? С кучей багов, с криво реализованным юзер интерфейсом, отсутствием минимальных проверок и т.п. Или самое страшное - неправильно понятая логика приложения. Другой пример - тестировщик который пропускает настолько серьезные области приложения, что не понятно, как он вобще его тестировал? Даже когда есть чек лист. И после этого всего, оба считают что свою задачу выполнили добросовестно, и работа сделана хорошо.

Я понимаю, такие ситуации встречаются очень редко, 95% програмистов и тестировщиков выполняют задачу качественно :). Но я не понимаю откуда беруться последние 5%.

Сразу определю -
1) я говорю об адекватных, не глупых а часто и умных людях. Людях которые хорошо учились в институте, которые нормально общаются вне работы.
2) такие ситуации наблюдал не я один, а разговаривал с лидами в нескольких компаниях.
3) так как большинство задач понимаются правильно другими людьми то перенести проблему на постановку задачи не получается - другие 95% же делают нормально.

Это было описание проблемы, а вот решения ее, я к сожалению не знаю. Если знаете - скажите.
Зато есть теория которую проверить в полной мере не удалось пока :)
Возможно, главной проблемой подобных людей является то, что они понимают задачу с какой-то собственной точки зрения. И совсем не думают - а нахрена они это делают? Какая цель этой програмы, как она может помочь пользователю? И если б я был пользователем этой програмы , как бы я ее запускал и какие кнопки нажимал? Пользовался ли я бы вобще этой программой? Если нет, почему?
То есть, человек должен научится абстрагироваться от собственного стула и представить что он - его клиент, пользователь программы, наконец шеф который ставит задачу. И просто подумать - что Я (то есть "клиент") могу хотеть раз ставлю такую задачу?

Конечно, в больших командах для каждой части программы есть специально обученые люди, которые думают о юзабилити, функциях, тестах и так далее. Но кто как не сам программист, или я не говорю уже о тестировщике , которые должны знать свою программу лучше всех, не может увидеть что программа где то не юзабельна, или выполняет не те функции которые полезны пользователю. Что она вобще реальное гавно. И почему после этого они выпускают свою програму в релиз..не понимаю.

Скажу чесно , я этим способом постановки себя на чьето место пользуюсь постоянно и ничуть не жалею. И мои клиенты надеюсь не жалеют :) А клиенты это и пользователи, и начальники, и подчиненные, все с кем я прямо или косвенно сталкиваюсь.

Комментариев нет:

Отправить комментарий