Grabduck

Сколько-сколько? Я бы это сделал за Х/10 рублей!

:

Вчера выдалась свободная минутка и я присел почитать Хабру. Одна из первых статей на которую наткнулся “ Наш ответ 3doodler`у. Собран за 20 минут”. И вот читаю я её, видео смотрю, и чувствую что у меня дежавю. Причём такое нехорошее. Поднимающее волну возмущения. Мне некомфортно.

Да что ж такое-то?

Я аналитик бизнес-процессов, архитектор и разработчик ПО. Конвертация “аналоговых” требований в “цифровую архитектуру” с последующей реализацией — моя миссия, мой хлеб.

Возвращаясь мысленно к причинам дежавю перед глазами предстаёт картина:

Сцена первая:


Вы встречаетесь с заказчиком. У заказчика есть проблема. Он не знает как её решить, не знаком с технологиями которые в этом помогут. Собственно потому вы сейчас и разговариваете.

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

Сцена вторая:


Прошло какое-то время. Сроки и стоимость уже согласованы. Работа в разгаре. Утром вы встаёте с мыслями о проекте. Ваше тело пьёт кофе но сами вы давно уже во власти абстрактных моделей, прототипов интерфейса, логических ловушек и несостыковок — порождениями минувшей ночи.

Наступает день. Вы смотрите в пустоту и улыбаетесь. Вы только что нашли решение одной мучившей вас проблемы. Одной из множества составляющих глобальную задачу. Это решение, оно почти осязаемо. Его ещё нельзя “потрогать”, но оно уже есть. Вы ловите себя на мысли, что ответ вам подсказали какие-то отголоски из ваших проектов начала 90-х годов прошлого века. Какие-то неуловимые аллюзии направили ваши мысли в нужное русло. Хм… Всё таки опыт важен даже в областях где многое меняется даже за несколько лет. Это радует.

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

Ночь. Сон, что может быть прекраснее? Или что-то может его омрачить? Кошмар? Нет… Мозг. Ваш мозг продолжающий отлаживать код. Раз за разом. Стоп! Это что? А если так? Возможно, при вот таких условиях тут вылезет баг! Как я это мог не учесть?.. 5:31 на часах. Я должен поспать. Утром разберусь. Утром… Спать!

Сцена третья:


Всё готово! Всё готово? Да как бы не так! Вы же опытны. Вы знаете, что если у вас на руках работающее готовое решение, то это ещё не конец — впереди внедрение. А внедрение оно коварно. Ооо, у него определённо будут для вас сюрпризы. Как поведёт себя система в реальных условиях? Вы пробегаетесь ещё раз по пунктам — нет, всё должно быть нормально. Надо запускать. Всё решаемо, всё это проходили много раз. Всё будет хорошо.

Сцена четвёртая:


Прошло время. Решение внедрено и работает. Позади настройка, подгонка под реалии, обучении пользователей. Клиент доволен…

И вот в один день, вы общаясь с этим клиентом на тему развития сотрудничества и чувствуете что-то не так. В процессе разговора вы выясняете, что у заказчика то ли по линии знакомства, то ли ещё какими судьбами был некий человек. Молодой, позитивный, держался уверенно. Человек, вроде как с вашего поля, ну это, тоже “программист”.

Заказчик показал ему вашу работу, вкратце объяснил что и как, и как бы невзначай спросил, сколько она на взгляд со стороны стоит. Человек думал пару минут и предположил сумму… И всё бы ничего, но озвученная сумма была раз в десять меньше. Так и сказал: “Я бы сделал бы за столько-то...”.

С тех пор ваш заказчик стал какой-то хмурый. Новых проектов с ним нет.

Рефлексия


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

Или нет?

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

Самая идеальная постановка задачи разработчику — демонстрация её воплощения.

А вы, что почувствовали вы? Знакомая ситуация?

UPD
Не воспринимайте написанное как реакцию на конкретные события. Упомянутая в начале статья косвенно дала толчок, но не была причиной. Тема витала в воздухе давно, в итоге оформилась. Прошу воспринимать этот пост как притчу. Я специально публикую его в пятницу. Так сказать под настроение.