Pull to refresh

Comments 108

Да пусть в следующий раз закажет у удальца.
Либо обиды оправдаются, либо он вернется к вам с большим уважением :-)
Если я правильно понял пост — дело не в том, что клиент ушёл. Дело именно в «ложечки то нашлись». То есть вернется клиент, закажет новый проект и будет доволен. Но дело в том, чтобы клиент был доволен в данном случае ему придётся понять, из чего состоят трудозатраты на проект, ошибаться, оступаться, заказывать проекты у «внедряльщиков» за Х/10 рублей, плеваться на их работу. Но это время, это заваленные «внедряльщиками» проекты, которые так же влияют на карму всех остальных участников процесса на рынке в целом («да-да, знаем мы эту вашу 1С, на ней только бухгалтера могут работать, нашей супер-мега корпорации нужен SAP»).
Для этого и нужны документация, этапы и планы работы, оформленное Т.З., наконец.

Ну и заказчик, который в общих чертах объяснил проблему, потом ждал, потом получил решение — и все это время даже не понимал, что получит, и сколько оно стоит — такой заказчик либо заказал мало, либо вызывает удивление. Он сам должен был бы хоть как-то следить за своим проектом, а, проследив, понял бы, что за его X рублей разработчик не фигней страдает.

Вывод — проблема-то не клиента, а разработчика.

Клиенты, особенно серьезные, кстати, на X/10 «на словах» ведутся редко, да и текущему подрядчику об этом упоминают максимум как попытку чуть поторговаться, а то и просто как анекдот. Потому что и первый разработчик мог (явно мог) сделать все хоть за рубль, но вот устроил бы результат заказчика? Ведь за что платишь, то и получишь, никуда не деться…
UFO just landed and posted this here
> Ну если я кого-то нанимаю, значит я абсолютно не понимаю это область, потому не могу сделать сам
Вот уж нет. Вы можете нанять работника делать что-то, поскольку за то же время заработаете больше денег, чем сэкономите, бросив работу, и занявшись новым для себя делом. Ремонт в квартире — тому пример :) Не надо мыслить категориями экономящего на всем ценой своего здоровья — не все так живут.

ТЗ должен писать профессионал. Но вот тот ли, кто будет выполнять — это вопрос.

Если исполнитель — не идиот, и хочет «срезать углы», он сделает себе такой ТЗ, что сам же и будет рад. И заказчик (не возьмись он сам во всем разобраться — но в вашем примере он не таков) будет в шоке от результата, хотя, по бумагам, все сделано правильно. Более того, вопрос репутации его тоже может не беспокоить, т.к. «умный» заказчик, судя по посту, не особо склонен заслуги в виде хорошего выполнения работы запоминать.

Чаще имеем ситуацию, конечно, менее явную. Не все исполнители умеют писать ТЗ (я уже не про ГОСТ говорю, а хотя бы про такое, по которому и заказчику, и самому подрядчику будет легко принимать и сдавать работу, и которое не допустит двояких трактовок), и не все постановщики задач сумеют наилучшим образом воплотить ТЗ в жизнь. Это как, глядя на ваш промер про дом, смешивать прораба и архитектора: прораб, в силу своего уровня мышления, дом-то построит, но некрасивый. Архитектор отлично спроектирует дом, но строить его, увы, не сможет. И то, и другое, конечно, обобщение, но все же надо помнить, что поиск спеца для заказчика, не понимающего ничего, задача не из простых, и шанс, что вместо просто прораба и просто архитектора (которых по отдельности найти вполне реально) ему повезет найти честного, грамотного прораба-архитектора — малы.

Заказчик, конечно, не обязан понимать все в ТЗ — но полноту и вменяемость он оценить в состоянии. Затем и делается эта работа!

Вы, я так понимаю, ближе к разработчикам? Вот и решите для себя — Вы лично в чем лучше разбираетесь, в проектировании, или в реализации?
Странное заблуждение. Откуда исполнитель знает, что вам нужно? Предположим вы заказываете проект дома архитектору. Вы укажете количество комнат, или состав семьи, а комнаты архитектор сам расчитает, вам нравится двухэтажные дома, или никаких лестниц — один этаж. Можете конкретизировать материал стен, а можете указать только географическую зону. Вот это и будет ТЗ для архитектора. Сам архитектор ничего такого написать не в состоянии — он же не телепат.
UFO just landed and posted this here
Вот он корень проблем. Вы не понимаете, не можете даже поставить задачу правильно, добровольно перекладываете решение на дядю и ждёте волшебства.
Если я в чём-то не понимаю, то сразу начинаю искать кого-то знакомого, кто понимает и с кем я могу хорошо контактировать. Консультируюсь у него. А в идеале он вовсе становится переводчиком моих желаний в язык рыночных реалий.
Вот именно поэтому процветают консалтинговые компании, которые для Заказчика выступают в качестве постановщика задач. Очень дорого, но результат более предсказцем. Если консалтинг идет со стороны Исполнителя — возможны варианты…
Есть мерзкая особенность, что заказчик психологически считает деньги, выкинутые на треш-подрядчиков, куда-то вложенными (нет, это конечно вложение в неудачный опыт, но это не то, что подлежит учету) и ожидания раз за разом будут расти.
Заказать у удальца это неглупо даже:

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

нанять индусов, которые напишут кое-как криво «программу», которая на самом деле будет прототипом, а потом после того как будут пройдены «детские болезни» и станет понятно что и как делать, опытные специалисты могут быстро и качественно написать все как надо.

