Александр Самбук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Организация работы по управлению процессамиТребует инициативы и продвижения со стороны руководстваНеобходимы выделенные ресурсы (занятые полностью или частично)Задачи группы по управлению процессами:анализ эффективности процессов и качества результатасопоставление фокуса процессов с целями организациипредложение и реализация мер по улучшению процессовпропаганда идеи улучшения процессовпилотирование новых процессовобучение
Александр Самбук20Цикл Деминга
Александр Самбук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
Александр Самбук30Примеры метрик
Александр Самбук31Сбор исторической информации по метрикамНеобходимо произвести измерения и рассчитать метрики в достаточном количестве проектов (или за достаточный период времени), чтобы при статистической обработке данных получить реально существующую картину (это могут быть закрытые проекты, релизы, при длительных проектах – измерения за длительный промежуток времени).Достаточное количество проектов для получения статистически достоверных исторических данных – не менее 10 проектов.При сборе исторической информации за период времени достаточным считается временной отрезок в 1 год.
Александр Самбук32Возможные причины дестабилизации процессаНекорректные измеренияПренебрежение регламентамиНедостаток квалификации«Избыток» квалификацииИспользование других технологий или инструментов разработкиПроизводимые изменения в процессе
Александр Самбук33Спасибо

Управление процессами разработки ПО

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