Проваленные проекты. Кто виноват?

По мотивам дискуссии о проваленных проектах между Глебовым, Сапожниковым и Истомин

Начнем с определения что такое проваленный проект. Самый главный признак проваленного проекта - когда и заказчик, и исполнитель не довольны результатом. Если результатом недоволен только исполнитель, но заказчик довольно потирает руки – это скорее успешный проект, с издержками моральными (написали гавнокод), либо репутационными (вот фигню сделали, как просили), либо финансовыми (потратили ресурсов больше чем планировали, вышли за себестоимость и т.п). Такие проекты я бы не стал, относить к провальным. Как бы то ни было, заказчик доволен, работа сделана, оплачена. Теперь этот заказчик будет способствовать прямо или косвенно получению дальнейших заказов. Другой вариант, когда доволен исполнитель, но не доволен заказчик. Это скорее откровенное кидалово со стороны исполнителя, потому что адекватный исполнитель никогда не будет доволен, видя что плоды его труда не приняты так хорошо, как, по его мнению, они заслуживают.

Итак, проваленный проект – это ситуация, когда и заказчик, и исполнитель не довольны результатом совместной работы. Как правило, провальный проект сопровождается отказом заказчика от взятых на себя обязательств по выплате вознаграждения. (Сам по себе последний признак не всегда символ провального проекта. Работа может быть проделана успешно, все были довольны, просто у заказчика возникли проблемы с финансированием, либо сменились приоритеты)

Кто же виноват?

В проваленном проекте виноват на 100% заказчик.

Удивились? Тогда вот типичный набор ошибок заказчика, которые сопровождают провальный проект.

Отсутствие понимания, что мы делаем и зачем нам это нужно.

Самая главная и фатальная ошибка. Заказчик не понимает, а что он вообще хочет. Заказчик не имеет картины того, что он должен получить на выходе. Грубо говоря, если мы не знаем куда едем, мы никогда никуда не приедем. Если мы не знаем каким должен быть результат, мы никогда его не получим. Поразительно, но в моей практике 100% провальных проектов было именно по этой причине. Как же такое получается? Как можно платить деньги, не зная, что мы хотим получить? К сожалению, я могу лишь догадываться о самых типичных причинах возникновения такой ситуации.

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

Это лишь один из сценариев ситуации.

Другой сценарий, когда заказчик просто не понимает зачем ему нужен программный продукт, как будут окупаться его деньги, вложенные в него, и делает заказ просто, потому что: так принято или есть у конкурентов, не в даваясь в детали.

Оба сценария очень жизнеспособны и встречались мне неоднократно. Иногда соединяясь в один.

Как этого избежать? Ответ предельно прост.

Вспомните, как Вы покупали жилье.

Если дом то, потому что: хочу больше пространства, не хочу шумных соседей, хочу чтобы машина была под боком, хочу иметь живность, люблю копаться в гавне(земле). Это мотивация.

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

Я бы хотел, чтобы в доме был сад. Я бы хотел, чтобы в саду были яблони. Я бы хотел, чтобы забор был кирпичным. Эти требования не критичны, но при прочих равных условиях, в частности цены, я выберу дом, который им удовлетворяет. Это дополнительный функционал.

Таким образом, собираясь заказать программный продукт, четко и внятно сформулируйте для себя эти требования. Запишите на листок. И никогда не меняйте их в процессе работы.

Не умение выбрать подрядчика, подходящего под поставленные задачи.

Что же это значит? На самом деле все просто. Если Вы хотите купить квартиру – Вы идете к риелтору. Если Вы хотите построить дом – в строительную компанию. Если хотите купить презервативы – в аптеку. Если Вы перепутаете подрядчиков и захотите купить презервативы в строительной компании, Вы, скорее всего, потеряете время, а может даже получите по лицу.

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

Помните, все серьезные компании имеют четкое определение сферы деятельности, где они имеют опыт работы и получения доходов. Компания, которая имеет опыт разработок только 1С, никогда не возьмется делать сайт. У них нет для этого специалистов. Компания которая делает сайты визитки на Жумле, никогда не возьмется писать аналог одноклассники.ру. Компания, которая занимается серьезными веб-разработками, никогда не станет делать «сайт за 3 дня и сто баксов».