Понятно что это применимо только на специфических проектах, но все же.
Против такого подхода есть пара возражений:

1. Сменить программу будет очень проблематично. Переход болезненный с программы, которая работает и все текущие данные в ней. Кроме того, возможен парадокс Ахиллеса и черепахи: пока в новой программе делается важная для бизнеса фича N, в старой делают фичу N+1

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

> 1. Сменить программу будет очень проблематично

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

> 2. Индусы могут просто не знать best practices. *** Заказчик и догадываться не будет, что во всём мире работают на порядок эффективнее,

Ну поэтому я и говорю, что опытные специалисты потом перепишут когда будет понятен вид конечного продукта.
Ну а относительно того, что программисты могут что-то умное посоветовать заказчику, согласен. Для этого потом и нанимается спец.
Извините, но я не понял сути поста. Возможно не выспался.
У Вас негодование по поводу «мудрости» заказчиков или попытка дать им совет с помощью последнего предложения?

По поводу чувств:
Вспомнилось как я впервые зашел на самый первый мой фриланс сайт и мои чувства после первого наблюдения за сценой. Я честно оценивал каждый проект и выставлял реальную цифру. Какое же было разочарование, когда проект доставался студенту, который предложил в 2-3 раза дешевле, но при этом факапил! Обижало не то что студент поступил по поговорке «Если не съем так хоть откушу», а прежде всего было непонимание логики заказчиков которые ради халявы готовы профакапить свои потребности. )
непонимание логики заказчиков которые ради халявы готовы профакапить свои потребности
Заказчик в 80% случаев нифига не понимает ни в собственной задаче ни в реальных ценах. На что ему ориентироваться? Вот и остается цена. Только набив шишек на паре проектов, заказчик начинает понимать как оценивать предложение исполнителя.
Пару лет назад один знакомый бизнесмен выпрыгнул с замечательной идеей, «есть сайт надо сделать такой-же, ну с фотками и там видео и чат прикрутить.У меня есть дизайнер он нарисует макет, я тебе дам 50 000 сделаешь?»
Я — «А что за сайт?»
«Фейсбук!!»
Я не автор, но мне кажется, что понял суть статьи. Увидел здесь некий «крик души». Сколько раз мне приходилось сталкиваться с фразами «да это же делается элементарно», «да ничего сложного тут нет», «да я бы сделал вот так и все». Есть целый класс людей (ItIsEasyToDoPeople), которые любят так говорить, подумав о проблеме всего пять минут. Рассказываешь кому-то суть какой-нибудь своей работы, а тебе: «и это все?». Но они даже не подозревают, сколько подводных камней пришлось преодолеть в решении этой с виду простой задачки. Есть еще более клинические случаи: начинаешь объяснять, какие были подводные камни и они тут же предлагают кучу наиглупейших решений. И это не потому, что люди глупые, а потому, что надо сесть, подумать хорошо, нарисовать, написать прототипчик, пройтись чуть более подробно по всем этапам.

В качестве оправдания таких людей могу сказать, что сам таким был. Но для меня эта черта характера прошла быстро, когда я брался за такие «быстрые и простые вещи» и начинал их решать на самом деле.
Вы мне доказываете то с чем я глубоко согласен :)
Речь о том что неопытный заказчик ориентируется практически только на цену.
И я с вами согласен :-) Но мне кажется вы немного промахнулись: комент писал не к вашему комментарию, а к комментарию «Извините, но я не понял сути поста. Возможно не выспался.»
Еще бывает, что не только заказчики, а даже в самой команде твой вышестоящий программист начинает брызжать слюной, что это элементарно и наступает: «Я бы сделал это за x/3 времени»… О боже. Хочется сразу откатить свой коммит и сказать «Ну давай! Сделай». Однажды так и сделал, получилось x*3 времени вместо x/3. Но я все-равно оказался не прав в глазах вышестоящих, и он умудрился все списать на некие абстрактные оправдания…
UFO just landed and posted this here
Мне в самом начале моего пути, а мы все непрерывно идем к точке останова «идеальный программист, попался достаточно мудрый дядька. Он сказал мне, то что перевернуло мое представление о ремесле и подходе к работе: „Иногда выгоднее быть дураком и прямо об этом говорить “У меня в этом вопросе руки не из правильного места растут» чем пытаться понравиться". Он пояснил, что начальник свою работу отстаивает и правильно делает, но ты должен отстаивать свою. Этот человек в свое время разработал мультитрединг для приложения под MS DOS с использованием Tasm в тот момент когда еще Windows 95 только только поставляться начинали.
Люди обычно говорят тем, кто честно старается работать и «пытается понравиться»:
— ну ты же гений, давай почини нам принтер (напиши sql-запрос, организуй рабочий процесс в sharepoint, перепиши DX11-шейдер средствами DX7)

Зачем нанимать спецов за деньги, когда можно поддеть «пытающегося понравиться» и он все бесплатно сделает.
У меня был клиент на сайт. Всё его виденье сайта(ТЗ) сводилось к одной фразе:
— Хочу чтобы любой человек заходил и сразу «ВАУУУУ!!!!». Давай, сделай мне вариантов 10-15, я посмотрю, по выбираю и скажу что оставить, а что доделать. А сейчас ни о каком ТЗ говорить не хочу. Но ты же спец в этом, ты же можешь сделать чтобы было «ВАУУУУ»!

