Маркетолог спрашивает программиста

vott.ru — В чём сложность поддержки большого проекта? // Текст (не на картинке) в первом.
Новости, Юмор | Пальтоконь 08:43 18.10.2016
122 комментария | 194 за, 1 против |
#1 | 08:43 18.10.2016 | Кому: Всем
Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?
Программист: ну представь, что ты писатель и поддерживаешь проект “Война и мир”. У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь “шёл дождь”, сохраняешь, вылетает сообщение об ошибке “Наташа Ростова умерла, продолжение невозможно”. Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение “Поручик Ржевский умер.” Выясняется, что он в следующей главе облокачивается о столб, которого уже нет...
#2 | 08:49 18.10.2016 | Кому: Всем
Просто столб надо было на деревянный поменять.
CEBEP
своевременно подпущенный »
#3 | 08:50 18.10.2016 | Кому: Всем
Логических схем и описаний систем не составляют? Каждый раз как по минному полю?
Булат
идиот »
#4 | 08:54 18.10.2016 | Кому: CEBEP
> Логических схем и описаний систем не составляют? Каждый раз как по минному полю?

Ты не программист, да?
Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми.
HQ
дурачок »
#5 | 08:54 18.10.2016 | Кому: CEBEP
>Логических схем и описаний систем не составляют? Каждый раз как по минному полю?


Поздравляю, ты постиг бытиё.

[censored]
von_herrman
надзор »
#6 | 08:56 18.10.2016 | Кому: Пальтоконь
Если проект - "война и мир", то надо просто убрать поручика.
#7 | 08:56 18.10.2016 | Кому: Dmitrij
>Просто столб надо было на деревянный поменять.

Судя по тому, что Поручик Ржевский умер (скорее всего разбился о землю), не найдя точки опоры чтобы облокотиться, то с настройками гравитации там не всё в порядке. Деревянный столб мог не выдержать таких чудовищных нагрузок.
von_herrman
надзор »
#8 | 08:56 18.10.2016 | Кому: Булат
> Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми.

Интересно, а как самолет делают сотни разных смежников?
#9 | 09:00 18.10.2016 | Кому: von_herrman
> > Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми.
>
> Интересно, а как самолет делают сотни разных смежников?

Huyak-Huyak Driven Development!!! :-)

[censored]
[censored]
Hamsterling
интеллектуал »
#10 | 09:01 18.10.2016 | Кому: von_herrman
> Интересно, а как самолет делают сотни разных смежников?

Сравни стоимость самолёта и ПО, пусть даже большого.
CEBEP
своевременно подпущенный »
#11 | 09:02 18.10.2016 | Кому: Булат
> Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми.

Тоесть проект работает так, как ему захочется? Говорю, как надо мне, а мне говорят, что так нельзя, мол в системе логика другая. Спрашиваю какая именно, ничего внятного пояснить не могут.
Мне это знакомо ещё с тех времён, когда я впервые влез в ламповый телек с отвёрткой. Что к чему и зачем ничего не ясно, но наобум повтыкать до зуда необходимо.
Шарлатаны с умным видом!

> Ты не программист, да?


Подозреваю ты уж точно не он!
#12 | 09:03 18.10.2016 | Кому: Пальтоконь
> Huyak-Huyak Driven Development!!! :-)

[censored]
#13 | 09:05 18.10.2016 | Кому: Всем
И вообще, вот картинка, исчерпывающе описывающая удивительный мир программирования!!!

[censored]
#14 | 09:06 18.10.2016 | Кому: MoHaX
> И вообще, вот картинка, исчерпывающе описывающая удивительный мир программирования!!!

[censored]
Или так:
[censored]
#15 | 09:09 18.10.2016 | Кому: Пальтоконь
Тут на картинке неправда нарисована - у велосипеда круглые колёса!!! Кроме того, нет ни одной грабли, а так не бывает!!!
#16 | 09:09 18.10.2016 | Кому: Булат
> Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми.

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

[censored]
von_herrman
надзор »
#17 | 09:09 18.10.2016 | Кому: Hamsterling
> Сравни стоимость самолёта и ПО, пусть даже большого.

Причем тут стоимость?
#18 | 09:10 18.10.2016 | Кому: Всем
Так выглядит код, написанный за три часа:
[censored]
#19 | 09:13 18.10.2016 | Кому: Пальтоконь
ну нормально же! че докопались-то? сильнее педали крутить надо и поедет!
jscbbo
Дурачок »
#20 | 09:16 18.10.2016 | Кому: von_herrman
> Интересно, а как самолет делают сотни разных смежников?

