Сергей Архипенков

Хорошо управляемый проект может быть уcпешно выполнен обычной командой разработчиков

Мастер-класс «Управление разработкой ПО»

             Подробное описание тренингов.

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

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

Однако эксперты по эффективности коммуникаций утверждают, что слова могут передать только 10% информации, а остальные 90% передаются лишь при личном общении. Это действительно так. Сомнения, живая дискуссия, обсуждение с коллегами выполненных проектов позволяют намного быстрее изменить свое видение мира и адаптировать новые знания. На тренингах методические рекомендации иллюстрируются примерами из жизни и закрепляются на практических занятиях, основанных на реальных проектах разработки ПО. Накопленный опыт управления разработкой ПО и руководства разработчиками сгруппирован в две учебных программы. Каждая из программ включает пять относительно независимых тренингов. Каждый тренинг подробно рассматривает вполне определенную область управления разработкой и не требует предварительного прохождения других тренингов.

Целевая аудитория

Руководители проектов и групп разработчиков ПО, участники проектов, руководители функциональных подразделений.

Предварительная подготовка

Опыт участия в проектах разработки ПО.

Продолжительность каждой программы

40 ак.ч., из них теория – 25 ак. час. практические занятия – 15 ак. час.

Продолжительность одного тренинга

8 ак.ч., из них теория – 5 ак. час. практические занятия – 3 ак. час.

При проведении корпоративных тренингов базовые программы адаптируются под задачи и проблемы клиентов или разрабатываются новые тренинги.

 

Программа. Практическое управление проектом разработки ПО

Главной причиной большинства неудач в разработке ПО является не столько сложность и масштабность разрабатываемых продуктов, сколько применение неадекватных методов управления программными проектами. Разработка ПО отличается от материального производства, поэтому опыт управления проектами, накопленный в этих отраслях, не всегда эффективен и применим в программных проектах. Цель программы передать слушателям профессиональные знания и практические навыки, специфичные в управлении проектами разработки ПО.

 

Успешный проект: от концепции до внедрения

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

 

Планирование – все…, планы – ничто

Многие программные проекты погубило не отсутствие планов, а их неполнота и нереальность. Как правильно планировать программный проект? Что забывают при планировании? Как организовать проектную команду? Главные причины провалов проектов. “Агрессивное” расписание и его последствия. Как надо расставлять приоритеты работ, чтобы увеличить вероятность успеха? Диаграмма Ганта и критический путь. Эти и другие вопросы будут рассмотрены на тренинге.

 

Проект без рисков – удел неудачников!

Риски и выгода всегда ходят рука об руку. С рисками не надо бороться. Рисками надо управлять. Категории и характеристики рисков. Планирование управления рисками. Идентификация рисков. Качественный анализ рисков. Количественный анализ рисков. Планирование реагирования на риски. Главные риски программных проектов и способы реагирования. Управление проектом, направленное на снижение рисков. Мониторинг и контроль рисков.

 

Оценка проектов: шарлатанство или шаманство?

Неадекватные оценки трудоемкости и срока разработки ПО послужили причиной провала многих программных проектов.  А.Н. Терехов в своем отзыве на мою книгу «Лекции по управлению программными проектами» назвал метод определения объема будущего ПО на основе функциональных точек «несколько шарлатанской идеей». Я докажу, что это не так. Это не шарлатанство, это - шаманство!  :) Об этом и других подходах к оценке программных проектов, о влиянии на оценки масштаба проекта и сложности продукта пойдет речь на тренинге.

 

Можно ли управлять тем, что нельзя измерить?

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

 

 

Программа. Психология управления проектом разработки ПО

Руководителями программных проектов, как правило, становятся технические люди. Первая проблема, с которой они сталкиваются, заключается в том, что разработчики ПО не программы или технические устройства, которыми можно управлять.  Поведение людей невычислимо и плохо предсказуемо. Порой, требуются годы на то, чтобы научится понимать людей и эффективно взаимодействовать с ними. У меня было время на то, чтобы найти ответы на ключевые вопросы. Почему только треть проектов разработки ПО завершаются в срок и укладываются в бюджет?  Почему сверхвысокого IQ недостаточно для того, чтобы эффективно руководить программистами? Почему одни программисты могут быть на порядок, эффективнее других? Почему сотрудники не выполняют мои поручения? Почему правильно подобранные «лебедь, рак и щука» оказываются гораздо эффективнее «родственных душ»? И много других. Оказалось, что использование лучших языков и технологий программирования, самых совершенных инструментов разработки и систем качества не гарантируют успешность  программного проекта. Люди – это главное, что определяет успех. В данной программе представлены результаты моего осмысления темы руководства людьми в проекте.

 

«Все  модели неверны, но некоторые - полезны». Психологические  модели в руководстве  командой разработчиков ПО

Существуют сотни поведенческих моделей психики человека. Джордж Бокс  сказал: «В сущности, все модели неверны, но некоторые - полезны». О тех психологических моделях, которые автору оказались полезны при систематизации многолетнего опыта руководства разработчиками ПО, пойдет речь на тренинге. Применение психологических моделей иллюстрируется примерами из практического опыта.

 

Адаптивное управление проектом: примеры и принципы

Что общего между ракетами, футболом и разработкой ПО? Почему классические методы управления не эффективны в разработке ПО? Как управлять, если структура и свойства объекта неизвестны или меняются со временем?  Принципы адаптивного управления. Две главные задачи менеджера программного проекта. Необходимые и достаточные условия эффективной работы. Эффективные взаимодействия. Командообразование. Динамика команды.

 

Построение эффективной команды с нуля

Идеи командного менеджмента на Западе зародилась в начале 80-х годов. Эффективность команд в новых экономических условиях одними из первых оценили такие гиганты, как Procter &  Gamble и Boeing. Энтузиазм некоторых коллег, по поводу приходящих к нам с Запада разнообразных гибких методологий в разработке ПО, скорее всего от недостатка информации и опыта. Суть всех этих подходов состоит в том, что они декларируют своей высшей ценностью командную работу, ориентированность на людей и их взаимодействие, а не на процессы и средства. На мой взгляд, эти методологии похожи на попытки «переоткрытия» представителями индивидуалистской западной культуры принципов коллективизма, хорошо зарекомендовавших себя в России с давних времен.

 

Эффективный командный игрок – кто он?

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

 

Как провалить проект. Антипаттерны управления проектом

Некоторые руководители программных проектов, в первую очередь начинающие, в работе постоянно наступают на одни и те же грабли. В компьютерной науке для подобных частонаступаемых граблей придумано название «антипаттерны» – это повторно используемые практики, которые могут давать видимость эффекта и даже временный эффект, однако, их применение наносит несоизмеримый ущерб конечному результату. Цель тренинга – собрать вместе некоторые наиболее тяжелые грабли (антипаттерны), которые встречаются на пути управления проектами разработки ПО, и постараться объяснить, почему на них не стоит наступать.

E-mail:

sergey@arkhipenkov.ru