вторник, 13 мая 2014 г.

Точное следование требованиям. Или кэповские напоминалки.

-Зачем ты это завела?
-Потому что это баг.
-А разве в требованиях указано это?



За последние 4 рабочих дня я услышала несколько раз: "Мы не будем это править, потому что поведение, описанное в баге, не указано в требованиях".

К поведению относилось:
1. Поехавшая кодировка, если нет данных
2. Английские названия столбцов в формируемых таблицах данных
3. Возможность создать два одинаковых элемента
4. Невозможность ввести дробные числа в поле

Знаете, для меня это очень хороший показатель - с кодером я работаю или с программистом. 
Поясню:
1. Кодер делает всё, как в требованиях. Шаг вправо - шаг влево: расстрел на месте. С ним невозможно договориться практически ни о чём, не гаркнув или не подняв проблему на уровень выше.
2. Программист анализирует и может вносить какие-то такие мелкие правки. И многие вещи для него очевидны. Большинство спорных моментов будет устранено ещё на этапе разработки. 

Если в требованиях что-то не указано, то это не значит, что этого не надо делать. Границы значений могут быть дробными. Пользователь может быть 55-летней бухгалтером, для которой непонятны английские слова (ещё и с уклоном в тех. английский). Какой-нибудь перфекционист может просто отказаться от программы с поехавшей вёрсткой в пользу другой, даже если по функционалу будет ваша программа будет опережать.

Требования никогда не бывают полными. В них никогда нет пошагово расписанного функционала, потому что многие вещи опускаются под эгидой: "ведь это же очевидно" если бы ещё важные вещи так не опускали... Это хорошо, если есть какое-то подобие ТЗ. А если это будет листик А4 с карандашной блок-схемой, нарисованной на коленке? Реальный случай в моей работе, кстати.

Тестировщик всегда должен ставить себя на место пользователя и отключаться от того, что продукт выстраданный в течение 8 месяцев. И говорить о неудобстве или о том, что это очевидный баг.

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

Какими вы способами решаете проблемы с кодерами?