:-)
> они даже не подозревают, сколько подводных камней пришлось преодолеть в решении этой с виду простой задачки
> Любимая среда разработки — notepad
Этих людей можно понять.
Вы очень эмоционально описали ситуацию.

Но в каждом случае это оценивается индивидуально. Вариантов, как правило 2: а) это школяр, который прочитал статью «как поднять ютюб за 15 минут», в таком случае вам просто надо показать заказчику свой рабочий процесс, сделать его более прозрачным; б) это профессионал как вы, который уже выполнял такую или очень похожую задачу в условиях близких вашим, тогда у него есть все шансы сделать это на 40%-50% быстрее, но не на порядок.

Как правило, это решается очень просто, я всегда прошу представить меня одаренному человеку, которого я готов, безусловно, трудоустроить с зарплатой вдвое больше чем у моих девелоперов, если он покажет себя в поле воином. Обычно дальше первой беседы дело не заходит, так как человек начинает сыпаться на банальных вопросах и не может продемонстрировать никакого положительного опыта.
Я бы написал текст излагающий Вашу идею в 10раз короче.
UFO just landed and posted this here
Это заказчику повезло, что он негосударственное учреждение
Тендеры к сожалению не только в государственных учреждениях.
Видимо ценовой вопрос заказчика волнует больше, чем качественно сделанная работа. Такое сплошь и рядом, либо экономят, либо делают за 50% от денег выделенных на проект, либо качество действительно не важно, а важны сроки например, 101 и одна причина в общем. Нужно быть гибким и адекватно оценивать обстановку имхо.
Если мне в самом начале, заказчик начинает пинять «а вот вася, сын знакомой моей секретарши, сделал бы дешевле/быстрее». Я с улыбкой предлагаю доверить проект «гению». Уж лучше потерять заказчика, чем потом окунуться в такую клоаку, когда «гений» будет ему советовать и подсказывать.
Вот видим мы заказ на строительство от ООО «ААА» (совпадение случайно) и видим сумму в 100 рублей. Наблюдатели завопят: «Аааа… откаты, это стоит в 3 раза дешевле». Руководитель проекта увидит, возможно увидит, 10 лишних рублей заложенных на бентли директору, а возможно вообще ничего не увидит. ГИП увидит дорогие материалы, когда можно обойтись более дешевыми. Строитель готов построить это за 25 рублей + 25 рублей материалы. Но у строителя нет бентли, и зарабатывает он даже меньше чем бригадир. Как же так? Ведь строит строитель?! :)
Хорошо пишите, прочитал на одном дыхании. Местами узнал себя.
Может человек уже увидел готовое, выстраданное решение, к которому тернисто шли другие и машинально оценил повторение уже придуманного? Ведь кажется что всё же уже ясно.

Это прямо в точку!
Сам этим страдал в начале. Но первый же проект, с которым я раньше не сталкивался, поставил все точки над «i»:
вроде бы задача была ясна, но как она будет выглядеть в конечном итоге — НЕ ЯСНО!
И вот этот путь к конечному варианту — это и есть самое сложное.
ЗАТО, после запуска проекта, когда уже известно где и какие элементы содержатся, как они взаимодействуют друг с другом — проект становится много легче и дешевле на взгляд программиста, который бы начал разрабатывать подобный сервис с нуля, но имея как пример готовый проект.

Но речь идет, несомненно, о проектах, у которых нет четкого ТЗ, а лишь абстрактное: «мне бы хотелось, чтобы магазин принимал деньги и продавал продукты».
ОО, самое весёлое, когда заказчик говорит «да ну нафиг, за такие деньги я сам сделаю».

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

И Вам после этого обьясняют, каких класных разрабов вместо Вас нашли — они в три раза быстрее всё сделали. Правда дальше они как то вдруг медленно стали работать…
Однажды мне попался заказ на разработку довольно развитого софта для фотосалона. Примерно оценил требования, пообщался с заказчиком, уточнил детали. У меня есть опыт разработки подобного софта, поэтому подводные камни представлял хорошо.
Описал заказчику подробности реализации и оценил разработку в 3 недели со всеми вытекающими. Заказчик подержал-подержал задачу в активных, и ничего не объясняя закрыл ее. Вышел с ним на связь, спросил в чем дело. Он сказал, что нашел исполнителя, который указал сроки и цену раз в 5 меньше.
Из спортивного интереса вышел на профиль исполнителя и обнаружил, что он совсем недавно закончил проект, который процентов на 50-60 перекрывает требования этого заказчика. Написал заказчику «Да, наработки в нашем деле решают многое» и на время забыл об этом.
Буквально через месяц заказчик снова выходит на меня и жалуется, что исполнитель бросил задачу на полдороги и оборвал контакты, но я к тому времени уже был занят другим проектом.
Так что проблема, несомненно, актуальна. Неопытные или просто жадные исполнители сильно демпингуют, тратя время и деньги заказчиков. Есть несколько критериев, по которым заказчик обязан проверить исполнителя — выяснить у него опыт разработки в нужной сфере, предполагаемые способы решения задачи и т.д., а не просто клевать на ценник.
Дальше-то что было? Вы взяли этот проект, сделали его в срок и заказчик оплатил всё по договоренности?
Нет, у меня тогда уже был другой большой проект, а чем закончилось дело — не знаю. Возможно это не конец и заказчик еще постучится.
Ситуация отвратительная.
Особенно весело бывает при публичных торгах за проект на какой-нибудь бирже фриланса.
То есть оцениваешь работу, считаешь время, примерно прикидываешь сложности, закладываешь N времени под факапы\форсмажоры — пишешь в отзыве на проект срок\цену.
Ниже и выше появляются демпинговые гении, которые желают всеми силами урвать проект, у которых и цена в 4 раза ниже, и сроки смешные…
А там глядишь, эдак месяца через 3 — либо тот же самый проект на той же бирже (поскольку предыдущий исполнитель-демпер оказался полным краном), либо прям по отзывам из старых проектов разыскивают тех, кто писал отзыв, будучи реалистом, а не идиотом-мечтателем.

