Вопрос :
Как мне справиться с нереалистичными сроками в проекте программного обеспечения? Как убедиться, что я не пропущу сроки, если сами сроки нереалистичны? Что мне сказать своему руководителю, если я пропущу крайний срок? Что вы делали, когда сталкивались с нереалистичными сроками, которые нельзя было обсудить?
Фон :
Я работаю над проектом программного обеспечения с последних 6 месяцев. Я единственный разработчик на проекте. В проекте есть модуль, который был разработан очень старшим разработчиком, которого перевели в другой проект 6 месяцев назад, когда я присоединился к проекту. Хотя с тех пор я взялся за проект, у меня не было возможности взглянуть на модуль, разработанный старшим разработчиком. Существует новый фреймворк, разработанный нашей компанией. Нас попросили использовать эту структуру в наших проектах. Использование этой структуры в проекте, над которым я работаю, требует избавления от модуля, написанного старшим разработчиком, и рефакторинга других модулей, на которые повлияет это изменение.
Проблема: Старший менеджер по развитию моего проекта дал нереалистичные оценки этой деятельности. Я поднял вопрос о нем, но это имело неприятные последствия для меня. Вот пример того, какие разговоры у меня были с ним:
Я: Можем ли мы увеличить количество дней для подзадачи с 1 до 5 дней?
Менеджер: Как вы думаете, почему эта подзадача займет больше времени? Я думал, ты знаешь кодовую базу.
Я: Я знаю нашу кодовую базу. Я не знаю кодовую базу фреймворка. Я не могу дать вам точную оценку, не глядя на код фреймворка. Что я знаю на данный момент, так это то, что эту подзадачу нельзя выполнить за 2 дня. На это нам понадобится не менее 5 дней.
Я указал еще на несколько подзадач, которые, по моему мнению, потребуют больше времени. В итоге наш разговор закончился так:
Менеджер: Я не могу изменить оценки сейчас. Вы должны управлять этим так или иначе. Я начинаю чувствовать, что ты не тот человек, который должен работать над этим проектом.
Мне дали 1 месяц, чтобы завершить это задание, и я застрял с некоторыми нереалистичными оценками. Проработав в отрасли пару лет, я знаю, что мне придется работать по 12 часов в день и, возможно, даже по выходным, чтобы уложиться в срок для каждой подзадачи.
Изменить: этот вопрос не является дубликатом этого
Есть разница между тем, чтобы быть единственным разработчиком в проекте и иметь 5 разработчиков в проекте. Психологические аспекты, связанные с тем, чтобы быть единственным разработчиком в проекте, различны. Например, 5 разработчиков могут объединиться против одного менеджера, если дело дойдет до драки, но один разработчик рискует быть оскорбленным или униженным на глазах у всех, если он выступает против взглядов менеджеров. 5 разработчиков могут поддержать друг друга в трудную минуту, но одному разработчику приходится нести всю нагрузку самому. Это будет мое слово против моих менеджеров, но этого не будет, если у меня будет больше разработчиков, которые будут работать со мной и будут чувствовать, что сроки нереалистичны.
Менеджер: Я не могу изменить оценки сейчас. Вы должны управлять этим так или иначе. Я начинаю чувствовать, что ты не тот человек, который должен работать над этим проектом.
Ваш менеджер отказывается от ответственности за свою роль, так что вам придется выполнять и его работу.
Начните с составления того, что вы считаете реалистичной временной шкалой для этого задания, наметив все шаги, которые вы видите, и оцените количество часов для каждого шага. Не тратьте на это слишком много времени, так как вас могут обвинить в «зависании» проекта. Это может быть что-то такое же простое, как лист Excel со списком шагов, предполагаемым количеством часов и расчетом предполагаемой даты завершения. Не включайте никаких ссылок на крайний срок. Напишите об этом своему менеджеру.
В конце каждого дня, рядом с предполагаемым временем, укажите количество часов, которые вы потратили на шаг, рядом с вашей оценкой, а процент завершения (по общему признанию, субъективный) рядом с ней. Также укажите время, не связанное с проектом (обязательные встречи, экстренные запросы и т. д.). Расчет предполагаемой даты завершения должен обновляться на основе этого. Пишите об этом своему менеджеру в конце каждого дня.
Не жалуйтесь. Действуйте изо всех сил. Приложите все возможные усилия.
В конце проекта произойдет 1 из двух вещей:
Прежде всего, держите свои эмоции подальше от этого. Это просто работа. Если вы будете эмоционально относиться к этому, у вас ничего не получится, а то, что вы скажете в отчаянии, позже может быть использовано против вас. Если вы будете сохранять спокойствие, сосредоточенность и продуктивность, вы сможете честно сказать, что приложили все усилия и ничего не скрывали от своего руководителя.
Если ваша организация не может уважать это, то, во-первых, не было способа добиться успеха.
Как мне справиться с нереалистичными сроками в проекте программного обеспечения? Как убедиться, что я не пропущу сроки, если сами сроки нереалистичны?
Если они нереалистичны, вы их упустите. Тем не менее, вполне возможно, что сроки сочтут ваш менеджер достижимыми (например, «нереалистичными»), учитывая, что вы будете работать сверхурочно (см. ниже).
Проработав в отрасли пару лет, я знаю, что мне придется работать по 12 часов в день и, возможно, даже по выходным, чтобы уложиться в срок для каждой подзадачи.
Я не знаю, какова ваша ситуация, но если бы кто-нибудь сказал мне, что мне придется работать по 12 часов в день, чтобы уложиться в срок, который я (лично) не брал на себя, я бы ответил, обновив свое резюме и начав искать в другом месте. Есть две три вещи, которые нужно понять о запланированной сверхурочной работе:
во-первых, когда крайний срок нереалистичен, сверхурочная работа — это не ответ, а симптом проблемы.
во-вторых, если вы не работаете в стране, где нет законов о защите труда, сверхурочная работа не может быть навязана вам. Если вам платят за 9 часов в день (например), ваш менеджер совершенно нереалистично рассчитывает получить больше вашего времени, в основном бесплатно. За каждый человеко-день просят откладывать по 1,5 человеко-дня, а взамен ничего не получают (это так же нереально, как и сроки).
в-третьих, когда вы работаете сверхурочно, вы работаете меньше половины своей мощности в течение более длительного времени. Это не похоже на это, потому что вы исправляете вещи, и они, как правило, работают в краткосрочной перспективе. Вы действительно делаете больше ошибок, когда работаете сверхурочно, и большая часть кода, который вы пишете, превращается в технический долг. Задержки и проблемы, вызванные техническим долгом, со временем увеличиваются в геометрической прогрессии, пока вы не столкнетесь с неподдерживаемой кодовой базой.
Чтобы ответить на ваш вопрос, я бы сделал две вещи:
убедитесь, что менеджер понимает и отслеживает мой прогресс в этом проекте (то есть, если бы я сделал 50% того, что должен был сделать, чтобы уложиться в срок, я бы сообщил об этом как можно более недвусмысленно).
отказаться от систематической сверхурочной работы. Если возникла чрезвычайная ситуация и на кону стоит будущее компании, я бы согласился задержаться в офисе на день или два (а на третий я бы ответил: «Извините, у меня есть планы» — и ушел).
Если бы ничего не сгорело и менеджер решил: «Я не могу изменить сметы сейчас» из-за каких-то нереалистичных оценок, я бы сделал все возможное в отведенное компании время . В вашем контракте с компанией указано, что компания может от вас потребовать (указывается ли сверхурочная работа? в каких условиях?).
Если сроки не будут соблюдены, это будет проблемой управления (т.е. не моей, чтобы решать), и ответственность будет лежать на менеджере.
Ваша ответственность в этом состоит в том, чтобы делать то, что вы реально можете (имея в виду, что компания не может ожидать от вас бесплатной работы) и сообщать о задержках и проблемах своему менеджеру. С тех пор это его проблемы.
Изменить жирным шрифтом .
Что вы делали, когда сталкивались с нереалистичными сроками, которые нельзя было обсудить?
Очень немногие сроки на самом деле не подлежат обсуждению. Если бы это действительно было не подлежащим обсуждению, то в проекте было бы больше 1 человека. По той простой причине, что есть риск, что вы больше не сможете над ним работать, и, следовательно, существует вероятность того, что крайний срок будет пропущен.
Менеджер: Я не могу изменить оценки сейчас. Вы должны управлять этим так или иначе. Я начинаю чувствовать, что ты не тот человек, который должен работать над этим проектом.
Если менеджер говорил мне об этом, ставя дедлайн, который я считал необоснованным, то я вежливо соглашался с ним и спрашивал, на какой проект он хотел бы меня перевести.
Если вы действительно чувствуете, что не можете выполнить работу за отведенное время, то ваша задача состоит в том, чтобы поднять этот флаг перед руководством. Что вы и сделали. Затем задача руководства состоит в том, чтобы определить, есть ли какие-либо препятствия для завершения, которые они могут устранить, или сдвинуть график и поговорить с затронутыми сторонами.
Если, однако, руководство просто попытается заставить вас уложиться в график, то это прямой путь к катастрофе, которая ничем хорошим не закончится. В этом случае лучше покончить с трудной частью сейчас, чем полностью напрягаться и потом иметь дело с потенциальным увольнением.
Если вы вежливо согласитесь, что, возможно, вы не тот человек, который может работать в таких условиях, произойдет одно из трех. Либо вы называете его блефом, и он изменит график, он добавит еще одного человека, чтобы помочь вам, либо вы останетесь без работы. Честно говоря, если вас уволили из-за этого, то, скорее всего, так и было бы, если бы вы все равно пропустили дедлайн.
Как мне справиться с нереалистичными сроками в проекте программного обеспечения?
Как правило, здесь следует учитывать несколько моментов:
Дедлайн связан с каким-то внешним событием, которое нельзя перенести? Например, если есть выставка, на которой проект должен быть выполнен, то это немного отличается от произвольного срока.
Насколько хорошо вы можете доказать, что сроки нереалистичны? Крайний срок может быть запланирован, но какие у вас есть доказательства, чтобы опровергнуть эти пункты?
Как убедиться, что я не пропущу сроки, если сами сроки нереалистичны?
Мое предложение было бы добавить дополнительные часы и попросить о помощи.
Что мне сказать своему руководителю, если я пропущу крайний срок?
Если вы знаете, что крайний срок будет пропущен, я бы посоветовал как можно скорее сообщить об этом вашему руководителю и посмотреть, какой курс действий рекомендуется. Возможно, здесь будет борьба за власть или что-то еще, но могут быть и альтернативы. Существует также вопрос о том, как в компании соблюдаются сроки, поскольку я видел, как все в компании помогают уложиться в сроки, а сроки — это просто обнадеживающие даты, которые ничего не значат.
Что вы делали, когда сталкивались с нереалистичными сроками, которые нельзя было обсудить?
В зависимости от этих первых нескольких пунктов будет несколько вариантов:
План на случай непредвиденных обстоятельств. Пересмотрите масштаб, чтобы можно было провести демонстрацию, но с ограниченной функциональностью.
Оттолкнуть - Конечно, это было уродливо, были времена, когда мои коллеги и я говорили руководителю, что крайний срок невозможен, и спрашивали, что они хотят, чтобы мы сделали. В конце концов, у них могут быть другие вещи, которые можно было бы сделать в зависимости от того, почему это было так сильно навязано.
Погрузитесь — я также видел случаи, когда команда тратила дополнительные часы и укладывалась в срок. Конечно, это сопряжено с риском того, что вас попросят сделать это снова, но здесь нужно быть осторожным в отношении того, как распоряжается временем в компании, поскольку если бы было затрачено много дополнительного времени, это можно было бы использовать позже. В качестве альтернативы, получение одобрения OT может быть еще одной стратегией.
Вот ответ вашего менеджера:
Менеджер: Я не могу изменить оценки сейчас. Вы должны управлять этим так или иначе. Я начинаю чувствовать, что ты не тот человек, который должен работать над этим проектом.
И главное для меня вот что:
Я начинаю чувствовать, что ты не тот человек, который должен работать над этим проектом.
Главный аргумент этого менеджера в пользу того, что вы укладываетесь в нереальные сроки, заключается в том, что вы, возможно, не подходите для проекта? Действительно? Как издевательства на самом деле будут вдохновлять на работу.
Моя интуиция подсказывает мне, что необходимость уложиться в этот срок — и последствия того, почему это не могу сделать я, — на самом деле ложится на вашего менеджера и его отсутствие перспективы.
И, к сожалению, этот менеджер хочет убедиться, что любой ответный удар из-за этого пропущенного срока ляжет на разработчика (то есть на вас).
Абсолютно лучший совет, который я могу вам дать, — это посмотреть на сам проект и рационально разделить его на эти категории.
Теперь, с учетом сказанного, составьте этот список и обратитесь к своему менеджеру с деталями. Хотя они явно говорят, что вы не подходите для проекта, реальность такова, что если бы был кто-то другой, кто мог бы справиться с этим, они бы уже получили задание. Или, возможно, ваш менеджер найдет способ, как вы двое сможете работать вместе.
Но в нынешнем виде я считаю, что если проект ложится вам на колени, и вы знаете, что сроки неразумны, вы в ваших силах организовать дискуссию о том, как лучше всего справиться с этим.
СКинг
перенсия
Лорен Пехтел
скрежет729
IDRinkandIKnowThings
хорошие пиксели