Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они.
А потом начинается....
1. Кода в старом проекте — за 20 тысяч строк. И он реально очень кривой.
2. Многопоточка, интеграция с другим софтом, запросы на сервер, и т.д. и т.п.
3. Документации нет. Вообще.
4. Срок — месяц.
Черт, откуда только берется столько таких лживых ублюдков?
Тхе... вы еще квартиру или машину себе не покупали по всей видимости. Звонишь спрашиваешь битая или нет, нет не битая. Приходишь с толщимером ни одной не крашенной детали Ой, это предыдущих хозяин. Здесь то же самое.
План действий могу порекомендовать следующий — сконцентрируйтесь на красивом UI, кнопочках, анимации, эффектах. То что за ним ничего не стоит — потом может быть сделаете. Постоянно себя нахваливайте и то что получилось, постарайтесь выбить адекватные сроки под это дело.
Здравствуйте, consign, Вы писали:
C>4. Срок — месяц. C>Черт, откуда только берется столько таких лживых ублюдков?
Если срок тебе спустили "сверху", то ты за него не отвечаешь.
Здравствуйте, consign, Вы писали:
C>Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они. C>А потом начинается.... C>1. Кода в старом проекте — за 20 тысяч строк. И он реально очень кривой.
Всего???
"...И такой вот пищи
названий — до тыщщи..."
C>3. Документации нет. Вообще.
А вот камрады считают, что
"Самодокументирующий код" (с) и "комментарии не нужны" (с)
А ты про какую-то документацию...
C>4. Срок — месяц.
Месяц потом превратится в пару лет. Всё в порядке.
C>Черт, откуда только берется столько таких лживых ублюдков?
Издержки профессии.
У тебя есть замечательная возможность сделать всё по фен-шую.
Вот так и работаем.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, consign, Вы писали:
C>Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они. C>А потом начинается.... C>1. Кода в старом проекте — за 20 тысяч строк. И он реально очень кривой. C>2. Многопоточка, интеграция с другим софтом, запросы на сервер, и т.д. и т.п. C>3. Документации нет. Вообще. C>4. Срок — месяц. C>Черт, откуда только берется столько таких лживых ублюдков?
Отрефакторить, а не переписать. По причине его реальной кривизны. Оценку времени на реализацию, собственную или спущенную, чаще всего можно умножать на два для связи с реальностью. Закинешь через месяц тестерам первую версию и продолжишь допиливать и фиксить, что тестеры найдут.
Здравствуйте, Mr Bombastic, Вы писали:
MB>Оценку времени на реализацию, собственную или спущенную, чаще всего можно умножать на два для связи с реальностью.
Здесь больше похоже на 3, по самой оптимистичной оценке.
Здравствуйте, consign, Вы писали:
MB>>Оценку времени на реализацию, собственную или спущенную, чаще всего можно умножать на два для связи с реальностью.
C>Здесь больше похоже на 3, по самой оптимистичной оценке.
Тут уж зависит от способностей программиста ставить оценки
Здравствуйте, consign, Вы писали:
C>Если бы даже не спустили, то при отсутствии детальной документации по требованиям до — такая оценка просто невалидна.
Именно так.
C>Но это в теории.
А что мешает проявить упругость на практике?
Здравствуйте, consign, Вы писали:
C>4. Срок — месяц. C>Черт, откуда только берется столько таких лживых ублюдков?
А ты его про... провали. В прямом смысле "ну не шмогла я, а что вы хотели с такими ожиданиями". Еще желательно, чтобы клиент доплатил, так сказать — поглубже вляпался и вложился. Через полгода-год проект будет завершен, а заказчик изрядно поумнеет.
Здравствуйте, Слава, Вы писали:
С>А ты его про... провали. В прямом смысле "ну не шмогла я, а что вы хотели с такими ожиданиями". Еще желательно, чтобы клиент доплатил, так сказать — поглубже вляпался и вложился. Через полгода-год проект будет завершен, а заказчик изрядно поумнеет.
Здравствуйте, consign, Вы писали:
C>Бесполезно пытаться бодаться с менеджером, поскольку врать и выкручиваться — его профессия. Но можно просто послать нафиг, о чем я сейчас и размышляю.
просто работаешь 8/5, не надрываясь.
что успел — то успел. остальное, это заботы тех, кто эти сроки высасывал из пальца и под ними подписывался.
Здравствуйте, consign, Вы писали:
0>>А что мешает проявить упругость на практике?
C>Бесполезно пытаться бодаться с менеджером, поскольку врать и выкручиваться — его профессия. Но можно просто послать нафиг, о чем я сейчас и размышляю.
Не, бодаться не надо.
Я бы предложил для начала выделить пару-тройку недель чтобы покопаться в проекте для оценки трудоемкости.
По прошествии этого времени можно озвучить свои мысли по-поводу сроков реализации (предварительно помножив сроки на Пи).
Ну а потом можно посмотреть.
Ессно, манагер будет топать ногами и шуметь про сроки, но чудес не бывает.
ЗЫ. 20-летний проект (сервер, кроссплатформенность, ODBC, многопоточность, файлы по 16тыс. строк и проч.) мы переписали вдвоем с Сей на Яву за два года. Изначально давалось полгода.
_____________________
С уважением,
Stanislav V. Zudin
Здравствуйте, consign, Вы писали:
C>Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они.
Ну и в чем проблема?
Переписать так переписать, описываем требования, дизайним, кодим, выкидываем старый продукт на помойку. Если правильно выбрать технологии и не сильно тупить в процессе, за месяц вполне реально вместо 20к кривых строк сделать 3к правильных.
MB>>Оценку времени на реализацию, собственную или спущенную, чаще всего можно умножать на два для связи с реальностью. C>Здесь больше похоже на 3, по самой оптимистичной оценке.
Уточняем дальше.
Все сроки надо ВСЕГДА умножать на 3.1415926...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, pestis, Вы писали:
P>Переписать так переписать, описываем требования, дизайним, кодим, выкидываем старый продукт на помойку. Если правильно выбрать технологии и не сильно тупить в процессе, за месяц вполне реально вместо 20к кривых строк сделать 3к правильных.
Многопоточка, интеграция. За каждый из этих пунктов умножай оценку на 2-3.
Здравствуйте, consign, Вы писали:
C>Многопоточка, интеграция. За каждый из этих пунктов умножай оценку на 2-3.
И что что многопоточка? Если технологии адекватны задаче многопоточка не вызывает боли. На nodejs, к примеру, всякие асинхронные интеграции пишутся в одно движение.
Здравствуйте, consign, Вы писали:
C>Здравствуйте, pestis, Вы писали:
P>>Переписать так переписать, описываем требования, дизайним, кодим, выкидываем старый продукт на помойку. Если правильно выбрать технологии и не сильно тупить в процессе, за месяц вполне реально вместо 20к кривых строк сделать 3к правильных.
C>Многопоточка, интеграция. За каждый из этих пунктов умножай оценку на 2-3.
Реально нужна? Обычно это костыль вместо асинхронности или применяется там где не надо. Можно вместо потока сделать новый процесс и забыть про синхронизацию. Если вычислять что-то, то можно взять тред пул и спокойно задизанийть простой код с использованием его.
Здравствуйте, Kernan, Вы писали:
K>Реально нужна? Обычно это костыль вместо асинхронности или применяется там где не надо. Можно вместо потока сделать новый процесс и забыть про синхронизацию. Если вычислять что-то, то можно взять тред пул и спокойно задизанийть простой код с использованием его.
Обработка данных в бэкграунде, пока пользователь работает и делает что-то еще.
0>>А что мешает проявить упругость на практике? C>Бесполезно пытаться бодаться с менеджером, поскольку врать и выкручиваться — его профессия. Но можно просто послать нафиг, о чем я сейчас и размышляю.
Если этого не сделать, то легко оказаться крайним, когда выдуманные кем-то сроки окажутся сорванными.
Да, это не всегда комфортно, но если этого не сделать, то легко оказаться в неприятной ситуации, когда придётся овертаймить забесплатно, чтобы реализовать чьи-то фантазии, да ещё и остаться с плохой репутацией.
Оно тебе надо?
Здравствуйте, Слава, Вы писали:
C>>4. Срок — месяц. C>>Черт, откуда только берется столько таких лживых ублюдков?
С>А ты его про... провали. В прямом смысле "ну не шмогла я, а что вы хотели с такими ожиданиями". Еще желательно, чтобы клиент доплатил, так сказать — поглубже вляпался и вложился. Через полгода-год проект будет завершен, а заказчик изрядно поумнеет.
Только желательно на фразу "ты должен сделать это за месяц" отвечать не "хорошо, сделаю", а "постараюсь". Плюс потом надо будет красиво убедительно рассказать, что ты сделал за это время, и почему месяца оказалось мало (если плохо получается — развивайте навыки ораторского искусства). И будет выглядеть типа ты весь такой молодец, старался из последних сил, сделал даже больше, чем возможно, но весь проект за месяц просто нереально было успеть. ))
Можно с самого начала намекнуть, что месяца мало будет. Не хотят слышать — "ок, буду стараться" и неспешно работаешь. Главное не забывать красиво рассказывать, как много ты уже сделал и с какими невероятными трудностями справлялся.
Здравствуйте, 0x7be, Вы писали:
0>Если срок тебе спустили "сверху", то ты за него не отвечаешь.
"Зависит". Если ты подписал контракт с прописанным там сроком — значит, ты отвечаешь и за результат, и за срок.
Здравствуйте, Mr Bombastic, Вы писали:
MB>Тут уж зависит от способностей программиста ставить оценки
Ни разу не видел программиста, умеющего адекватно оценивать сроки, если задача достаточно большая. Собственно, менеджеров, умеющих это, я тоже не видел. Потому всё время действую по старинке — прикидываю, за сколько я смогу сделать, а затем умножаю на 2-4 в зависимости от рискованности проекта. В такие сроки всегда укладывался
Здравствуйте, koandrew, Вы писали:
K>Здравствуйте, 0x7be, Вы писали:
0>>Если срок тебе спустили "сверху", то ты за него не отвечаешь. K>"Зависит". Если ты подписал контракт с прописанным там сроком — значит, ты отвечаешь и за результат, и за срок.
в этом случае тебе срок не спустили 'сверху', это срок одобренный тобой. и в этом случае ты отвечаешь за свой косяк.
0>>Если срок тебе спустили "сверху", то ты за него не отвечаешь. K>"Зависит". Если ты подписал контракт с прописанным там сроком — значит, ты отвечаешь и за результат, и за срок.
Если подписал — значит согласился
Зачем — согласился, вопрос отдельный.
Но тут, кмк, ситуация не такая.
Здравствуйте, consign, Вы писали:
C>Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они. C>А потом начинается....
Если фрилансер, зачем берёшься за проект для выяснения всех подробностей? Если не фрилансер, так ты не отвечаешь за договорённости руководства. Они договорились за месяц? Вот пусть и разбираются со своими договорённостями сами. Ты туда чего лезешь?
Вот давай так: что тебе будет, если ты в заявленные сроки не вложишься? Максимум уволят, так если ты хороший специалист работу найдёшь быстро.
Здравствуйте, Kernan, Вы писали:
K>Реально нужна? Обычно это костыль вместо асинхронности или применяется там где не надо. Можно вместо потока сделать новый процесс и забыть про синхронизацию. Если вычислять что-то, то можно взять тред пул
За страшные слова умножить оценку на 6.
Здравствуйте, 0x7be, Вы писали:
0>Если срок тебе спустили "сверху", то ты за него не отвечаешь.
Срок не спускают а ставят в качестве условия договора. Ты сам должен сказать принимаешь срок и соглашаешся ли выполнить указанное задание за оговоренный срок или нет.
Здравствуйте, koandrew, Вы писали:
K>Ни разу не видел программиста, умеющего адекватно оценивать сроки, если задача достаточно большая.
Это неправда, есть места, где изначально дают время, в 10 раз большее, чем ты предполагаешь. Всякие НИИ советского образца... Там оценивать сроки очень просто.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, VovkaMorkovka, Вы писали:
VM>Вот давай так: что тебе будет, если ты в заявленные сроки не вложишься? Максимум уволят, так если ты хороший специалист работу найдёшь быстро.
Не, уволить не уволят.
Пожурят — мол эх ты, а мы на тебя так надеялись, так тебе доверяли.
Распишут, как он сильно подвел не только себя, но и команду, своих боевых товарищей, да и фирму в целом.
Потом руководство может проявить щедрый жест — разрешить поработать бесплатно по выходным, чтоб хотя бы частично искупить свою вину (целиком её искупить уже нельзя).
Здравствуйте, LaptevVV, Вы писали:
MB>>>Оценку времени на реализацию, собственную или спущенную, чаще всего можно умножать на два для связи с реальностью. C>>Здесь больше похоже на 3, по самой оптимистичной оценке. LVV>Уточняем дальше. LVV>Все сроки надо ВСЕГДА умножать на 3.1415926...
Ага так и говоришь 32 часа 26 минут и 31,7 секунды
0>Если этого не сделать, то легко оказаться крайним, когда выдуманные кем-то сроки окажутся сорванными. 0>Да, это не всегда комфортно, но если этого не сделать, то легко оказаться в неприятной ситуации, когда придётся овертаймить забесплатно, чтобы реализовать чьи-то фантазии, да ещё и остаться с плохой репутацией. 0>Оно тебе надо?
Здравствуйте, consign, Вы писали:
C>4. Срок — месяц. C>Черт, откуда только берется столько таких лживых ублюдков?
Всё нормально. Через месяц ты будешь лучше всех разбираться в этом проекте, и можно будет говорить о повышении зарплаты.
А то, что не уложился, так это же не твои сроки.
Здравствуйте, CreatorCray, Вы писали:
SVZ>>"Самодокументирующий код" (с) и "комментарии не нужны" (с)
CC>Беда только в том, что далеко не все умеют писать самодокументирующийся код.
VM>Если не фрилансер, так ты не отвечаешь за договорённости руководства. Они договорились за месяц? Вот пусть и разбираются со своими договорённостями сами. Ты туда чего лезешь?
Ну как не отвечаешь... Да, не отвечаешь, но премию не заплатят тебе, а не руководству.
Здравствуйте, consign, Вы писали:
C>Надо переписать несложный проект, сказали они. Старая версия просто слишком глючная и плохо написанная. Проект совсем несложный и небольшой, сказали они. C>А потом начинается.... C>1. Кода в старом проекте — за 20 тысяч строк. И он реально очень кривой. C>2. Многопоточка, интеграция с другим софтом, запросы на сервер, и т.д. и т.п. C>3. Документации нет. Вообще. C>4. Срок — месяц. C>Черт, откуда только берется столько таких лживых ублюдков?
Их столько много, потому что мало тех, кто говорит-под этими сроками я не подписываюсь.
Когда-то(на заре карьеры)-я даже уволился по причине несогласия с навязыванием трудоемкости работ.
15 лет работы в индустрии показали, что такая тактика-самая верная.
7+ лет работаю в компании, где сами исполнители ставят сроки.
Чего и вам желаю.