Конечно, такая ситуация не всегда — иногда задача действительно решается быстрее\дешевле (или другой исполнитель имеет нужный опыт таких вещей, а значит решает проблемы быстрее), но тут уж как повезет.
UFO just landed and posted this here
Бывает ещё вариант. Начинаешь общаться, выслушиваешь пожелания, расписываешь ТЗ. Оговариваешь сроки и сумму. Заказчик забирает ТЗ и уходит к другому, кто сделает быстрее и дешевле. По факту же видишь выкидыш, с реализацией на 30-40% от требований заказчика. Но клиент доволен, сделали быстро и дёшево.
За ТЗ тоже нужно брать деньги. Процентов 30 от общей суммы проекта.
А может ему нужно было проще?
Вот мне интересно, а почему разработчики обижаются на таких заказчиков? Изначально у заказчика есть только 2 параметра: цена и сроки. Если один человек сказал «2 месяца и 1000 баксов», а второй «1 месяц и 500 баксов» — по всем параметрам второй лучше. Мы же не знаем заранее, что второй — кидала и гонщик, правда? Почему бы не увеличить список параметров? Попросить расписать, сколько в задаче есть подзадач, сколько примерно времени займет каждая из них, спросить есть ли опыт у исполнителя по каждой подзадаче, спросить сколько часов в день\неделю исполнитель может уделить задаче и т.д. Если в итоге первый (который просил 2 месяца и 1000 баксов) представит план из 20-ти подзадач с точностью плюс\минус пару часов на каждую, а второй скажет что-то в духе «да не ссы, всё будет ок, я уже 100 раз такое делал!» — это существенно изменит суть дела. Что касается исполнителей — что мешает сделать такую оценку, даже если вас об этом не просят и намекнуть заказчику, чтобы он попросил у других претендентов аналогичный план?
Если у заказчика всего два параметра — в лес такого заказчика. Он и машину так же выбирает? Абы какая, лишь бы ездила? Нет, ему нужно и кожаный салон и пепельница с автовытряхивателем. И время тратит рабочее на выбор, неделями сидя на автофорумах.
UFO just landed and posted this here
Подписываюсь под каждым словом.
Учет всех параметров на входе (по возможности) способен свести на нет поводы для возможных претензий и обид.
Это неприятно, на абсолютно нормально. Оценка сроков — это очень сложно. Я в похожих случаях обычно вежливо улыбаюсь и интересуюсь, сколько у того специалиста законченных проектов сравнимой сложности на счету и какие там были сроки и расценки. Обычно на этом выступления вида «а вот мой внук учится на программиста и мне вчера сказал...» заканчиваются :).
«Не признак ли это недостаточного опыта?»

Именно так. Ни один нормальный разработчик не будет с ходу определять стоимость каких-то работ, а тем более, кем-то уже сделанных. Если он это делает, это однозначно говорит о его неопытности и о неспособности оценить возможные проблемы. Именно с таким «разработчиком» будет 10-кратное откладывание сроков, переработка задачи в ходе разработки и, в конечном итоге, отказ от заказа, т.к. и бюджет раздуется и разработчику станет не интересно доводить ее до конца.

С вашей стороны на такие замечания заказчика (кто-то там сказал что сделает это за 1/10 суммы) нужно стараться его успокоить и объяснить что человек просто не опытен в таких проектах. Описать что бывает когда такой берется за проект (как я описал выше) и т.д. Тут важно что-бы заказчик понял откуда берутся такие суммы. Он-же думает что вы просто «на кнопки жали» и не в курсе вашей внутренней кухни и того, как вообще делаются такие проекты.
ИМХО Неверная оценка проекта.

Если объект автоматизации ранее не имел формализованных процессов и представлений о точках принятия решений, то ТехЗадание стоит 60% от бюджета автоматизации.

Автор вроде как оценил работу в 10% исследование и ТЗ и 80% собственно проектирование-кодирование и, наконец, 10% внедрение — условно 100'000руб.

Школиё (да и заказчик с подачи автора) видит
10'000руб (неосязаемо)
+80'000руб (о! бюджет!)
+10'000руб (несущественно)
И, естественно, утверждает, что победит кодирование в пределах 10'000руб, то есть в 8 раз дешевле кодирования.

На самом деле расклад таков:
60'000руб исследование и ТЗ (наука!),
25'000руб проектирование-кодирование (это понятно),
15'000руб внедрение (грабли! требуются внимание и усилия!).

И, на самом деле, школиё кодирует вдвое дешевле, а не в восьмеро (10'000 против 25'000).

Более того, 10'000 внедрения на фоне 80'000 разработки теряются и кажутся несущественными.

В правильной смете внедренческие 10'000 на фоне 25'000 разработки будут сильно бросаться в глаза, оспариваться. обсуждаться и запоминаться в мосхе надолго.

И шеф спросит своё школиё как же он 10'000 халтуру соберётся внедрять не требуя уже оговоренных внедренческих 10'000.

