Лидер-13-11-13.pptx
- Количество слайдов: 23
“Самое лучшее, что может сделать лидер большой группы – это позволить ее участникам обнаружить в себе величие и раскрыться в нём”. Уоррен Беннис Лидер программного проекта В. Н. Лукин 1
Люди – ключ к успеху Гласс • Самый важный фактор в разработке ПО – это не методы и средства, а сами программисты Листер • проблемы в нашей работе имеют не столько технологическую, сколько социологическую природу Хайсмит • Отодвиньте ширму методологии успешного проекта и поинтересуйтесь причиной успеха, и вы узнаете ответ: люди Бучер • Больше всего надёжность ПО зависит от отбора и стимулирования персонала, а также от управления им 2
Руководитель проекта в ответе за Качество продукта Состояние проекта Подбор команды и адаптацию новичков Техническое оснащение Администрирование проекта Организацию работы Создание творческого климата 3
Проектом руководит Опытный программист • Надежда: в сложных ситуациях квалификация выручит, сможет быть наставником • Риск: может не быть контакта с командой, шанс получить аморфный коллектив Кто умеет ладить с другими программистами • Надежда: создаст команду и удержит её, по меньшей мере, до конца разработки • Риск: при явной реакции на управление сверху не сможет вести команду к цели Кого нужно удержать от ухода • Надежда: если и не сможет руководить, то окупит затраты, выполняя прежние обязанности • Риск: при попытке реального руководства без явной мотивации развалит работу 4
Проектом руководит (продолжение) Работник, добивающийся этого места • Надежда: руководить тоже будет усердно, проект методично доведёт до конца • Риск: как правило, умеет подчиняться, не обладая необходимой инициативой Признанный лидер • Надежда: создаст устойчивую команду и приведёт к цели • Риск: цель может не совпадать с целью заказчика Руководитель со стороны • Надежда: если он успешно руководил проектами, сможет выполнить и этот • Риск: команда может не сохраниться из-за отсутствия заинтересованности 5
Программист: психологическая сторона o o o o o Настойчивость/пассивность Внутренняя/внешняя управляемость Интровертность/экстравертность Высокая/низкая возбудимость Сильная/слабая реакция на стимулы Высокая/низкая терпимость к неопределённости Умение быть точным Скромность Способность переносить стресс 6
Основные породы программистов Архитектор Конструктивист Художник Инженер Учёный Лихач 7
Редкие породы Волшебник (гуру) Минималист Аналогист Трюкач 8
Дворняги Разгильдяй Тормоз Профан Любитель Эклектик 9
Структура команды o o o Иерархическая Команда без персонализации Хирургическая бригада (команда главного программиста) 10
Признаки предстоящей катастрофы o o o Активный поиск виновных в случае неудачи Стремление обезопасить себя документами Конфликты по мелочам Работник не знает критерии оценки труда Оценка на уровне эмоций и поверхностных наблюдений 11
Методы убийства команд o o o o Оборонительная позиция руководства Бюрократия Физическое разделение команды Дробление рабочего времени Снижение качества Идиотские сроки сдачи Разделение команд для участия в других проектах 12
Должно ли быть программирование обезличенным? Нет, но… o o o Сообщение об ошибках – не личный выпад, а сигнал для улучшения кода Просмотр программы – не вмешательство в личные дела, а возможность поделиться наработками Стиль написания – не только дело автора, но и средство повышения надёжности 13
Технические роли (К. Бек) o o o o Программист – основа проекта Заказчик – ставит задачу и контролирует Тестировщик – следит за запусками тестов Ревизор –контролирует успешность продвижения к цели Инструктор – контролирует правильность исполнения проекта Консультант – приносит в команду знания Руководитель – принимает основные решения 14
Командные роли (Э. Йордон) Председатель – выбирает путь к цели Оформитель – придает законченную форму действиям команды Генератор идей – выдвигает новые идеи Критик – анализирует проблемы, оценивает идеи 15
Командные роли (продолжение) Рабочая пчелка – превращает концепции в рабочие процедуры. Опора команды – поддерживает силу духа. Добытчик – налаживает внешние контакты. Завершающий – поддерживает настойчивость в достижении цели. 16
Цель – проект постановка задачи оценка проекта планирование работ определение внутренних стандартов процесса задание критериев качества будущего продукта контроль процессов и продукта 17
Цель – команда. Фундаментальные принципы лидерства Понимание Участие Проверка Передача знаний Делегирование 18
Прочие принципы Наставничество Адаптация Предвидение Вознаграждение Исправления 19
Теория W Барри Боэма Предпосылки • • Определить набор беспроигрышных предпосылок понять условия выигрыша участников сформулировать цели создать среду, способствующую выигрышу Процесс • Структурировать беспроигрышный процесс • составить план • обозначить как рискованные ситуации, в которых не все выигрывают Продукт • Определить структуру программного продукта, удовлетворяющего условиям выигрыша 20
Влияние условий труда на команду Две группы программистов одного класса в разных условиях труда. Производительность одной в 2, 6 раза больше, чем другой. Почему? 21
В какой обстановке живёт команда Физическая обстановка Социальная обстановка рабочее пространство желание работать уровень шума уровень напряжённости Административная обстановка требовательность стимулирование освещённость бюрократизация степень уединённости 22
Литература o o o Гласс Р. Факты и заблуждения профессионального программирования. Гласс Р. Программирование и конфликты 2. 0. Демарко Т. , Листер Т. и др. Балдеющие от адреналина и зомбированные шаблонами. Паттерны поведения проектных команд. Йордон Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. Рейнвотер Дж. Как пасти котов. Наставление для программистов, руководящих другими программистами. 23 Шнейдерман Б. Психология программирования.
Лидер-13-11-13.pptx