На самолет составляется тонна документации, а у программистов все помещается на подставке, под бокал из под пива.
Булат
идиот »
#21 | 09:17 18.10.2016 | Кому: von_herrman
> Интересно, а как самолет делают сотни разных смежников?

Сколько нужно времени, сил и людей, чтобы запустить производство самолета? С таким количеством людей и денег большой программный проект будет работать почти как самолет. Проблема программ в том, что за их поломку не лишают лицензии и не выгоняют с рынка, поэтому можно пренебречь многократно продублированными мерами безопасности и сертификатами, а также то, что пишут все это дело за максимально короткие сроки. Если тратить на программу мало времени и денег, то будет минное поле, да. А если тратить столько же, как при производстве самолета, то все норм. Будет отличная программа, которая работает как часы.
#22 | 09:22 18.10.2016 | Кому: Всем
Вот вы тут смеётесь, а в реальности и не такое бывает!

[censored]

Ну, сделали и мы в Блицкриге эту самую ракету. Как и немцы, сделали ее уже ближе к концу проекта и соорудили на базе объекта "самолет". Но программисты несколько схалтурили и не пооткручивали у бывшего самолета подозрительную для баллистической ракеты функциональность. Оказалость, что если во время полета к цели начинал идти дождь или снег, то во-первых ракета говорила человеческим голосом "Fliege zuruck"(нем. лечу назад), а во-вторых разворачивалась и летела обратно на базу. Фигли там, погода то нелетная.

Со свиньями был связан, кстати, еще один баг, из-за которого игра падала. В какой-то момент программисты что-то такое там подкрутили и свиньи перестали быть нейтральными, а обрели возможность принадлежать какому-то игроку. Управлять ими было нельзя, но формально они могли быть "наши" или "ненаши". Так вот свиньи роняли игру. Потому что видя неприятеля, патриотичная хавронья хотела дать врагу отпор и лезла за оружием, которого у нее естественно не было. Если мне не изменяет память, программисты исправили баг, просто выдав свинье пистолет Люгер без патронов. Визуально это никак не видно, но формально, теперь, видя врага, она лезет за оружием, видит что патронов нет и на этом успокаивается.
Hamsterling
интеллектуал »
#23 | 09:24 18.10.2016 | Кому: von_herrman
> Причем тут стоимость?

Булат уже ответил.
#24 | 09:38 18.10.2016 | Кому: von_herrman
> Причем тут стоимость?

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

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

А в заглавном посте, видимо, разговор представителей нормальных разработчиков, маркетологам которой дана задача продвигать качественный продукт, с заранее утверждёнными ценами на поддержку, которые как-то надо обосновывать перед покупателями. Хотя х.з., может это хуяк-хуяки дурной ценник обосновывают, всё может быть.
#25 | 09:39 18.10.2016 | Кому: Всем
Как тут сказали коллеги, вместо программиста можно любой отдел подставить.
Главное тут – не в этом, а в маркетологе, который ничего не понимает, не видит проблем других служб.
von_herrman
надзор »
#26 | 09:44 18.10.2016 | Кому: Булат
> Проблема программ в том, что за их поломку не лишают лицензии и не выгоняют с рынка

Самолетостроителей тоже :)

> а также то, что пишут все это дело за максимально короткие сроки


Не поверишь, но самолеты проектируют и строят в максимально короткие сроки.

> А если тратить столько же, как при производстве самолета


А зачем вам столько же денег? Программистам нужны тонны дюраля, титана, стали и резины? Вы оплачиваете электричество на работу станков и расходники, постройку испытательных стендов, транспортные расходы и пр.?
von_herrman
надзор »
#27 | 09:44 18.10.2016 | Кому: Hamsterling
Ага, неумело оправдал рукожопие якобы малым количеством денег.
Hamsterling
интеллектуал »
#28 | 09:46 18.10.2016 | Кому: von_herrman
Ну не хочешь слушать - не слушай ) Но обьяснил он правильно.
von_herrman
надзор »
#29 | 09:47 18.10.2016 | Кому: Ерш
> надо потратить серьёзные деньги на предпроектное обследование, подготовку проектной документации, обеспечение грамотного сопровождения, с ведением документации (с тем же учётом взаимозависимостей модулей), внедрение и выполнение процедур разноуровневого тестирования перед запуском в продакшен и т.д. и т.п.

Эти деньги идут на что-то еще, кроме зарплаты тем. кто все перечисленное должен сделать?
Mr. Maximus
надзор »
#30 | 09:49 18.10.2016 | Кому: mastan
> патриотичная хавронья

