Пять навыков управления проектами, которыми должен владеть каждый разработчикИсточник: club
Времена функциональной изоляции "традиционного" выделенного менеджера проектов и команды разработчиков в силу всё возрастающей сложности проектов разработки неумолимо уходят в прошлое. Во многих случаях разрыв в знаниях и опыте между менеджером проекта и разработчиками настолько велик, что делает практически невозможным для любого нетехнического специалиста эффективно управлять всем объёмом задач без существенной помощи в этом со стороны команды разработчиков. В наши дни каждый участник команды разработки должен владеть базовым уровнем навыков управления проектами, чтобы эффективно вносить свой вклад в общую работу. Когда разработчики принимают активное участие в управлении проектом в целом, выгоды многочисленны. Разработчики не только лучше понимают, сколько времени займет каждый этап, но они также могут более точно расставить приоритеты по ключевым элементам, необходимым для того, чтобы успешно довести проект до финишной черты. А также определить потенциально "слабые" места, где ошибки, изменение объёма работ или задержки могут сорвать проект. Говоря иначе, сотрудники становятся вовлечёнными в общее дело членами команды, обеспечивая создание хорошего и надёжного кода в короткие сроки. Тем не менее, управление проектами не происходит волшебным образом по щелчку пальцами, и было бы наивно предполагать, что лишь потому, что кто-то из членов команды является опытным разработчиком, он точно знает, как правильно управлять проектом. Поэтому знание важнейших навыков и требований такой дисциплины как Управление проектами имеет большое значение для команды. Вот пять аспектов управления проектами, которые должен понимать каждый разработчик. Оценка и планированиеКак и в любой профессиональной области, в Управлении проектами есть свои ключевые навыки и свой язык. Наиболее важными для руководителей проектов, как правило, являются планирование и оценка. Планирование имеет решающее значение, поскольку вам необходимо уметь назначать задачи и искусно управлять рабочей нагрузкой в команде. Оценка также необходима и важна для правильной организации работ, особенно для команды разработки продукта. На оценку сроков - заявленную дату завершения проекта - ориентируются другие команды, к ней могут быть привязаны разнообразные действия смежных подразделений компании. Зачастую выполнение проекта в срок используется высшим руководящим составом как мерило успеха или неудачи. Но сроки печально известны тем, что они очень часто нарушаются. Поэтому настоятельно рекомендуется давать оценку сроков в виде диапазона дат, а не конкретной одиночной даты. Подобный подход позволяет помочь справиться с неопределённостью, столь распространённой сегодня в разработке программного обеспечения, предоставляя всей команде больше возможностей для успешного завершения в срок и позволяя избежать неожиданных препятствий, которые возникают практически в любом проекте. КоммуникацииВ команде очень важно поддерживать постоянную открытость общения и передачи информации. Речь не идёт "о разговорах у кулера" - речь о критичных изменениях, которые могут сильно повлиять на весь проект в целом. Необходимы развитые навыки межличностного взаимодействия, способность поддерживать общение в команде, выполнять полный анализ документов и кратко рассказывать о результатах и ожиданиях проекта. Также важны используемые технологии и навыки совместной работы. Нужно следить за тем, чтобы все члены команды знали и понимали, как правильно оценивать свое время и отслеживать прогресс в специальном ПО, доступном для всей команды. Следует также обеспечить общий доступ к документам и убедиться, что оповещения об их обновлениях включены и работают у всех в команде, чтобы не было потом оправданий пропущенным или не так понятым сообщениям. Решение проблемМожно многое рассказать о команде проекта уже по тому, как её члены решают основные и второстепенные проблемы, связанные как с технологиями, так и с бизнесом, которые происходят ежедневно. Кажется, что команды Agile и DevOps разработки уже давно институционализировали устранение неполадок при разработке и проектировании. Однако, командам по-прежнему необходимо относиться к решению проблем как к навыку, который следует постоянно совершенствовать, особенно по мере развития технологий. Назначение ведущего в команде для координации и оказания поддержки другим членам при возникновении проблем может быть весьма эффективно. ДокументированиеНаписание технической документации может быть заброшенной и подзабытой задачей. Слишком часто её составление и актуализация не входит в повседневную деятельность команды, хотя должна бы. Не так важно, в каком виде будут представлены документы (совсем не обязательно они должны быть в виде традиционных документов), как то, что создаваемые документы должны быть актуальными, проверяемыми, храниться централизованно, быть доступными для поиска и ознакомления всем членам команды. Инструментами могут быть подобия wiki-сайтов с включёнными возможностями для управления проектами и групповой работы. Управление рискамиВышеперечисленные навыки служат конечной цели - снижению риска несвоевременной разработки полнофункционального и стабильного продукта. Навык управления рисками наиболее эффективен тогда, когда он "растворён" в команде и распределён по всем членам команды. Это особенно важно для тех команд, что состоят из универсальных специалистов и тех, у которыхо нет прямого контроля и единого лидера. Ключом к распределению управления рисками в команде проекта является принятие ответственности каждым членом команды и объяснение потенциальных рисков в их проектных задачах более широкой группе. "Владение" задачей по реализации своей функции вынуждает каждого члена команды планировать максимально реалистично, поскольку на него возложена ответственность за точные оценки сроков выполнения своей части проекта. Затем эти оценки сводятся воедино в общем плане проекта, что обеспечивает более точную оценку сроков завершения и наличия потенциальных "подводных камней". Навыки управления проектами полезны для всех сотрудников компании. Нет никаких ограничений по использованию практик управления проектами, поскольку они служат повышению эффективности и способствуют лучшей организации и сплочённости команды. При этом разработчики, обладающие как техническими навыками, так и знаниями и навыками в области управления проектами, всегда будут востребованы. |