


|
Сергей Архипенков |
|
Хорошо управляемый проект может быть уcпешно выполнен обычной командой разработчиков |
|
Мастер-класс «Управление разработкой ПО» |
|
За более чем тридцать лет разработки программного обеспечения и руководства программистами в ряде очень разных по своей культуре компаний у меня накопился определенный практический опыт, который позволил мне сформировать ясное видение того, как надо правильно управлять разработкой ПО, а как - не надо. Затем потребовалась долгая работа, направленная на то, чтобы сформулировать свое видение на понятном для других людей языке и сделать его доступным для коллег. Для этого необходимо было найти проекцию своей картины мира на современные знания в областях управления проектами, психологии, соционики, социологии, сопоставить свои представления с точкой зрения других профессионалов в отрасли программной инженерии. Что из этого получилось, можно прочитать в разделе «Публикации». Однако эксперты по эффективности коммуникаций утверждают, что слова могут передать только 10% информации, а остальные 90% передаются лишь при личном общении. Это действительно так. Сомнения, живая дискуссия, обсуждение с коллегами выполненных проектов позволяют намного быстрее изменить свое видение мира и адаптировать новые знания. На тренингах методические рекомендации иллюстрируются примерами из жизни и закрепляются на практических занятиях, основанных на реальных проектах разработки ПО. Накопленный опыт управления разработкой ПО и руководства разработчиками сгруппирован в две учебных программы. Каждая из программ включает пять относительно независимых тренингов. Каждый тренинг подробно рассматривает вполне определенную область управления разработкой и не требует предварительного прохождения других тренингов. Целевая аудитория Руководители проектов и групп разработчиков ПО, участники проектов, руководители функциональных подразделений. Предварительная подготовка Опыт участия в проектах разработки ПО. Продолжительность каждой программы 40 ак.ч., из них теория – 25 ак. час. практические занятия – 15 ак. час. Продолжительность одного тренинга 8 ак.ч., из них теория – 5 ак. час. практические занятия – 3 ак. час. При проведении корпоративных тренингов базовые программы адаптируются под задачи и проблемы клиентов или разрабатываются новые тренинги.
Программа. Практическое управление проектом разработки ПО Главной причиной большинства неудач в разработке ПО является не столько сложность и масштабность разрабатываемых продуктов, сколько применение неадекватных методов управления программными проектами. Разработка ПО отличается от материального производства, поэтому опыт управления проектами, накопленный в этих отраслях, не всегда эффективен и применим в программных проектах. Цель программы передать слушателям профессиональные знания и практические навыки, специфичные в управлении проектами разработки ПО.
Успешный проект: от концепции до внедренияТо, что производят программисты нематериально – это коллективные мысли и идеи, выраженные на языке программирования. Я не говорю, что производство ПО суперсложная интеллектуальная деятельность. Отрасль еще только зарождается. Время вхождения в профессию сильно меньше, чем в других инженерных дисциплинах. Разрабатывать ПО точно не сложнее, чем делать ракеты. Просто в силу уникальности отрасли управлять разработкой ПО надо иначе. Цель тренинга - дать слушателям обзор методических и практических знаний, необходимых для управления программными проектами.
Планирование – все…, планы – ничтоМногие программные проекты погубило не отсутствие планов, а их неполнота и нереальность. Как правильно планировать программный проект? Что забывают при планировании? Как организовать проектную команду? Главные причины провалов проектов. “Агрессивное” расписание и его последствия. Как надо расставлять приоритеты работ, чтобы увеличить вероятность успеха? Диаграмма Ганта и критический путь. Эти и другие вопросы будут рассмотрены на тренинге.
Проект без рисков – удел неудачников!Риски и выгода всегда ходят рука об руку. С рисками не надо бороться. Рисками надо управлять. Категории и характеристики рисков. Планирование управления рисками. Идентификация рисков. Качественный анализ рисков. Количественный анализ рисков. Планирование реагирования на риски. Главные риски программных проектов и способы реагирования. Управление проектом, направленное на снижение рисков. Мониторинг и контроль рисков.
Оценка проектов: шарлатанство или шаманство?Неадекватные оценки трудоемкости и срока разработки ПО послужили причиной провала многих программных проектов. А.Н. Терехов в своем отзыве на мою книгу «Лекции по управлению программными проектами» назвал метод определения объема будущего ПО на основе функциональных точек «несколько шарлатанской идеей». Я докажу, что это не так. Это не шарлатанство, это - шаманство! :) Об этом и других подходах к оценке программных проектов, о влиянии на оценки масштаба проекта и сложности продукта пойдет речь на тренинге.
Можно ли управлять тем, что нельзя измерить?Основная тема - мониторинг и управление работами проекта. Управление - это расчленение, анализ, определение последовательности действий, конкретная реализация. Управление фокусируется на нижнем уровне: как сделать это наилучшим образом? Эта компетенция руководителя определяет эффективность движения по выбранному пути. Как правило, менеджеры, вышедшие из программистов, без особого труда овладевают необходимыми управленческими навыками. Но технические люди с подозрением относятся к тому, что нельзя измерить. А все ли можно измерить в программном проекте? А как управлять тем, что измерению не подлежит?
Программа. Психология управления проектом разработки ПО Руководителями программных проектов, как правило, становятся технические люди. Первая проблема, с которой они сталкиваются, заключается в том, что разработчики ПО не программы или технические устройства, которыми можно управлять. Поведение людей невычислимо и плохо предсказуемо. Порой, требуются годы на то, чтобы научится понимать людей и эффективно взаимодействовать с ними. У меня было время на то, чтобы найти ответы на ключевые вопросы. Почему только треть проектов разработки ПО завершаются в срок и укладываются в бюджет? Почему сверхвысокого IQ недостаточно для того, чтобы эффективно руководить программистами? Почему одни программисты могут быть на порядок, эффективнее других? Почему сотрудники не выполняют мои поручения? Почему правильно подобранные «лебедь, рак и щука» оказываются гораздо эффективнее «родственных душ»? И много других. Оказалось, что использование лучших языков и технологий программирования, самых совершенных инструментов разработки и систем качества не гарантируют успешность программного проекта. Люди – это главное, что определяет успех. В данной программе представлены результаты моего осмысления темы руководства людьми в проекте.
«Все модели неверны, но некоторые - полезны». Психологические модели в руководстве командой разработчиков ПОСуществуют сотни поведенческих моделей психики человека. Джордж Бокс сказал: «В сущности, все модели неверны, но некоторые - полезны». О тех психологических моделях, которые автору оказались полезны при систематизации многолетнего опыта руководства разработчиками ПО, пойдет речь на тренинге. Применение психологических моделей иллюстрируется примерами из практического опыта.
Адаптивное управление проектом: примеры и принципыЧто общего между ракетами, футболом и разработкой ПО? Почему классические методы управления не эффективны в разработке ПО? Как управлять, если структура и свойства объекта неизвестны или меняются со временем? Принципы адаптивного управления. Две главные задачи менеджера программного проекта. Необходимые и достаточные условия эффективной работы. Эффективные взаимодействия. Командообразование. Динамика команды.
Построение эффективной команды с нуляИдеи командного менеджмента на Западе зародилась в начале 80-х годов. Эффективность команд в новых экономических условиях одними из первых оценили такие гиганты, как Procter & Gamble и Boeing. Энтузиазм некоторых коллег, по поводу приходящих к нам с Запада разнообразных гибких методологий в разработке ПО, скорее всего от недостатка информации и опыта. Суть всех этих подходов состоит в том, что они декларируют своей высшей ценностью командную работу, ориентированность на людей и их взаимодействие, а не на процессы и средства. На мой взгляд, эти методологии похожи на попытки «переоткрытия» представителями индивидуалистской западной культуры принципов коллективизма, хорошо зарекомендовавших себя в России с давних времен.
Эффективный командный игрок – кто он?Известно, что производительность программистов может отличаться в десятки раз. Личная эффективность не определяется уровнем IQ. Для тог чтобы стать эффективным, надо понять себя и научиться управлять собой. Но и этого недостаточно. Необходимо научиться эффективно взаимодействовать с другими людьми и стать командным игроком. В тренинге рассказывается о том, как можно этого достичь.
Как провалить проект. Антипаттерны управления проектомНекоторые руководители программных проектов, в первую очередь начинающие, в работе постоянно наступают на одни и те же грабли. В компьютерной науке для подобных частонаступаемых граблей придумано название «антипаттерны» – это повторно используемые практики, которые могут давать видимость эффекта и даже временный эффект, однако, их применение наносит несоизмеримый ущерб конечному результату. Цель тренинга – собрать вместе некоторые наиболее тяжелые грабли (антипаттерны), которые встречаются на пути управления проектами разработки ПО, и постараться объяснить, почему на них не стоит наступать. |
|
E-mail: |
|
sergey@arkhipenkov.ru |