Уж не говоря о том, что сэкономить 15'000 (25 минус 10) из 100'000 с неизвестными гарантиями шеф просто побоится.

Мотайте на ус, документируйте ваше горе в базу знаний, чтобы вторично не вступить.
Тут ошибки, как я вижу с обоих сторон:

1) Раз человек начинает спрашивать у других, то судя по всему, Вы поставили себя как заурядного исполнителя.
2) Если человек уже ходит на сторону, то не надо с ним ничего обсуждать. Так дела не делаются.

p.s. Вообще, не надо людям «в рот смотреть», они того не стоят.
Как говорилось «кроилово ведёт к попадалову». И ведь подтверждается. Как только начинаются попытки кроить в сторону удешевления уже после утверждения ТЗ, получается почти 100% попадалово.

А осадок частично пройдёт после внедрения за x/10 после которого станет понятно, что x/10 вышло в nX.
Ну что тут сказать, издержки профессии, либо мириться либо как-то сглаживать. Налаживайте более близкие отношения с заказчиком, пусть он проникнется качеством вашей работы.

Дополнительно, можно порадовать заказчика каким-нибудь недорогим для вас, но запоминающимся моментом.
Например, один очень крутой финансовый аудитор (чьи услуги стоят 5-6 значные суммы в $$), отчет о своей работе предоставляет в кожаном переплете с золотым обрезом. Ему это обходится в 50$, а клиент удивлен и гораздо более счастлив, чем если бы он получил все в электронном виде или стопкой листов с лазерного принтера в копеечном скоросшивателе.
Легко идти по чистой асфальтированной дороге, когда за тебя ее проложили через дремучий лес.
Тут дело еще и в клиенте. Надо было дать вначале ту же информацию, что и первому разработчику. Уверен, ответ был бы близок к «это невозможно сделать».
Мне нравитья метафора что оценка сложности разработки похожа на оценку расстояния в горной местности до горы. Воздух чист и кажется что идти до туда буквально минут 20. Ущелья, горные речки, обрывы просто невидны.
Довольно часто оценки такого рода дают люди не делающие сами ничего. Как только вы начинаете что-то создавать в России нужно быть готовым к такого рода оценкам. Часть менталитета. " И сколько вы писали эту простенькую систему?"
Мне буквально вчера пришла более приземленная метафора:
Вы хотите сделать ремонт в квартире. Находите подрядчика, и спрашиваете: когда вы сможете закончить и сколько будет это стоить? Ну хотя бы примерно?
Если вам назовут любой срок и сумму — стоит еще раз серьезно подумать об этом подрядчике.
Супер! Сам бывал в такой ситуации не раз. У нас есть один клиент, который всегда очень хмурый, потому что ему кто-то обещает сделать быстрее, дешевле и лучше нас, но в итоге делаем или в крайнем случае доделывам (переделываем) мы.
Мне доподлинно известен один случай реализации относительно сложной задачи примерно в 10 раз быстрее, чем предполагалось изначально. Получилось так из-за того, что человек, который решал задачу
1) Имел очень нестандартный образ мысли и нашел очень интересный подход к решению
2) Решил не некую общую задачу, а именно данную конкретную (не заморачиваясь потенциальной необходимостью расширения, изменения и так далее)

То решение вполне успешно функционирует уже сколько лет к ряду.
UFO just landed and posted this here
Код написан весьма грамотно, задокументирован, как пользоваться— понятно, а необходимости расширять так и не появилось— исполнитель весьма грамотно это оценил при постановке задания. Но главное, конечно— нестандартный подход был.
UFO just landed and posted this here
О, он очень хорош. И далеко не зря получает свою зарплату. И часто выполняет задания вот так вот экстраординарно быстро. Хотя обычно не на порядок, конечно.
А можете в двух словах описать задачу и «нестандартный» подход? Думаю было бы интересно многим. Спасибо
Ну в целом там была работа с информацией из базы данных и отображение, скажем, в виде дерева.
Обычно для этого используют всякие ORM и отношения между сущностями, с которыми этот самый ORM работает, а человек взял — и разобрал всю информацию с помощью рефлексии и маленького конфигурационного файла, им же написанного.
Прошу прощения, но в подробности вдаваться не могу.
Смекалистое решение :)

Я в универе тоже помню на численных методах вместо долгих и нудных калькуляций в паскале сложных линейных уравнений, генерил строчку кода на Perl'e и выполнял её.
У меня есть обратный случай. Человек вместо решения конкретной задачи начал писать фреймворк для решения всех задач в мире. Два года писал.
У меня есть знакомый, который программит с детства. Он разрабатывал сайт для «желтых страниц» для одной маленькой страны.
Для того, чтобы все работало именно так, как ему хотелось, он разработал собственный движок исполнения серверных приложений (по сути собственный апач) и сам разработал собственную субд, которая работала с базами данных придуманного им самим формата (!).
Будучи перфекционистом, работал он над всем этим лет 6 или 8 (даже некоторые куски программы писались на ассемблере для быстродействия). Под капотом было много хороших, может даже гениальных с точки зрения разработки, решений, но все эти годы разработки на выходе дали сайт, который можно было вполне сделать на каком-нибудь PHP+MySql месяца за четыре, усилиями менее гениального разработчика. Если это перевести в деньги, то получится, как раз в 10 раз дешевле.
То есть, ситуации бывают разные. Иногда разработчик считает, что ему просто необходимо изобрести этот велосипед заново, чтобы все работало именно так, как ему надо, но это не всегда актуально с точки зрения сроков и стоимости реализации (хорошие разработчики не всегда хорошо разбираются в бизнес-процессах, и это нормально), ну или бывает так, что один разработчик просто не в курсе о существующих велосипедах и разрабатывает свой, а у второго разработчика в гараже уже стоит похожий велек, только его надо чуть-чуть подремонтировать, подкрасить, и ехать он будет ничуть не хуже вновь изобретенного не обкатанного образца.
Описанное автором правило работает верно почти всегда, но все же бывают исключения.