ну нельзя же так в рабочее то время...
#31 | 09:54 18.10.2016 | Кому: von_herrman
> А зачем вам столько же денег? Программистам нужны тонны дюраля, титана, стали и резины? Вы оплачиваете электричество на работу станков и расходники, постройку испытательных стендов, транспортные расходы и пр.?

Нет, конечно. Сидим, ничего не делаем, давим кнопки да на котиков в интернетах втыкаем!!! На вотте ещё каменты строчим, как оголтелые!!! :-)
#32 | 09:55 18.10.2016 | Кому: Всем
[censored]
von_herrman
надзор »
#33 | 09:58 18.10.2016 | Кому: jscbbo
> На самолет составляется тонна документации

В машиностроении давно уже есть такие прекрасные вещи, как тимцентр, позволяющие обходиться без тонн документации.
Работу надо правильно организовывать.
Булат
идиот »
#34 | 09:59 18.10.2016 | Кому: von_herrman
> Самолетостроителей тоже :)

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

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

При производстве программ не нужны сталь. Но нужны люди, много людей, много оборудования, много других программ попроще. Если это пишет один человек, так как может выдать заказанный продукт, хоть и с костылями и сэкономить деньги заказчика, то что вы от него хотите и зачем требуете безотказности самолета? Хотите, чтобы были составлены схемы и документации на 4000 страниц? Платите. Много платите.
Ситуация с программами сложна еще и тем, что постоянно меняются условия. Легко самолетостроителям, титан как был титаном, так и остался, а в программах такого постоянства нет. Меняются люди, языки, заказчики, операционные системы, железо, задачи.
П.С. Пример программирования в самолетостроении - F-35.
von_herrman
надзор »
#35 | 10:01 18.10.2016 | Кому: Пальтоконь
> Нет, конечно. Сидим, ничего не делаем

Речь не про то, что не делаем.
Чем работа программиста по накладным расходам настолько серьезно превосходит работу конструктора-машиностроителя, что вам нужны такие чудовищные деньги, без которых вы свой труд и координацию между собой организовать не можете?
#36 | 10:02 18.10.2016 | Кому: Булат
> Проблема программ в том, что за их поломку не лишают лицензии и не выгоняют с рынка, поэтому можно пренебречь многократно продублированными мерами безопасности и сертификатами, а также то, что пишут все это дело за максимально короткие сроки.

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

Это как если бы после постройки дома попросили сделать его в два раза шире или надстроить ещё десяток этажей.
#37 | 10:03 18.10.2016 | Кому: von_herrman
> Чем работа программиста по накладным расходам настолько серьезно превосходит работу конструктора-машиностроителя, что вам нужны такие чудовищные деньги, без которых вы свой труд и координацию между собой организовать не можете?

Координация нужна не между собой, а между сотнями тысяч "поручиков и столбов". Проект с продуманной архитектурой — это нормальный самолёт, без архитектуры — тоже самолёт, но построенный без конструкторов и чертежей.
von_herrman
надзор »
#38 | 10:06 18.10.2016 | Кому: Булат
> Ты попробуй в самолете нарушить нормы безопасности, я посмотрю как этот самолет не выгонят с рынка попросту не выдав сертификат летной годности.

Чета боинг не выгнали за трещины в крыльях :)

> программные проекты вообще ни на что не оглядывается.


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

> Хотите, чтобы были составлены схемы и документации на 4000 страниц?


> Платите. Много платите.


Странно, а конструкторам-машиностроителям за это много не платят. Обычную зарплату платят.

> П.С. Пример программирования в самолетостроении - F-35.


Ага, там явно недофинансирование видно :))
von_herrman
надзор »
#39 | 10:08 18.10.2016 | Кому: Пальтоконь
> Координация нужна не между собой, а между сотнями тысяч "поручиков и столбов".

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

Вы уж определитесь, что вам мешает - несогласованность в одной голове или в разных :)
#40 | 10:08 18.10.2016 | Кому: von_herrman
> Эти деньги идут на что-то еще, кроме зарплаты тем. кто все перечисленное должен сделать?

Ну это ж стандартное капиталистическое предприятие. Естественно, кроме зарплаты работникам, есть ещё разные текущие расходы и изымаемая собственником прибыль. Обычно стоимость рассчитывается в неких усреднённых нормочасах стоимостью, например, 1000 р. за час, из которых программисту перепадает 20-30% (расценки челябинские и сильно устаревшие, сколько сейчас - не в курсе).
Булат
идиот »
#41 | 10:09 18.10.2016 | Кому: von_herrman
> Чета боинг не выгнали за трещины в крыльях :)

