Control freak

управление версиями, задачами, проблемами и людьми

Второй этап

Метки: , . 14 ноября 2010г.

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

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

Что вызывает плохие предчувствия, так это появление виртуального второго этапа, копилки всего, что не успели или не смогли. Причины всегда есть, и часто они очень хорошо обоснованы. Сделаем сразу после запуска, чтобы не срывать обещанные сроки. Сделаем после завершения рефакторинга, потому что тогда решение будет проще, быстрее, надёжнее, идеологически правильнее. Сделаем позже, когда сформируем устраивающее всех техническое решение. Говорила ли я сама что-то подобное? Да, и не раз. И всегда – исключительно в интересах проекта. For the greater good, как говорил один мудрый волшебник.

Так что же ужасного в обещании сделать что-то на втором этапе? К сожалению, то, что с большой вероятностью он вообще никогда не случится. Хотя причины различаются от случая к случаю, есть в них две повторяющиеся составляющие.

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

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

Можно ли как-то исправить описанную ситуацию? Думаю, да, если только над этим будут одновременно работать и разработчик, и заказчик. Неплохо будет обеим сторонам начать с формальных действий – фиксации договорённостей, выделения ресурсов, уточнение приоритетов, определения дедлайнов и так далее. Однако намного важнее изменить своё отношение к работам второго этапа.

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

Заказчику ещё сложнее. Он должен продолжать просить и требовать, интересоваться и добиваться, быть таким же активным, как и перед запуском проекта. И постоянно помнить, что во втором этапе разработчик уже практически не заинтересован. В конце концов, релиз запущен, премии получены, а впереди манят новизной другие задачи.

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

Комментарии

  1. Greesha 14 ноября 2010г.  18:05

    Так что же ужасного в обещании сделать что-то на втором этапе? К сожалению, то, что с большой вероятностью он вообще никогда не случится.

    Странно, по моему опыту – наоборот, практически ни один проект не делается в один этап. Всегда старались заранее договориться с заказчиком о том, чтобы разбить работу на этапы. При таком подходе сравнительно редко приходилось переносить “на потом” какие-то функции, предназначенные для реализации на текущем этапе.

    Ответить

    • Евгения Фирсова 14 ноября 2010г.  18:47

      Вероятно, я недостаточно чётко написала. Когда этапы планируются заранее, всё хорошо. Я же описывала ситуацию, когда они возникают спонтанно в процессе работы.

      Ответить

      • Ярослав 15 ноября 2010г.  12:46

        Получается на любой проект нужно закладывать два этапа.
        Первый этап: все, что хочет заказчик.
        Второй этап: все, что не успели сделать в первом этапе.

        Кстати, обычно второй этап появляется, когда изначально заложены не реальные сроки в стиле: “Мы вчера должны были запустить проект…”

        Ответить

        • Евгения Фирсова 15 ноября 2010г.  12:52

          Кстати, обычно второй этап появляется, когда изначально заложены не реальные сроки в стиле: “Мы вчера должны были запустить проект…”

          Готова согласиться. Обычно либо снаружи сроки заложили нереальные, либо изнутри при планировании работ не предусмотрели какие-то сложности и проблемы.

          Ответить
  2. Иван Лысенко 20 ноября 2010г.  0:30

    Любой проект не обходится без подобных задач. Каждый привык его называть по-своему, но по моему личному мнению слово “потом” звучит еще более устрашающе нежели “второй этап”. Это значит, что это сделают, но не факт, что на втором, третьем итерации/спринте/этапе. Даже бррр….
    А когда разработчик так говорит или даже тим лид разработчиков, то не так страшно, чем когда говорит ПМ…
    У меня как раз вот такая проблема. Хочу с ближайшей итерации начать записывать за ними всеми самое важное и напоминать по ходу работы, впихивать во все окна.
    Хотя отлично, я считаю, для такого подходит мааленькая итерация/этап после какой-то большой. Но это у каждого свое мнение

    Ответить

Оставить комментарий

Разрешенные теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>