Был у меня случай, после которого я перестал беситься по поводу «резвых юных программистов».

Когда мой основной работодатель усомнился, а не зря ли я кушаю свой хлеб, то нашёл «юное дарование», которое грозилось мой труд воплотить за 3 месяца и 100к руб. Я бился над ним почти год (цена около 400к руб.), при том, что я знаю КАК ЭТО РАБОТАЕТ в живую.
Программисту была продемонстрирована моя готовая программа, предоставлены все запрошенные им материалы по теме, акромя моего исходного кода.
Проект у него получился с красивым интерфейсом (ну не дезигнер я), небольшим (всего 5 файлов против моих 27), работало всё непосредственно на клиентской машинке, кроме баз данных (у меня ещё часть кода крутится на сервере).
Но после того, как при тестировании потребовалось изменить пару технологических операций (а такое происходит постоянно в процессе производства, ибо конструкторы наши регулярно что то меняют/улучшают) и «дарование» попросило на это ещё неделю и дополнительных денег (исправить и по клиентам раскидать), то было послано, т.к. у меня это занимает 2-3 минуты.
К слову сказать, ситуация про возможность оперативного внесения изменений была прописана им самим в его же ТЗ.
Договор был аннулирован, а аванс возвращён мне в виде премии.

PS: Серёга, если ты это читаешь, зла не держи, что я рассказал. К слову пришлось )).
Договор был аннулирован, а аванс возвращён мне в виде премии.

Жестоко. Очень жестко. К вам пришел молодой специалист, а вы его так опустили да еще и, по сути, обобрали. Вы что не понимаете, что человек без опыта не может оценить сложность работы и продумать подходящую архитектуру? Тут с 10 годами опыта заявляют, что оценка сроков и стоимости — это задача менеджера, а не разработчика.
Человек пришёл с хорошей «распальцовкой». Юный, крутой, всезнающий. Это сейчас он «дорос» до нормального человеческого состояния, без излишнего выпендрёжа. Хотя прошло чуть больше года.
По поводу жестокости. Ему это было уроком. Сейчас он работает у моего хорошего знакомого, причём с моей подачи. И считается неплохим специалистом.
>>Сейчас он работает у моего хорошего знакомого, причём с моей подачи.

Странный человек какой-то. Я бы предостерегся обращаться в поисках работы к людям, которые чуть раньше кинули бы меня на 100 т.р.
Просто кто-то умеет понимать и признавать свои ошибки, а у кому то ЧСВ давит на разум.
Заказчика назовите, а то мало ли по жизни напорешься на такого кидалу
Эм… а его наработки надо понимать впоследствии использовали? Похоже на кидалово, оставить 3 месяца разработки без оплаты, когда формально ТЗ выполнено. А за смену ТЗ (наверняка многим знакомо, насколько неприятно при сдаче проекта слышать «а я вот тут что-то не подумал сразу, т.ч. давай реализуй, а потом поговорим») вполне справедливо человек хочет денег.
Смены ТЗ не было и наработки не использовались, даже интерфейс…
Ситуация знакома. Есть один домашний проект. Который начинал зарождаться лет 5 назад, когда я только начинал свою карьеру и решил написать для себя лично, простенькую напоминалку дней рождений… Но затем он начал разрастаться… В процессе развития несколько раз переписывался с нуля, так как мои навыки улучшались, старый код казался не рациональным. Новые интерфейсы, новые фишки…
Не могу сказать что я этим проектом занимаюсь вплотную. Это так, хобби. Которое пользуется некоторой популярностью в узких кругах. Но переодически приходится слышать от умников что программа очень простая. Что он бы такую за неделю написал. И в таком ключе))
Конечно программа простая… Но прежде чем сделать её такой простой и юзабильной, пришлось пройти через ряд перерождений, тестирований, экспериментов, учась на ошибках. И даже сейчас идеальной её назвать нельзя и в стеке задачь видит куча пожеланий и доработок)) Идеи по улучшению рождаются быстрее чем успеваю править.

Пример простой. Но и в бизнесе аналогично. Реально часто встречал клиентов которые сами не знаю чего хотят. Приходится вытягивать по крупицам из них информацию. Конвертировать её во что-то реальное что можно наложить на код, структуру, интерфейс… Предлогать какие-то варианты, может так, а может все таки лучше вот так. А хотите вот это сделать сразу? Проект тянется месяцами. От версии к версии у заказчика начинает сформировываться более менее четкое понимание того что ему надо. И понятное дело это все — время, человекоресурсы. Труды вложенные в постановку, разработку и временами переделку в связи с изменением мнения заказчика в ходе разработки. В итоге готовый продукт. Довольный клиент… И конечно нет ничего сложного в том что бы взять да и поднять этот проект заново, даже не имея исходников. Потому что заранее известно как это должно выглядить. Есть работающий пример. Снять копию всегда было проще чем спроектировать с нуля не имея четкого видения что должно получиться. И как это представляют пользователи/заказчики.

