Вчера выдалась свободная минутка и я присел почитать Хабру. Одна из первых статей на которую наткнулся “Наш ответ 3doodler`у. Собран за 20 минут”. И вот читаю я её, видео смотрю, и чувствую что у меня дежавю. Причём такое нехорошее. Поднимающее волну возмущения. Мне не комфортно.
Да что ж такое-то?
Я аналитик бизнес-процессов, архитектор и разработчик ПО. Конвертация “аналоговых” требований в “цифровую архитектуру” с последующей реализацией — моя миссия, мой хлеб.
Возвращаясь мысленно к причинам дежавю перед глазами предстаёт картина:
Сцена первая:
Вы встречаетесь с заказчиком. У заказчика есть проблема. Он не знает как её решить, не знаком с технологиями которые в этом помогут. Собственно потому вы сейчас и разговариваете.
Вы внимательно слушаете. Уточняете вопросы. Строите черновую модель решения выделяя участки задачи которые требуют отдельной проработки по объёмам работ и срокам. Параллельно выстраиваете стек технологий которые понадобятся и сопоставляете его с возможностями заказчика, с вашими текущими возможностями. Работа находится на стадии анализа. Работа уже идёт.
Сцена вторая:
Прошло какое-то время. Сроки и стоимость уже согласованы. Работа в разгаре. Утром вы встаёте с мыслями о проекте. Ваше тело пьёт кофе но сами вы давно уже во власти абстрактных моделей, прототипов интерфейса, логических ловушек и несостыковок — порождениями минувшей ночи.
Наступает день. Вы смотрите в пустоту и улыбаетесь. Вы только что нашли решение одной мучившей вас проблемы. Одной из множества составляющих глобальную задачу. Это решение, оно почти осязаемо. Его ещё нельзя “потрогать”, но оно уже есть. В ловите себя на мысли, что ответ вам подсказали какие-то отголоски из ваших проектов начала 90-х годов прошлого века. Какие-то неуловимые аллюзии направили ваши мысли в нужное русло. Хм… Всё таки опыт важен даже в областях где многое меняется даже за несколько лет. Это радует.
Поздний вечер. Вы уже устали, но задача не отпускает. Она неумолима. Пока не заработает прототип подтверждающий правильность решения придуманного днём — поспать не получится. И вы пишете. Вы отлаживаете. Без коммита спать не лягу!
Ночь. Сон, что может быть прекраснее? Или что-то может его омрачить? Кошмар? Нет…
Сцена третья:
Всё готово! Всё готово? Да как бы не так! Вы же опытны. Вы знаете, что если у вас на руках работающее готовое решение, то это ещё не конец — впереди внедрение. А внедрение оно коварно. Ооо, у него определённо будут для вас сюрпризы. Как поведёт себя система в реальных условиях? Вы пробегаетесь ещё раз по пунктам — нет, всё должно быть нормально. Надо запускать. Всё решаемо, всё это проходили много раз. Всё будет хорошо.
Сцена четвёртая:
Прошло время. Решение внедрено и работает. Позади настройка, подгонка под реалии, обучении пользователей. Клиент доволен…
И вот в один день, вы общаясь с этим клиентом на тему развития сотрудничества и чувствуете что-то не так. В процессе разговора вы выясняете, что у заказчика то-ли по линии знакомства, то-ли ещё какими судьбами был некий человек. Молодой, позитивный, держался уверенно. Человек, вроде как с вашего поля, ну это, тоже “программист”.
Заказчик показал ему вашу работу, вкратце объяснил что и как, и как бы невзначай спросил, сколько она на взгляд со стороны стоит. Человек думал пару минут и предположил сумму… И всё бы ничего, но озвученная сумма была раз в десять меньше. так и сказал: “Я бы сделал бы за столько-то...”.
С тех пор ваш заказчик стал какой-то хмурый. Новых проектов с ним нет.
Рефлексия
Может этот незнакомец гениален? Ведь он за несколько минут проанализировал бизнес- процессы, раскрыл цели и задачи решения, определился на чём и как он это будет делать, разработал архетиктуру, бизнес-логику, учёл нюансы внедрения. Дайте ему ещё немного времени и он выдаст тоже самое и даже лучше за стоимостьВашейРаботы/10!
Или нет?
Может человек уже увидел готовое, выстраданное решение, к которому тернисто шли другие и машинально оценил повторение уже придуманного? Ведь кажется что всё же уже ясно. Не в этом ли кроется одна из причин ошибочной оценки стоимости работ? Не признак ли это недостаточного опыта?
Самая идеальная постановка задачи разработчику — демонстрация её воплощения.
А вы, что почувствовали вы? Знакомая ситуация?
Автор: Staltec