Запуск нового проекта может нервничать. Вы должны учитывать, что это за проект, кто что должен делать, как выглядит график и как все это воплотить в жизнь. На этом не останавливаемся, вы также должны учитывать изменения в объеме, ошибки, то, что работает не так, как ожидалось, изменения бюджета и многое другое. Весь процесс может быть безумным даже при наличии плана.

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

Чтобы поддержать проект, вам нужно сначала его определить. Что это за проект и зачем он делается? Затем вам нужно определить область действия. Что это означает, что это будет делать и сколько это будет стоить? Как только у вас есть ограничения для проекта, вы можете начать разделять его на более мелкие проекты, которые нужно распределить. Выясните зависимости, используя что-то вроде диаграммы Ганта, и определите порядок действий. Разделив каждую часть на части, вы сможете адаптироваться к изменениям по мере их появления, не нанося ущерба общему плану и цели.

Определение проекта

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

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

Идеи стоят доллар за дюжину, но конкретная идея, готовая к реализации, встречается значительно реже. Если мы создаем приложение для знакомств, нацелены ли мы на что-то вроде Match или больше на Tinder? На какую часть каждого из них мы нацелены (если есть)? Разверните и снова разверните.

Детализация определения

Вы хотите, чтобы это граничило с бизнес-планом. «Мы планируем развернуть это программное обеспечение на 20 000 компьютеров, и мы планируем делать это поэтапно, сначала тестируя на ненужных и избыточных машинах (в списке a), а затем мы перейдем к машинам с низким уровнем воздействия. (в списке b), затем мы планируем перейти к машинам с умеренным ударом… »Это как раз то, что входит в часть нашего определения« что ». Это также не высечено на камне, но это способ составить план для начала полного определения объема проекта и того, как мы распределяем ресурсы проекта по вертикали.

Зачем ты это делаешь? «Это программное обеспечение развертывается в рамках наших договорных обязательств по развертыванию системы безопасности. Нам нужно убедиться, что коэффициент развертывания составляет 90% к конечной дате a, затем нам нужно пройти и найти список отставших, чтобы предоставить партнерам до конечной даты b . Поэтому мы подходим к проекту в указанном выше порядке. Мы делаем это такими темпами, потому что наши клиенты стремятся к соблюдению требований ».

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

Определите сферу

Как только мы определим наш проект, мы должны спланировать масштаб нашего проекта. Мы знаем, что делаем и почему, но что мы собираемся делать и как далеко мы зайдем в этом? Если мы получим запрос на добавление функции, нужно ли с ним действовать? Не может быть серых зон с масштабом проекта (или команды). В противном случае вы настроите все на провал.

Изучите специфику продукта. В нашем примере приложения для знакомств мы хотели бы спланировать функции и варианты использования. Собираемся ли мы уделять время особенностям для людей старше 60 лет? Будет ли это приложение поддерживать двухфакторную аутентификацию? Какую базу данных мы используем и в каком масштабе она может работать? Мы используем один сервер или кластер? AWS или голый металл? Что мы будем делать, если достигнем предела нашего первоначального плана? Сколько все это будет стоить с точки зрения рабочего времени и фактических затрат? Разверните свой проект там, где вы хотите, чтобы он был в конечном итоге, и создавайте его соответствующим образом.

Вы собираетесь передумать о вещах, или вас заставят действовать. Если вы вначале разумно оцениваете ситуацию, вы правильно устанавливаете ожидания и не будете поражены (в такой степени). В нашем примере развертывания программного обеспечения безопасности, что нам делать с неисправными агентами (уровень ОС или аналогичный)? Кто должен это исправить? Это зависит от объема. Удалите серую зону, прежде чем она станет проблемой.

Разделить проект

Я делю свои проекты на несколько концептуальных разделов. У меня есть фазы и единицы. Этапы - это приблизительные части того, что мы делаем для достижения цели в общем плане. Они разбиваются на что-то вроде фазы планирования, фазы проектирования, фазы реализации и фазы завершения, а затем они углубляются в каждую из них, чтобы мы могли построить m значимых показателей на каждом этапе. У нас есть подготовительное планирование, чтобы заложить основу, планирование реализации для планирования фактической реализации, бюджетное планирование для планирования финансовой или ресурсной ситуации и т. Д.

Единицы - это каждая отдельная задача, которая входит в целое. Что мы строим или что делаем? Подготовка среды - это единица, даже если она может уместиться между этапами. Реализация функции может быть отдельным элементом на определенном этапе. Некоторые юниты даже являются их собственными проектами. Фазы и единицы - это разные части одного и того же целого. Районы города будут отличаться от почтовых индексов, потому что у каждого из них своя цель.

Фазы

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

Единицы

Фазы - временные, а единицы - практические. Единица - это подразделение каждой отдельной задачи. Написание кода котельной плиты на этапе планирования - это единица проекта. Внедрение новой системы входа в систему - это единое целое. Каждое практическое действие - это отдельная единица. Некоторые блоки можно разделить на более мелкие проекты, которые затем необходимо разделить на свои собственные фазы и блоки.

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

Порядок действий

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

Один из лучших способов разделить проект, когда вы знаете, что нужно делать (и в каком порядке), - это составить диаграмму Ганта. Диаграмма Ганта - это, по сути, способ упорядочить единицы или задачи в порядке операций, необходимых для завершения проекта. Это дает вам визуальное представление, что B стоит перед C, но A стоит перед ним. Некоторые из этих модулей будут охватывать целые фазы, поэтому чем раньше они могут начаться (и закончиться), тем лучше.

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

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

Ни один план не выжил после контакта с врагом

Независимо от того, сколько вы планируете, оно обязательно натолкнется на препятствия. Я потратил больше недели на планирование базового развертывания программного обеспечения безопасности для более чем 20 000 агентов, но все мои планы были отменены в течение месяца фактической работы по внешним причинам. Это должно произойти, и если это произойдет, вы будете рады, что спланировали изначально.

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

Чем больше вы планируете, тем больше вам нужно знать заранее или тем больше вы знаете, что не знаете заранее.

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

Не забудьте включить в любой план дополнительное время. Легко перевыполнить обещание или выполнить невыполнение, но гораздо труднее выполнить обещание и выполнить перевыполнение. Я предпочитаю последнее. Вы выглядите как рок-звезда, и даже если все взорвется, вы с самого начала установили более точное ожидание, которое легче обойти. Планируйте, что что-то пойдет не так, и ожидайте, что сроки будут искажены, особенно в отношении узких мест. Иногда весь план рушится, потому что кто-то (выше вашего уровня оплаты) требует новой функции вне сферы действия. Чем больше вы встраиваете буферов, тем более гибким может быть ваш план.

Сортировка и чрезвычайное планирование

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

Вы должны уметь отсортировать проблему. Менеджер, жалующийся на отсутствие какой-либо незначительной функции, будет важнее всего, если система выходит из строя или что-то требует C-level. Что делать, если вы обнаружите катастрофическую ошибку прямо перед производством? Реагируйте соответственно.

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

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

Управление проектом

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

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

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

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

Первоначально опубликовано на https://somedudesays.com.