И да и нет. Порой и клон, только по обложки, сделать сложно, не зная всего что реализовано внутри. Скажут сделать тот же фейсбук, только красный. Очень много логики зашито внутри, которую так просто не понять, и там только на тыканье и предположения может уйти пол года. Чтобы создать ТЗ для клона. У меня был такой заказ, прародителю было лет 5-7, клон делали пол года. При этом все входные данные для программиста от заказчика «ну вот ссылка, сделай такое же».

Но вот если есть готовое ТЗ, где расписана вся логика, что с чем взаимодействует и как. Тогда да, тогда проще и быстрее. Особенно если ТЗ уже будет по обкатанному проекту, где успели набить шишки и выловить все подводные камни и допилить напильником.
Каждый мнит себя стратегом, видя бой со стороны.
UFO just landed and posted this here
Справедливости ради стоит заметить, что не всегда будет лучше у того, кто просит больше, зачастую оказывается всё в точности до наоборот, особенно в таких вещах, как создание нематериальных продуктов (типа кода, написания стихов и подобное)
Уже давно не парюсь по поводу подобных деятелей. Во первых я знаю сколько стоит моя работа, не хотите наймите студента в 10 раз дешевле. Который со своей «гениальностью и энтузиазмом» сделает все как надо. Но уже не раз случалось что после таких вот деятелей, все равно приходят к тебе и просят сделать, потому что: «Работать не возможно». Ты делаешь, берешь свои деньги (зачастую чуть больше) но по факту клиент больше не хочет рисковать. Таких примеров у меня только около десятка, при том что я админ а не программист )

Есть еще один тонкий момент. Не всегда те, кто демпингуют — такие себе зеленые и неопытные разработчики.
Некоторые люди настолько любят деньги, что пути их получения для них вторичны и они не парятся по поводу морали.
Главный принцип как в анекдоте — главное завалить, а потом запинаем.
Мне довелось работать с гениальным человеком.
Гений этого человека заключался в виртуозном умении развешивать лапшу по ушам. Неоднократно я наблюдал, как люди приходили с явным желанием подержать этого гения за горло по поводу задержки сроков или увеличения стоимости. Он уводил этого человека в отдельный кабинет на разговор.
Свидетели этого действа напряженно ожидали звуков драки из-за двери, но заказчик через время выходил из дверей абсолютно счастливым. На вопрос «а как?» гений загадочно улыбался и отвечал «психология». Не мытьем так катаньем, обещанием дополнительных мелочей и выгод — главное войти с человеком в контакт, т.е. войти в доверие, а дальше — дело техники.
Прочитал пост.
Со всем согласен.
Потом подумал.
С одной стороны незрелый заказчик, который ведется на красивые слова и демпинговую цену.
С другой стороны незрелый разработчик, который ни разу не закончил проект вовремя.
Время все расставит по местам.
Да обидно, когда твою работу выбрасывают в урну, только потому, что в очередной раз пришел гениальный программист.
При мне была ситуация, когда заказчик привел программиста, посадил его за ноутбук, отошел и с дрожью в голосе сказал: «Вась, давай как ты умеешь».
Вася кивнув патлатой головой, подключился с помощью 1с к тестовой базе Оракла и накидал минут за 20 в конструкторе запрос.
«ВОТ!!!!» — заверещал заказчик — «А вы, тоже самое писали неделю!!!!»
Хотя, по факту, был сделан отчет с выбором по 300 параметрам, без учете их комбинаций подготовлены специальные печатные формы и еще куча работы по поиску ошибок при занесении данных в прошлом.
Но, естественно, никто слушать не стал.
Теперь этот гениальный парень переписывает всю бизнес систему, которая создавалась 4 года кучей людей, в одиночку. Причем, первый запуск планируется через 6 месяцев после старта. В нашем случае, мы дали шанс гению, простые профессионалы подвинулись. А вдруг?

Интересная статья и заставляет поразмыслить. Довольно близки описания бессонных ночей (когда засыпаешь и просыпаешься «с кодом в голове» и искренним желанием сделать свою работу на славу — сюда же и бизнес-стратегия). В то же время, все эти труды (особенно, те, которые нельзя «пощупать») могут остаться незамеченными. Как заказчику, так и менее кропотливому стороннему исполнителю. Чаще всего именно так и происходит. Кроме того, даже детально продумав, как кажется, ВСЁ, через полгода-год реального существования проекта, обязательно обнаружится надобность каких-то дополнительный доработок или даже переработок. (Нет предела совершенству.) Поэтому, безусловно, нельзя оценивать свою работу идеальной и эффективной «на века», а потому и стоимость её автоматически падает. Конечно, нельзя спускаться до слишком низких цен, но можно сделать какую-то бонусную скидку на первый проект (но делать, при этом, работу также на все 100). Если заказчик уверен, что у вас хорошие цены и качество на все 200%, он никогда не откажется работать с вами в дальнейшем, в т.ч., например, в развитии проекта. Тогда вы уже получите свою недостающую оплату (и даже больше), однако на тот момент она будет полностью со всех сторон актуальной и оправданной. Если же о развитии проекта речи не ведётся, тогда и сам проект довольно низкого полёта, и здесь не спасёт даже продуманная архитектура и бизнес-решения. Но это личное мнение, я не знаю всех нюансов проекта, а они могут значительно менять дело. )
>>Человек думал пару минут и предположил сумму… И всё бы ничего, но озвученная сумма была раз в десять меньше. Так и сказал: “Я бы сделал бы за столько-то...”.

