Так хотел заказчик
Неплохое название для английского детектива, не правда ли? Что-то мрачное и загадочное, обязательно с изрядной долей черного юмора. Но нет, не будет никаких трупов под кроватью, частных сыщиков, инспекторов Скотланд-Ярда – разве что безвинно загубленный бюджет и похороненные надежды пользователей на лучшую жизнь с внедрением нового решения.
Эта фраза – «так хотел заказчик» – универсальное оправдание для всех убогих, кривых и непродуманных и неудобных систем, которые мне доводилось видеть. Айтишники словно испытывают какое-то садистское удовольствие, делая интерфейсы и предлагая сценарии, с которыми нормальному человеку работать невозможно – и еще уверяют, что их клиенты страшно довольны. (Здесь я не разделяю внутренние ИТ и внешних исполнителей – против конечных пользователей они обычно выступают единым фронтом.)
Если человек слаще морковки ничего не видел, он не попросит у вас ананас
Изъян лежит в самой методологии: разработчики спрашивают заказчика, что бы он хотел от системы, тщательно записывают все пожелания, потом половину выкидывают, потому что это для них сложно, оставшиеся реализуют как они сами поняли – и скармливают это клиенту.
Дело не в том, что есть какие-то «плохие» айтишники, которые хотят обмануть клиента. Исходная посылка неверна: клиент в принципе не может сформулировать требования к системе.
Простите за банальность, но если бы Стив Джобс ходил и спрашивал заказчиков, каким они видят мобильный телефон, каковы были бы шансы получить в итоге то, что мы сегодня имеем — iPhone и всю индустрию мобильности? Ноль.
Тогда какие есть у нас основания думать, что заказчики видят, какой должна быть ERP, СЭД, CRM? Никаких.
Ответственность за качество решения — целиком на разработчике
Для компаний, делающих ПО для массового рынка этот тезис не требует обоснования. Если их «изделие» окажется недостаточно хорошо, если что-то будет непонятно или неудобно для пользователей – они в пролете. Все четко, клиент голосует рублем.
Если разработчик «попал в яблочко», угадал, чего на самом деле хотят пользователи, то можно пришивать новые карманы для денег. Но извлечь это знание из хотелок пользователей практически невозможно.
К сожалению, на корпоративном рынке все иначе – ответственность очень часто спихивают на заказчика. Что попросил, то и сделали. Захочет по-другому – не вопрос, любой каприз за ваши деньги.
Пользователи — не инноваторы. И это нормально
Во-первых, им некогда. Во-вторых, информированность пользователей о возможностях технологий гораздо меньше, чем у специалистов. Это касается не только ИТ. Разве пользователи автомобилей просили коробку-автомат или подушки безопасности? Нет, это придумали инженеры.
Так же и в ИТ – не нужно искать откровения в пожеланиях пользователей. «Сделайте так, чтобы после внедрения системы у нас ничего не изменилось в работе» – довольно обычный ответ на приставания бизнес-аналитиков. Ну, может, что-то хотят чуть быстрее или автоматизировать уж совсем какую-то рутину. О подлинно трансформирующих инновациях речь обычно не идет.
(Есть еще вариант «сделайте мне, как у наших коллег-конкурентов, только лучше/дешевле» – по большому счету это не инновация, а тиражирование известной практики.)
Традиционный вопрос - «Что делать?»
Однозначно, уходить от привычного сценария «предпроектное обследование — разработка ТЗ – реализация – сдача заказчику». Заказчик не обладает такой силой воображения, чтобы даже по детально прописанным функциональным требованиям представить себе, как будет выглядеть система и согласиться с этим.
Возможно, выход найдется в применении методологии разработки ПО для потребительского сектора, для широкого рынка. Нужно смотреть как делаются игры, разные полезные для людей сервисы, интернет-магазины и т. д. И перенимать эти практики.
Facebook даже когда был маленький не спрашивал своих пользователей, что именно они хотят – разработчики делали, как видели сами. Ошибались, исправляли. В итоге — может мы и ворчим на Цукенберга по отдельным поводам, но в целом-то неплохо получилось, ведь так?