Если Вы не задумались об этом и заказали студентам, переоценивающим себя делать для Вас Интернет банкинг – это целиком Ваша вина.

Это, к сожалению, та ошибка, за которую принято сваливать вину на разработчиков. Дескать, переоценили себя, взялись не за ту работу.

На самом деле – это целиком вина заказчика. Вы поручите молодцам с Молодой Гвардии стелить Вам дорогущий паркет? Нет? А почему? Они согласятся и за пол цены. И даже за четверть.

Значит, заказчик либо решил сэкономить в ущерб качеству, либо поленился элементарно изучить рынок услуг, которые желает приобрести.

Ни в коем случае не хочу сказать, что студенты или начинающие студии зло. Вовсе нет. Если Вам надо вскопать огород, парни с молодой гвардии будут самым оптимальным решением, нежели дорогой укладчик паркета. Если Вам нужно за один день накидать сайт, на Жумле, чтобы просто показать цены на Ваши кизяки. Либо своять программу, которая при нажатии красной кнопки будет посылать сигнал на ком порт – такие студии самое правильное расходование Ваших средств.

Вывод. Изучите рынок труда. Найдите верного подрядчика. Покупайте презервативы в аптеке, а дом у строительных компаний.

Не верно рассчитанный бюджет.

Если Вы хотите купить особняк, но имеете деньги только на сарайчик в поле, Вы никогда не купите особняк. Все просто как два пальца.

Если кто-то Вам пообещает иное, см предыдущий пункт. Если Вы строите дом, у и Вас не хватает денег на яблони, возможно, Вам пойдут на встречу и посадят яблони. Но если Вы потребуете пристроить еще один этаж в рамках старого бюджета – Вы получите конфликт и недостроенный дом.

Если Вы будете каждую неделю просить: посадить яблони, поменять стекла, поменять кафель, другие обои, до какого то времени Вам будут идти на встречу, пока общая сумма изменений не станет значимой для строителей. Потом Вы будете удивлены, когда в ответ на просьбу повесить на ворота табличку, которая не учтена в смете получите от прораба по лицу. Логично?

Вывод. Помните правила бизнеса: каждая предоставленная Вам услуга должна быть оплачена.

Плохие коммуникации.

Если Вы имеете представление о том, что хотите получить. Если Вы верно выбрали подрядчика. Если Вы готовы оплатить все предоставленные Вам услуги, а на выходе получилось то, что Вас не удовлетворяет. Значит, в процессе работы были нарушены коммуникации.

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

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

Вывод. Будьте уверены что Вы видите всю картину разрабатываемого программного продукта. Будьте компетентны в решении текущих вопросов. Будьте, открыты для коммуникаций. Будьте доступны 24 часа в сутки для срочных вопросов. Обрисовывайте все детали программного обеспечения.

Самоуверенность.

Не могу не остановится на этом пункте. Хотя он не является настолько ключевым, как первый. Тем не менее.

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

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

Вывод. Прислушивайтесь к подрядчику. Находите компромиссы. Не берите на себя его функции.

Помните Вы - водитель. Вы задаете направление. А уж как работает двигатель, как подается бензин из бензобака, как при повороте руля, двигаются рейки и поворачивают колеса, Вам управлять не надо, иначе угробите и себя и автомобиль.

Сроки.

Чаще всего конфликты возникают именно в этой области.

Никогда не назначайте свои сроки. Сроки подрядчика так или иначе проверены его бизнес практикой. Ваши же не подкреплены ничем, кроме планов, основанных на Вашей же субъективной оценке. Это не правильно. Если согнать в одну яму сорок человек, они выкопают ее не быстрее чем 10, потому что будут все время сталкиваться лбами. А оплатить Вам придется работу всех сорока.

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

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

Будьте готовы к тому, что у подрядчика могут случиться перебои с подвозом стройматериалов, стачка рабочих, наконец, он просто не посчитал праздники в этом месяце. Все мы люди, не роботы. А Вы уже доложили начальству что, «22-го июня ровно в 4 часа»? Или назначили запуск дорогущей рекламы? И кто после этого виноват?