Узнаю себя в школьные годы) Сколько сколько?.. за это..? о_О!!!111!!1
На сайт гос закупок только не ходите, почувствуете себя опять школьником. Там все цены Х*1000.
;-)
А если вычесть из стоимости откаты, то не такие уж и гигантские цены могут получиться
Вы смешиваете две очень разных вещи.
Первая (ваш пример) — это дом. Многоэтажный. Многоквартирный. Тут, блин, с кондачка не подъедешь. А если подъедешь — развалится. Экономить на доме тоже уметь надо.
А вторая (дудлер из степпера+сопло) — это колесо. Вот придумал чувак колесо — любой кузнец в любой деревне его скует. ПРОСТО НИКТО РАНЬШЕ НЕ ДУМАЛ ОБ ЭТОМ!
Понимаете? И дело уже не в цене. Зачем ехать в другую деревню — тут быстрее сделать! Кузнец свое дело знает. Его просто всегда просили топоры да косы ковать, его никто не просил раньше сковать колесо.
Вот и все.
У стоящих кантор и так заказов хватает. Если заказчик приходит к тебе и говорит что он нашёл шабашников которые сделают тоже самое только за x/10, то лучше сказать: ради бога идите и заказывайте у них. Опыт показывает, что как правило заказчик возвращается с извинениями.
UFO just landed and posted this here
Цены бывают разные и качество тоже разное. Запросто может быть за X/10 лучше, чем за X.
Если заказчик в состоянии оценить квалификацию тех, кого нанимает, то почему бы ему не выбрать лучшее по соотношению цена/качество. Если не в состоянии, он может попробовать руководствоваться логикой — чем дороже, тем лучше. Но этот принцип не гарантирует, что заказчит останется доволен всем, кроме цены.
Это совершенно неверная аналогия. Если не возражаете, небольшой ликбез.

Дело в том, что у винительного падежа есть две формы, одна для одушевленных предметов, другая для неодушевленных. В слове «чай», «хлеб», «молоко» по историческим причинам есть разговорная форма как для одушевленного (так вот их любят). Для неодушевленных имен собственных говорят «Приехал увидеть Волгоград», «Решил посетить Казахстан», «Подошел потрогать Лексус», однако для одушевленных «Я увидел Александра», в женском варианте «Я увидел Александру». Теперь видите разницу? Если бы Хабр был именем человека (то есть если бы автор руководствовался вашей аналогией с чаем), то нужно было бы писать «Я вижу Хабра», однако для неодушевленного предмета правильно «Я вижу Хабр». «Вижу Хабру» — это однозначно форма винительного падежа имени женского рода, что неверно. Читать можно только Хабр, не Хабру.
Вот еще пример, характеризующий больше заказчика, а не разработчика:
Как-то от двух разных людей (посредников) мне поступил один и тот же заказ. Просили написать коммерческое предложение на создание сайта с описанием проекта, сроками и ценами. Посредники не знали о существовании друг друга, хотя и представляли одного заказчика.
Я написал два разных предложения. Описание проекта в обоих предложениях по сути было одинаковым, но написано разными словами; разница была только в сроках и в стоимости. В одном из предложений срок был больше та треть, а стоимость — больше в 5 раз!
Сперва меня очень удивило, когда заказчик выбрал вариант подороже, но, поработав с ними, я начал понимать алгоритм принятия решений.
Занимались они продажей дорогущей одежды (у них были сети бутиков), и зарабатывали исключительно на понтах, а чтобы на понтах хорошо зарабатывать, им самим приходилось понтоваться. К примеру, у них в некоторых бутиках, вместо магнитофона, стояли рояли и человек во фраке играл тихую спокойную музычку, но драгоценные квадратные метры, занимаемые роялем и драгоценная зарплата пианиста, видимо, стоили производимого впечатления.
Так вот, сайт им тоже нужен был понтовый, но так как они сами очень далеки от технологий и от айти теб более, рассматривая предложение они ориентировались на цену: чем дороже, тем круче. Ну и понт «У нас сайт не за пять тыщ, а за двадцать пять».

А меня на хабре очень раздражают бесконечные студенты с вступлениями вроде «Собрано за 20 минут», «Наваял за неделю», а далее демонстрируется свой проджект на 2-3 человекомесяца, да еще на месяц вылизанный и отполированный до пикселя. Хочется порой сказать «дружище, ну это же смешно. разве можно так п%%деть-то..»
ps: я думал пост будет о них)
На кикстартере всего 50 долларов за эту ручку просят. Причем это готовое к ритейлу изделие. 30к они там собирали, чтобы организовать мелкую серию. Собрали больше миллиона — теперь придется крупную серию организовывать, а потом еще рассылать это все. А то, что автор статьи сделал — наколеночный прототип. Вряд ли кто то выдаст за достижение спаянный вручную блок питания, да и хоть бы плату с процессором и моторчиками. Самоделка она самоделкой и останется, с серийным изделием сравнивать смысла нет.
С праведным баттхертом в этом можно согласиться — на примере «железок» разница очевидна, с софтом это неподготовленный клиент может и не разглядеть. Особенно до того как получит результат.
Не разглядел сразу, 50 просят за предсерийные образцы, которые уже все раскуплены, сейчас можно заказать серийный за 75.
Sign up to leave a comment.

Articles

Change theme settings