Автоматизированный контроль процесса разработки ПО Вадим Савкин.

Презентация:



Advertisements
Похожие презентации
Автоматизированный контроль процесса разработки ПО Вадим Савкин.
Advertisements

Формальные инспекции на практике Вадим Савкин vsavkin.livejournal.com.
Количественное Управление Надежность плана Выполнение процесса Завершенность поставок Сроки поставки Неисправленные дефекты ( на момент поставки Заказчику)
Жизненный цикл программного обеспечения Лекция 4.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
Организация деятельности менеджеров проектов средствами информационных технологий.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Лекции по курсу «Корпоративные информационные системы» Лекция 8. Структура бизнес- процессов разработки программного обеспечения: средства и методы сбора.
Доктор QAйболит, или Ассессмент процессов тестирования Михаил Павлов Центр качества Luxoft.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
Положение об отделе В.Андреев, Д.Сатин. Штат отдела начальник отдела; бизнес-аналитик; проектировщик пользовательских интерфейсов; специалист по анализу.
«Informanager» Управление проектами, пример внедрения в компании Билла - Украина.
Онлайн-система учета времени и продуктивности персонала.
Р ЕДАКТОР UML ACTION ДИАГРАММ Исполнители: Гусев А.П. [Главный программист] Шатеев И.В. [Архитектор] Меркулов А.А. [Прожект-менеджер] (ИВТ-461) ВОЛГОГРАДСКИЙ.
Технология внедрения CASE- средств Технология внедрения CASE-средств базируется в основном на стандартах IEEE (IEEE - Institute of Electrical and Electronics.
Франшизный пакет Консалтинговая фирма Дельта Менеджмент.
«Совершенствование системы обучения рабочих кадров в Региональных учебных центрах ТНК-ВР» Элеонора Агеева, ТНК-ВР.
Information Software Systems Бизнес Предложения Сервисы в области обеспечения качества 1.Проверка требований к разработке продуктов.
РЕШЕНИЕ SAP ДЛЯ ФИНАНСОВОГО ДИРЕКТОРА SAP BusinessObjects.
Р ЕДАКТОР UML ACTION ДИАГРАММ Исполнители: Гусев А.П. [Главный программист] Шатеев И.В. [Архитектор] Меркулов А.А. [Прожект-менеджер] (ИВТ-461) ВОЛГОГРАДСКИЙ.
Транксрипт:

Автоматизированный контроль процесса разработки ПО Вадим Савкин

Slide 2 Сведения об авторе Вадим Савкин Вадим Савкин Инженер по процессам разработки ПО в компании CQG Инженер по процессам разработки ПО в компании CQG Участник CQG SEPG (Software Engineering Process Group) Участник CQG SEPG (Software Engineering Process Group)

Slide 3 План презентации Теория Теория Необходимость контроля процесса Необходимость контроля процесса Инфраструктура для автоматизации контроля процесса Инфраструктура для автоматизации контроля процесса Контроль корректности собираемых данных Контроль корректности собираемых данных Процесс контроля и улучшения процесса разработки Процесс контроля и улучшения процесса разработки Практика опыт автоматизации контроля процесса разработки в компании CQG Практика опыт автоматизации контроля процесса разработки в компании CQG Инфраструктура сбора данных Инфраструктура сбора данных CQG Dashboards demo CQG Dashboards demo Автоматизированный контроль процесса в CQG Автоматизированный контроль процесса в CQG

Slide 4 Необходимость контроля процесса Формальный контроль процесса разработки: обеспечивает выполнение стандартов и правил установленного процесса разработки ПО обеспечивает выполнение стандартов и правил установленного процесса разработки ПО помогает оценить эффективность процесса помогает оценить эффективность процесса помогает усовершенствовать процесс и оценить эффект от изменений помогает усовершенствовать процесс и оценить эффект от изменений необходим средним и крупным компаниям- разработчикам ПО необходим средним и крупным компаниям- разработчикам ПО

Slide 5 Структура контроля процесса Контроль соблюдения заданного процесса. Контроль соблюдения заданного процесса. Проверка согласованности, полноты и корректности данных, собираемых различными системами поддержки разработки; Проверка согласованности, полноты и корректности данных, собираемых различными системами поддержки разработки; Проверка соблюдения стандартов процесса разработки, принятого в компании. Проверка соблюдения стандартов процесса разработки, принятого в компании. Контроль эффективности и качества процесса. Контроль эффективности и качества процесса. Оценка качества разрабатываемых продуктов; Оценка качества разрабатываемых продуктов; Оценка продуктивности разработки; Оценка продуктивности разработки; Оценка точности планирования; Оценка точности планирования; Интервьюирование разработчиков и менеджеров относительно процесса. Интервьюирование разработчиков и менеджеров относительно процесса. Принятие решений. Принятие решений. Принятие проектных решений по результатам проверок (в случае проектных аудитов); Принятие проектных решений по результатам проверок (в случае проектных аудитов); Принятие решений о необходимости внесения изменений в процесс разработки. Принятие решений о необходимости внесения изменений в процесс разработки.

Slide 6 Стоимость контроля процесса Формальный контроль процесса разработки ПО: Формальный контроль процесса разработки ПО: эффективен, когда проводится регулярно эффективен, когда проводится регулярно довольно дорогая процедура довольно дорогая процедура

Slide 7 Стоимость контроля процесса Формальный контроль процесса разработки ПО: Формальный контроль процесса разработки ПО: эффективен, когда проводится регулярно эффективен, когда проводится регулярно довольно дорогая процедура довольно дорогая процедура Вывод – необходима автоматизация: Вывод – необходима автоматизация: Автоматизированный сбор метрик процесса разработки Автоматизированный сбор метрик процесса разработки Автоматизация формальных проверок Автоматизация формальных проверок

Slide 8 Инфраструктура для автоматизации контроля процесса В первую очередь, инфраструктура, обеспечивающая возможность автоматизации контроля процесса, должна позволять согласованно собирать и накапливать данные обо всех значимых аспектах процесса разработки, которые необходимо анализировать и контролировать В первую очередь, инфраструктура, обеспечивающая возможность автоматизации контроля процесса, должна позволять согласованно собирать и накапливать данные обо всех значимых аспектах процесса разработки, которые необходимо анализировать и контролировать

Slide 9 Содержимое единой базы данных Иерархия департамента разработки ПО с данными обо всех разработчиках и менеджерах. Иерархия департамента разработки ПО с данными обо всех разработчиках и менеджерах. Иерархия продуктов и проектов с разбивкой на задачи. Иерархия продуктов и проектов с разбивкой на задачи. Данные о времени, потраченном разными сотрудниками на ту или иную активность или задачу. Данные о времени, потраченном разными сотрудниками на ту или иную активность или задачу. Данные о созданных артефактах (требования, дизайн, тест- планы, код, проектная документация и т.п.) с подсчитанными размерами (необходимы стандарты оформления и подсчёта) Данные о созданных артефактах (требования, дизайн, тест- планы, код, проектная документация и т.п.) с подсчитанными размерами (необходимы стандарты оформления и подсчёта) Данные о найденных дефектах со всеми необходимыми атрибутами и историей изменений. Данные о найденных дефектах со всеми необходимыми атрибутами и историей изменений. Прочие данные, специфичные для процесса разработки, принятого в компании. Прочие данные, специфичные для процесса разработки, принятого в компании. Вспомогательные данные. Вспомогательные данные.

Slide 10 Организационный Организационный Возложение ответственности на исполнителей за корректность данных, относящихся к их работе Возложение ответственности на исполнителей за корректность данных, относящихся к их работе Автоматизированный Автоматизированный Контроль полноты данных в момент ввода Контроль полноты данных в момент ввода Контроль с помощью автоматических нотификаций Контроль с помощью автоматических нотификаций Периодические проверки с помощью автоматизированных средств при участии независимых экспертов (раз в неделю или несколько недель) Периодические проверки с помощью автоматизированных средств при участии независимых экспертов (раз в неделю или несколько недель) Проверка полноты и корректности данных является одной из задач контроля процесса разработки Контроль корректности и полноты собираемых данных

Автоматизация формальных проверок Программный код: analyseActivitiesConsistency "Requirements", "Requirement Records", 2 * 7 analyseActivitiesConsistency "Design", "Model Elements", 2 * 7 analyseActivitiesConsistency "Test Cases Development", "Test Cases", 2 * 7 analyseActivitiesConsistency "Code & Unit Test", "Lines of Code", 2 * 7 If.Cells(i, oCols("Inspection")) = "" And _.Cells(i, oCols("LOCs")) > 20 Then addTaskAnalysisIssue oRawSheet, oCols, i,.Cells(i, oCols("LOCs")) & " LOCs have not been inspected?" End If If GetVal(Defect LOCs") / GetVal(Total LOCs") >= 0.2 Then addAnalysisIssue Code rework is greater than End If Примеры формальных проверок из практики компании CQG: «Каждая активность типа «разработка требований», «проектирование», «разработка тест-плана», «кодирование» приводит к созданию артефактов соответствующего типа с задержкой не более 2-х недель» - пример проверки на полноту и согласованность данных. «Каждая активность типа «разработка требований», «проектирование», «разработка тест-плана», «кодирование» приводит к созданию артефактов соответствующего типа с задержкой не более 2-х недель» - пример проверки на полноту и согласованность данных. «Каждое изменение кода размером, превышающим 20 строк, прошло через формальный процесс инспекций» - пример проверки на соблюдение стандартов процесса. «Каждое изменение кода размером, превышающим 20 строк, прошло через формальный процесс инспекций» - пример проверки на соблюдение стандартов процесса. « Объём переделок меньше 20% » - пример проверки качества процесса. « Объём переделок меньше 20% » - пример проверки качества процесса. Slide 11

Slide 12 Процесс контроля и улучшения процесса разработки

Опыт автоматизации контроля процессов в компании CQG Вадим Савкин

Slide 14 О компании CQG Компания CQG является поставщиком данных и сервисов для биржевой торговли на основе разрабатываемых в компании программных систем. Компания CQG является поставщиком данных и сервисов для биржевой торговли на основе разрабатываемых в компании программных систем. Штат департамента разработки насчитывает порядка 300 сотрудников, распределённых между 6 офисами в разных странах. Штат департамента разработки насчитывает порядка 300 сотрудников, распределённых между 6 офисами в разных странах. Разработчики объединены в команды размером от 3 до 7 человек каждая. Разработчики объединены в команды размером от 3 до 7 человек каждая.

Slide 15 CQG: Инфраструктура сбора данных о процессе разработки ПО Раз в сутки все данные о процессе из перечисленных слева систем экспортируются в единую базу данных, которая используется для сбора метрик и анализа процесса Раз в сутки все данные о процессе из перечисленных слева систем экспортируются в единую базу данных, которая используется для сбора метрик и анализа процесса

Slide 16 CQG: Инструменты сбора данных PV Tool: Система учёта рабочего времени и размеров произведённых артефактов с привязкой к конкретным проектам (собственная разработка) PV Tool: Система учёта рабочего времени и размеров произведённых артефактов с привязкой к конкретным проектам (собственная разработка) Tracker: Система учёта отдельных задач и поддержки инспекций (собственная разработка, поддерживает методологию PSP) Tracker: Система учёта отдельных задач и поддержки инспекций (собственная разработка, поддерживает методологию PSP) CQGenie: Система bug-tracking и репозиторий требований (разработка на базе Siebel) CQGenie: Система bug-tracking и репозиторий требований (разработка на базе Siebel) CVS: Система контроля версий CVS: Система контроля версий Cреднее суммарное время, которое тратит разработчик на работу со всеми программными инструментами сбора данных в CQG, составляет около 15 минут в день.

Slide 17 CQG Dashboards CQG Dashboards (на платформе MS Excel) объединяют в себе функциональность визуальных инструментальных панелей (dashboards) и автоматизированных анализаторов метрик. Разработано несколько типов таких средств, отличающихся областью применения: Team Dashboard, Project Dashboard, Team-Project Dashboard, System Dashboard, Maintenance Dashboard. CQG Dashboards (на платформе MS Excel) объединяют в себе функциональность визуальных инструментальных панелей (dashboards) и автоматизированных анализаторов метрик. Разработано несколько типов таких средств, отличающихся областью применения: Team Dashboard, Project Dashboard, Team-Project Dashboard, System Dashboard, Maintenance Dashboard. Результатами работы CQG Dashboards являются Результатами работы CQG Dashboards являются: Набор графических диаграмм, показывающих изменение во времени (с недельными периодами) основных показателей и метрик процесса. Набор текущих числовых значений основных метрик. Набор детализированных данных из БД, относящихся к выбранному подмножеству. Список замечаний, найденных при применении формальных контрольных таблиц (checklists). Обобщённая оценка соответствия процесса стандарту на основе автоматических проверок.

Slide 18 CQG: Основные метрики процесса Метрики производительности: Метрики производительности: Производительность (число строк кода в неделю) Производительность (число строк кода в неделю) Скорость кодирования Скорость кодирования Метрики качества: Метрики качества: Плотности дефектов разных типов Плотности дефектов разных типов Объём переделок Объём переделок Покрытие кода требованиями Покрытие кода требованиями Метрики формального процесса инспекций: Метрики формального процесса инспекций: Скорость просмотра кода Скорость просмотра кода Плотность найденных замечаний Плотность найденных замечаний Процент дефектов от общего числа замечаний. Процент дефектов от общего числа замечаний. Покрытие кода инспекциями Покрытие кода инспекциями Метрики точности планирования: Метрики точности планирования: Отклонение реальных значений затрат от запланированных Отклонение реальных значений затрат от запланированных Себестоимость проекта Себестоимость проекта

Slide 19 CQG: Project Dashboard (demo)

Slide 20 CQG: Team Dashboard (demo)

Slide 21 CQG: Автоматизированный контроль процесса разработки ПО В компании CQG автоматизированный контроль процесса разработки применяется на нескольких уровнях: В компании CQG автоматизированный контроль процесса разработки применяется на нескольких уровнях: Периодический контроль стандартного процесса разработки в командах (раз в 2-3 недели). Периодический контроль стандартного процесса разработки в командах (раз в 2-3 недели). Периодический аудит проектов (раз в 4-6 недель). Периодический аудит проектов (раз в 4-6 недель). Периодический контроль процесса поддержки (maintenance) продуктов (в зависимости от частоты релизов). Периодический контроль процесса поддержки (maintenance) продуктов (в зависимости от частоты релизов). Контроль проводится независимыми экспертами, которые совмещают роль разработчика с ролью инженера по процессам разработки ПО. Контроль проводится независимыми экспертами, которые совмещают роль разработчика с ролью инженера по процессам разработки ПО.

Slide 22 Заключение Для автоматизации контроля процесса необходимо: Постоянно собирать требуемые данные о процессе всем разработчикам Постоянно собирать требуемые данные о процессе всем разработчикам Накапливать данные в единой базе данных Накапливать данные в единой базе данных Периодически контролировать корректность и полноту данных Периодически контролировать корректность и полноту данных Регулярно подсчитывать метрики на основе собранных данных Регулярно подсчитывать метрики на основе собранных данных При выполнении вышеперечисленных условий Формальные проверки различных показателей процесса могут быть легко автоматизированы Формальные проверки различных показателей процесса могут быть легко автоматизированы

Конец Вопросы? Автор: Вадим Савкин,