Why so shitty?
Никто не идеален. В последнее время наблюдается (очередная) тенденция к тому, что решения и софт становятся все более дерьмовыми. Сделанными, как говорится, «по последнему пункту».
Чем менее детерминированным решение является, чем больше потребностей потенциально закрывает, и чем больше имеет всяких фич и свистоперделок — тем больше шансов, что будет собрано «как попало».
Хорошо, если работают core-фичи и есть какой-то базовый надежный костяк у продукта. Иногда не бывает и этого.
Нет, причина в данном случае — не «экономика говна», и не одноразовость и сиюминутность решений. Они — как раз следствие.
Мне кажется, как инженеру, что инженерные решения должны работать офигенно и идеально. Это как раз правильно, и мне бы так хотелось. В моей красивой картине мира.
Однако, так кажется не всем.
У ребят услышал мысль: вот есть мега-корпорация, у нее есть ресурсы, много ресурсов. Они делают продукт(ы), и вообще говоря, могут нанять себе специалиста подходящего. Любого класса. На задачу, на год, на проект, на всю ешл жизнь. Более того, могут нанять их сотню, и тогда скорее всего (positive thinking!) этот человек или люди сделают из говна конфету. Ну, это их работа, и они ее сделают.
Почему? По двум причинам в основном.
Во-первых, перфекционизм — это дорого. Чем сложнее продукт, решение, система, тем больше вам придется положить бабла и остальных ресурсов, чтобы достичь требуемого уровня. И зависимость совсем не линейная, о нет, вовсе нет.
Чтобы сделать штуку, которая будет работать зашибись в 80% случаев, вам придется ввалить NN денег. Примем это за отправную точку.
- Чтобы довести до ума на следующие 10%, вы ввалите еще NN денег сверху.
- Следующие 5% могут стоить вам уже не NN, а (NN)x3, т.е в шесть раз дороже.
- Допилить еще 2%, до 97% своего недостижимого идеала, будет стоить (NN)x5 сверху.
- Чтобы перейти от 97% к 98% вы запросто ввалите х10, к уже затраченным (1+3+5) девятикратным затратам.
Помним, что мало создать штуку за NN денег, надо ее еще и поддерживать. А это дороже. Саппорт может быть дороже разработки (чего бы то ни было) — вдвое, втрое. [сноска-1]
Какой конкретный профит и выгоду даст вам такая погоня за все более дорожающим идеалом?
Во-вторых, необходимость и достаточность. И в терминах затрат/денег, этот пункт проистекает из предыдущего.
Для того, чтобы убежать от медведя, не надо бежать быстрее всех, достаточно бежать быстрее жирного геолога ближайшего конкурента.
В рыночном смысле, есть план по затратам и профитам, PNL. И если он соблюдается, та самая «корпорация, которая может купить любого» просто не будет этого делать. А зачем?
И это вопрос не праздный, с ответом «капиталистическая жадность». У корпорации есть инвесторы, есть обязательства. Например одно из них — не тратить прорву денег туда, куда можно ее не тратить. Чтобы потратить на другие направления, например.
Хорошо, допустим. Я переверну этот пример. Готов ли клиент платить в девять раз больше (х9) денег за продукт — товар, услугу, решение, — которое решает пачку потребностей и задач на 97%, если можно согласиться на 80% в девять раз дешевле? $1200 вместо $10000.
Правильного ответа за каждого — здесь нет. Кто-то готов, см рассказ про премиалку. Но если речь про массовый рынок, то мне кажется, ответ очевиден.
Надо отметить: решения, вылизанные на 100% — бывают. Как правило, это что-то полностью детерминированное. С точки зрения задач, функций, потребностей, KPI, ожиданий. Очень часто похвастаться таким уровнем проработки могут мелкие простые решения; unix-way фактически. Вы точно знаете, что конкретно эта приблуда должна делать (и как), чего она делать не должна.
Как только задача усложняется, ресурсы, геморрой и ценник вырастают кратно, как мы уже обсудили выше. «Профессиональный» класс устройств и решений — дорожает втрое. Медицинское life-critical оборудование примерно потому же стоит х10. Финансовые решения глобального класса могут стоить х100 от функционального аналога: потому что обосраться стоит во столько же дороже. Оверпрайс штучного научного, космического оборудования — х1000.
Не нравится такое? Ну походи по рынку, поищи.
Сноска-1. Кроме шуток, я встречал в одной большой корпорации прямой запрет на добавление незапланированных фич, на допиливание улучшайзинга по собственной инициативе, и на прочий overdeliver. Прямой запрет, не шучу, буквами написанный в документах.
Потому что да, прикольно, все такие клёвые, но потом хз как и кто должен далее это поддерживать. И за какие деньги.
Это немного меня огорчает и портит идеалистическую картину мира; потому что я инженер, и хочется делать крутые решения. И хочется, чтобы все их делали. Инженерная красота — дело такое, возвышенное.
Но пока у него нет четкого экономического обоснования, я понимаю, что это непрошенная польза. Это «доброта за чужой счет», либо за счет рынка и клиента (если он улучшательства оценит и оплатит), либо за счет заказчика (бизнес которого потратит на это деньги). Такая себе история, рисковая.
Да, мне хочется чтобы системы и решения работали без косяков и идеально. Это же машина, машина должна париться вместо человека.
А готов лично я за это платить? Готов заказчик и потребитель за это платить? Ну…
Остается только восторгаться state of the art решениями, которые могут себе это позволить. Знаете, как стулья Гауди, которые феерически крутые, и существуют только в музейном экземпляре. Потому что автор так решил, и мог себе это разрешить. Ровно такая история.
Кому-то придется делать офигенчик, и показывать остальным пример.
Только на это и надеюсь, если честно.