Слайд 1Александр Самбук
Управление процессами разработки программного обеспечения
Слайд 2Александр Самбук
Что такое процесс
Процесс – последовательность шагов, выполняемых ради достижения установленной
цели; серия действий или операций, приводящих к логическому завершению (Словарь Вебстера)
Процесс разработки ПО – последовательность шагов, выполняемых ради достижения установленной цели, которая имеет отношение к созданию и/или поддержке программного обеспечения
Слайд 3Александр Самбук
Примеры процессов 1
Процессы, относящиеся непосредственно к разрабатываемому продукту:
Управление требованиями
Проектирование
Кодирование
Тестирование
Документирование продукта
Управление
выпуском (release management)
Процессы, относящиеся к управлению проектом:
Планирование
Отслеживание хода проекта
Управление рисками
Управление конфигурациями
Управление ресурсами
Слайд 4Александр Самбук
Примеры процессов 2
Процессы, относящиеся к управлению процессами:
Разработка и улучшение процессов
Анализ
эффективности процессов
Контроль степени следования процессам
Процессы, относящиеся к управлению организацией:
Определение целей и выработка стратегии организации
Анализ эффективности работы организации
Управление ресурсами
Управление финансами
Слайд 5Александр Самбук
Определение управления процессом
Управление процессом – комплекс мероприятий, направленных на достижение
повторяемости процесса и максимизацию его эффективности в рамках и в объеме, необходимых для решения задач организации
Слайд 6Александр Самбук
Атрибуты зрелости процесса
Осознанность
Документированность
Переносимость
Конкретность области применимости
Пригодность к анализу
Наличие ресурсов для поддержки
и развития
Слайд 7Александр Самбук
Что такое «определенный процесс»
Определенный процесс – это процесс:
Который систематизирован и
описан
Который осознан и понят
Для которого проведено обучение
Который используется на практике
Организация должна взять на себя обязательства (commitment) следовать определенному процессу
Выделяются ресурсы на поддержание процесса
Слайд 8Александр Самбук
Почему полезно определять процесс
Лучшее осознание
Формальное описание чего-либо – хороший способ
для индивидуального и коллективного осознания
Фиксация и повторное использование знаний
Изучение с нуля того, как делаются определенные вещи, очень дорого (по времени и деньгам)
Уменьшение вероятности пропуска или искажения шагов
Некоторые шаги процесса могут быть пропущены или искажены по забывчивости или по незнанию
Обучение
Для того, чтобы обучать других тому, что мы делаем, мы должны знать, что мы делаем, а для этого необходимо описание
Измерения
Мы не сможем узнать, есть ли какие-то улучшения, если мы не знаем, что мы делаем
Согласованность
Мы будем действовать более согласованно, если мы все будем играть по одним правилам
Удовлетворение требований клиентов
Клиенты, как правило, отдают предпочтение исполнителям, у которых определены процессы
Слайд 9Александр Самбук
Почему это не всегда делается
Непонимание необходимости
«У нас и так все
работает»
«Нам не нужна бюрократия»
Нет времени или людей
Лень
Отсутствие знаний
Отсутствие опыта
... иногда процессы описываются «для галочки»
Слайд 10Александр Самбук
Атрибуты определенного процесса
Описание шагов
Входные критерии
В какой момент и при соблюдении
каких условий начинать исполнение?
Выходные критерии
Какой результат должен быть достигнут, чтобы исполнение процесса можно было считать завершенным?
Входные данные
Выходные данные
В чем состоит суть шага?
Кто должен его выполнить?
В какой момент его нужно выполнить?
Назначение процесса
Метрики, определяющие эффективность и/или качество
Способы сбора и анализа метрик
Описание основного результата
Описание способов его верификации
Слайд 11Александр Самбук
Уровни определения процесса
Глобальный корпоративный уровень
Процессы, которые охватывают все корпоративные виды
деятельности на всех уровнях
Локальный корпоративный уровень
Процессы, которые затрагивают единственное подразделение
Уровень программы
Процессы, характерные для всех проектов
Уровень проекта
Процессы, специфичные для конкретного проекта
Слайд 12Александр Самбук
Адаптация процессов (tailoring)
Более высокий уровень
Более конкретный уровень
Детализация
Появление специфичных процессов
Отказ от
неприменимых и нецелесообразных процессов
Изменение процессов для отражения специфики
Адаптация – необходимый элемент управления процессами
Возможно любое изменение, если оно обосновано...
...тем не менее, рамки должны существовать
Слайд 13Александр Самбук
Мифы о процессах и злоупотребления процессами – 1
Вера в то,
что какая-либо из моделей является «серебряной пулей» (панацеей)
Неверие в целесообразность описания и совершенствования процессов
Насаждение процессов без вовлечения задействованных в них лиц
Начало работ по совершенствованию процессов без предварительного измерения базового состояния, характеризующего результативность текущих практик
Слайд 14Александр Самбук
Мифы о процессах и злоупотребления процессами - 2
Грубое обхождение с
благоразумием и здравым смыслом
Да
Нет
Да
Нет
Качество
Творческий хаос
Безумная бюрократия
Катастрофа
Документированный процесс
Здравый смысл
Слайд 15Александр Самбук
Мифы о процессах и злоупотребления процессами - 3
Непредрасположенность или неспособность
увязать процессы с бизнес-потребностями
Совершенствование процессов без учета бизнес-целей
Следование «букве закона» вместо той цели, достижению которой служат законы
Слайд 16Александр Самбук
Методология
Методология – свод методов, правил и постулатов, применяемых в дисциплине;
конкретная процедура или набор процедур (Merriam Webster online)
... нечто более детально проработанное, комплексное и «научно обоснованное», чем процесс
Слайд 17Александр Самбук
Методология в разработке ПО
Полная совокупность процессов, применяемых в проекте разработки
ПО или в какой-либо его самодостаточной части
Правила адаптации процессов
Общий глоссарий
Ясные интерфейсы между процессами
Привязка к временной оси
Поддерживающие материалы:
шаблоны документов
технические руководства
рекомендации (guidelines)
Как и процесс, методология может быть более или менее зрелой
Слайд 18Александр Самбук
Процессная документация
Политики и описания процессов
Описание методологии
Поддерживающие материалы
Слайд 19Александр Самбук
Организация работы по управлению процессами
Требует инициативы и продвижения со стороны
руководства
Необходимы выделенные ресурсы (занятые полностью или частично)
Задачи группы по управлению процессами:
анализ эффективности процессов и качества результата
сопоставление фокуса процессов с целями организации
предложение и реализация мер по улучшению процессов
пропаганда идеи улучшения процессов
пилотирование новых процессов
обучение
Слайд 21Александр Самбук
Целевые характеристики качества и эффективности
Целевые характеристики качества и эффективности (quality
and process performance objectives) – значения показателей качества и производительности, ожидаемые в рамках организации
Откуда можно взять эти значения?
Слайд 22Александр Самбук
Отображение на бизнес-цели организации
Слайд 23Александр Самбук
Взаимосвязь бизнес-целей организации и целей процессов (1/2)
Пример 1:
Потребности организации:
Захватить большую
долю рынка для нового продукта
с целью привлечения дополнительного финансирования
Цели процессов:
Короткое время выхода на рынок
Высокое качество
Метрики:
Длительность цикла разработки
Количество дефектов
Слайд 24Александр Самбук
Взаимосвязь потребностей организации и целей процессов (2/2)
Пример 2:
Потребности организации:
Работать с
договорами с фиксированной стоимостью
Цели процессов:
Точные предварительные оценки
Метрики процессов:
Степень «недооценки» проектов
Слайд 25Александр Самбук
Базовый набор характеристик качества и эффективности
Базовый набор характеристик качества и
эффективности (process capability baseline, PCB) – набор значений этих характеристик, достигаемых в реальной деятельности организации
Цель использования – постановка реалистичных целей
Как можно определить эти значения?
PCB и KPI – не одно и то же
Слайд 26Александр Самбук
Модель характеристик качества и эффективности
Модель характеристик качества и эффективности (quality
and process performance model) – описание функциональной зависимости одной характеристики от другой
Цель – оценка ожиданий в отношении целей, которые не могут быть измерены «сейчас»
Частный случай модели – эволюция значения какой-либо характеристики во времени
Примеры моделей:
зависимость количества дефектов от трудозатрат, потраченных на тестирование
распределение количества реализованной функциональности в зависимости от этапа проекта
взаимосвязь между количеством обнаруженных и необнаруженных дефектов
Слайд 27Александр Самбук
Количественное управление процессами
Количественное управление процессами (quantitative process management) – принятие
управленческих решений, постоянно базирующееся на анализе количественных характеристик процессов
Такой анализ также позволяет выявлять проблемы и слабые места процесса, если таковые существуют
Статистическое управление процессами (statistical process management) – количественное управление процессами, базирующееся на анализе статистически обработанных данных
Практически невозможно без соответствующего измерительного инструментария
Слайд 28Александр Самбук
Потребности
организации
Цели процессов
Метрики
процессов
Текущие
измерения
процессов
Целевые значения
Результаты
совершенствования
процессов
Мероприятия по
совершенствованию
процессов
анализируются с целью выработки
определяют выбор
сравниваются с
применяются
для представления
применяются для проверки
являются
эталонами для
приводят к
начинаются с
разрабатываются для достижения
Подход к измерению процессов
Слайд 29Александр Самбук
Количественное управление на практике
Определить набор метрик, характеризующих достижение целей
Дать однозначные
определения всем метрикам
Внедрить инструменты, с помощью которых можно получать эти метрики
Собрать историческую информацию по этим метрикам
Статистически ее обработать, в результате чего разработать PCB
Ставить количественные цели для процессов на уровне проекта и организации
На регулярной основе проводить мониторинг и анализ метрик на уровне проекта и организации
Регулярно пересматривать PCB
Слайд 31Александр Самбук
Сбор исторической информации по метрикам
Необходимо произвести измерения и рассчитать метрики
в достаточном количестве проектов (или за достаточный период времени), чтобы при статистической обработке данных получить реально существующую картину (это могут быть закрытые проекты, релизы, при длительных проектах – измерения за длительный промежуток времени).
Достаточное количество проектов для получения статистически достоверных исторических данных – не менее 10 проектов.
При сборе исторической информации за период времени достаточным считается временной отрезок в 1 год.
Слайд 32Александр Самбук
Возможные причины дестабилизации процесса
Некорректные измерения
Пренебрежение регламентами
Недостаток квалификации
«Избыток» квалификации
Использование других
технологий или инструментов разработки
Производимые изменения в процессе