Если Вам все-таки крайне необходимо 22-го июня, ровно в 4 часа, обязательно обговорите это с подрядчиком. Возможно, он предложит свой вариант «потемкинских деревень» для Вашего начальства. Поверьте, это будет лучше, чем пустой котлован в поле.

Вот собственно и все.

А теперь рассмотрим эти же ситуации со стороны исполнителя

В проваленном проекте на 100% виноват подрядчик.

Снова не ожидали? Я специально не стал писать в начале, что виноваты оба. Написать, что виноваты оба – значит как-то располовинить вину каждого из участников. Это не верно. Вина здесь 100%-я. Потому что каждый из участников может ее избежать.

Итак, разработчики. Вот наши типичные ошибки.

Неумение распознавать заказчика, который не знает что хочет.

На что Вы надеетесь, принимая такие заказы? Признайтесь, Вы тешите себя тем, что с первого раза угадаете, что нужно человеку? Никогда не угадаете.

Если человек еще не решил где он хочет жить, в квартире или доме, как можно построить дом на пятом этаже? Или подобрать квартиру, где можно держать живность и завести огород?

Презерватив за миллион, или дом за три копейки.

Если человек пришел к Вам по ошибке. Ему нужен презерватив. Вы сумели убедить его в том, что ему нужен дом. Что мы получаем в итоге? Пункт номер один. Человек еще не знает какой дом ему нужен. Ему надо прийти в себя от шока и сформулировать требования к дому. Или вспомнить, что он вообще-то шел за презервативом. У него нет миллиона на Ваши услуги. Пусть купит презерватив и потом, спустя несколько лет вернется с деньгами.

Если человек не видит разницы между серьезными разработками и визиткой на бесплатной cms с шаблонным дизайном, а Вы делаете только серьезные разработки. Даже если он согласится с Вашими ценами и условиями изначально. То потом будет неприятно поражен тем, что такие компоненты как: рейтинги, комментарии не бесплатно скачиваются и ставятся за копейки, а требуют полного цикла разработки с нуля. Вы заложили зерна потенциального конфликта, только потому, что это был изначально не Ваш клиент. Он не хотел золотой презерватив за 30К баксов. Он просто не знал цен.

Если Вы аптекарь. И к Вам пришли с просьбой построить дом. Не надо надеяться, что Ваш сват, брат – строитель смогут удовлетворить данного клиента. Либо для Вас это шанс забросить скучную аптеку и открыть строительный бизнес. У Вас нет в этом опыта. Вы потеряете свое время, поссоритесь с клиентом и ничего кроме негативных впечатлений не получите.

Бюджет – сарай в поле

Вы строите элитные дома. К Вам пришел человек и говорит у меня есть деньги, которых по Вашему мнению, хватит только на сарай в поле. Единственная правильная модель поведения в данном случае – это показать каталог Ваших домов с примерными ценами, а после отправить пришедшего к тем, кто строит сараи. Пусть он сам увидит разницу и для себя решит, что ему нужно. Хочет ли он жить в элитном доме и готов копить на него пару лет, чтобы снова прийти к Вам, либо его доходы никогда не позволят ему рассчитывать на жилье такого класса, и он смирится с покупкой сарая. Либо он вообще не видит разницы – тогда зачем ему платить больше?

Если человек по-прежнему хочет элитку, но бюджет у него утвержден как на сарай, смотрим пункт один. Он не адекватен. Ничего хорошего из того не выйдет.

Даже если у Вас нет других заказов и Вы решили пойти ему на встречу. Зерна для конфликта уже есть. Вы думаете: У него такой маленький бюджет – мы ему просто поставим бетонную коробку. Клиент же имеет свои критичные требования к продукту: двор, гараж, газопровод, канализация не менее четырех комнат. Он никогда не согласится принять бетонную коробку, пока не пройдет весь цикл переосмысления стоимости. А как вы будете отвечать в суде, если убьете его в ответ на просьбу передвинуть на два метра несущую стену? А ведь при нормальном бюджете, в который заложены риски на адекватность, Вы бы скрипя зубами, это сделали, не потеряв лица.