Когда Боинг не сделает в самолете аварийный выход - вылетит с рынка по сраку коленом.
#42 | 10:09 18.10.2016 | Кому: von_herrman
> Ну так сделайте правила, один раз, в рамках конторы. И оглядывайтесь на них.

Угу, а новые языки, фреймворки и операционки — от лукавого, да? :-)
Даже в бухгалтерском деле всё меняется несколько раз в год, а у нас меняться может несколько раз в день.
#43 | 10:11 18.10.2016 | Кому: Всем
И никого не смутило, что поручик Ржевский не может умереть в проекте "Война и мир", поскольку его там нет.
А так-то да, гуманитарии тупые!!!
#44 | 10:11 18.10.2016 | Кому: von_herrman
> > Координация нужна не между собой, а между сотнями тысяч "поручиков и столбов".
>
> Тут выше жаловались, что "Большой проект мало того, что огромный и не влезает в одну голову как ты там схемы не рисуй, так еще и пишется разными людьми."
>
> Вы уж определитесь, что вам мешает - несогласованность в одной голове или в разных :)

И то, и другое. Это не взаимоисключающие штуки.
#45 | 10:12 18.10.2016 | Кому: Kazuba
> И никого не смутило, что поручик Ржевский не может умереть в проекте "Война и мир", поскольку его там нет.
> А так-то да, гуманитарии тупые!!!

Это у тебя в старом проекте нет. А заказчик хочет "Войну и мир" с поручиком, причём обязательно восьмой версии, а то у заказчика только восьмые поручики есть и его не волнует, что эти поручики не совместимы с двадцать первым веком. "Сделайте поручика хипстером с вейпером, за что мы вам деньги платим?!? Там работы на полчаса: родить поручика и нарядить его в форму. Кстати, пуговички на форме должны быть. Эскизы пришлю послезавтра, а продукт показывать будем сегодня, я уже договорился. Что значит "нет в ТЗ"? Я думал, что вы так и будете делать армию поручиков!"
Булат
идиот »
#46 | 10:13 18.10.2016 | Кому: von_herrman
> Ну так сделайте правила, один раз, в рамках конторы. И оглядывайтесь на них.

А заказчик уйдет в контору, которая делает ту же самую программу за более короткий срок и дешевле. Любые правила, которые исключают минные поля - стоят денег и времени.
#47 | 10:15 18.10.2016 | Кому: von_herrman
> Ну так сделайте правила, один раз, в рамках конторы. И оглядывайтесь на них.

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

Суть проблемы не в том, что невозможно правильно задокументировать, а в том, что это стоит дополнительных денег, которые заказчик не готов платить.
#48 | 10:17 18.10.2016 | Кому: Всем
кстати, самолетостроение от багов тоже не застраховано. может там ошибки реже вылезают, но и цена таких ошибок выше.
когда останавливаются все двигатели - это сильно огорчительней синего экрана.
из отчета по расследованию крушения Boeing-777 в Хитроу:

"Расследование определило, что потеря тяги обоих двигателей явилась результатом ограничения подачи топлива.
Расследование определило следующие возможные причины, приведшие к ограничению подачи топлива:
Перемещение скопившегося льда внутри топливной системы, вызвавшее ограничение подачи топлива в обоих двигателях в результате скопления льда на поверхности топливно-масляного теплообменника.
Лёд образовался в топливной системе в результате замерзания воды, присутствующей в топливе в естественных условиях, в ходе полёта самолёта с низким расходом топлива в течение длительного периода времени при температурах, способствующих образованию "липкого льда".
Топливно-масляный теплообменник, отвечая применимым на тот момент сертификационным требованиям, показал склонность к засорению при наличии мягкого льда в больших концентрациях при температуре топлива ниже −10 °C и подаче топлива выше полётного малого газа.
Сертификационные требования, которым соответствовала топливная система воздушного судна, не принимала во внимание это явление, поскольку такой риск не был известен на тот момент."
#49 | 10:17 18.10.2016 | Кому: Пальтоконь
> Даже в бухгалтерском деле всё меняется несколько раз в год

Это, кстати, наша, российская специфика, понять которую иностранцам очень непросто.
#50 | 10:18 18.10.2016 | Кому: Булат
> А заказчик уйдет в контору, которая делает ту же самую программу за более короткий срок и дешевле. Любые правила, которые исключают минные поля - стоят денег и времени.

БТП!!!
Войдите или зарегистрируйтесь чтобы писать комментарии.