Бюджет - Яблони в саду

Если Вы работали себе работали, посадили яблони, а потом дали по морде только за то, что Вас попросили прикрепить табличку – Вы не адекватны. Вот что подумает заказчик. И будет по-своему прав. Он то думал, что все его доработки – это обычный рабочий цикл. Он понятия не имел, что Вы не заложили их в смету. А Вы сказали ему об этом? А насколько настойчиво и твердо? А Вы оговорили в самом начале, что вариантов дизайна будет всего один?

Теперь об уступках. Допустим, заказчик просит незначительные изменения (менее 1 дня девелопмента). Что делать? У меня на этот случай есть такой пример. Если Вы будете каждый день покупать своей женщине цветы, а в один прекрасный день откажитесь – Вы получите скандал. Если же это будет приятным сюрпризом и происходит раз в несколько недель – любовь. Не делайте из подарков – привычки. Обсчитывайте все, что не было заложено в смету. Не потому что это так сложно, а потому что ведет к неверной модели понимания Вас и Вашего бизнеса.

Коммуникации.

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

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

Неуверенность в себе.

Мой любимый пример. Вы пришли к врачу. И врач начинает Вам задавать вопросы:
- У Вас что болит рука? Давайте мы ее отрежем? Или просто укол поставить, или таблеточку дать?

Получится у такого врача адекватный диалог с пациентом? А если клиент попросит убить его – врач согласится, исходя только из того, что клиент так хочет?

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

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

Вывод. Коммуникации, коммуникации и еще раз коммуникации.

Сроки.

Самое больное? А все почему? Основная причина срыва сроков – не изученные до конца потребности заказчика. Вы все детали обговорили? Какие он выбрал окна? Не те ли, что придется везти чартером из Турции, потому что больше их нигде не продают? А вот фотографий в форме редактирования сколько будет? Одна или сколько угодно с красивым флешевским загрузчиком под дизайн сайта?

Невозможно предугадать и описать все, но если у Вас большая практика, Вы всегда имеете статистику по рискам и задержкам. Умножьте на два и заложите ее в смету.

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

Забудьте модели, когда Ваня и Петя на спор выложили за день стены. Такого больше не повторится. Ориентируйтесь на тихоню Пришта, который худо-бедно, но стабильно кладет 100 кирпичей в день. Пусть это будет эталоном оценки.

Если Вы не работали с технологиями, которые будут в проекте, либо будете использовать продукты от других производителей, заложите это в сроки! Не надейтесь что все пройдет гладко, как в тот раз с WYSIWYG-ом. Вспомните танцы с бубном при попытке поковырять код Битрикса. Неделя ушла? И все стояли ждали?

Заложите, наконец, те самые риски на переносы несущих стен.

А теперь стойте за эти сроки – как бойцы – Панфиловцы под Москвой. Ни шагу назад. Если клиент выторговывает 2-3 дня, значит, он жестко спросит за всякую просрочку.

Это Ваша самая главная роль! А не бегать с кнутом за сотрудниками, которые вынуждены, будут ночевать в офисе из-за того, что Вы по доброте душевной скинете пару недель.

Если клиент адекватен – он примет Ваши условия. Если же у него свои форс-мажеры, попробуйте решить эти проблемы вместе. Например, разделить работу на несколько этапов. Или быстро поставить картонные фанерки с изображением домика для начальника.

Резюмируя все вышесказанное, хотел бы сказать: только два законченных пофигиста (клиент и заказчик) убьют проект. Опытный девелопер всегда имеет выбор отказаться от провального проекта изначально, как только обозначились перечисленные выше признаки, либо принять его, рассчитать все риски и вытягивать на себе все промахи заказчика.

Идеальные заказчики - очень большая редкость. Я бы даже сказал - это сказки про принца из Золушки. Ведь все мы люди. И чаще всего девелоперу приходится вытягивать на себе все возможные промахи и ошибки. К этому, на мой взгляд, следует относится спокойно, как к профессиональной болезни. У водителей – гемморой, а учителей – артрит, у девелоперов – инфаркт %)