38
КАК ОЦЕНИВАТЬ СОСТОЯНИЕ ПРОЕКТА ПО РАЗРАБОТКЕ С ПОМОЩЬЮ ФОРМАЛЬНЫХ МЕТРИК И ОТЧЕТОВ. Дмитрий Андреев [email protected] Twitter: @dmandreev

Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Embed Size (px)

DESCRIPTION

Можете ли вы завтра утром в 8:05 положить на стол руководства детальный отчет по прогрессу разрабатываемой системы, количестве ошибок в разрезе подсистем и требований, качестве юнит-тестов, скорости внесения изменений в код и возникновения ошибок? Можете ли вы с помощью средств аналитики оценить узкие места проекта, например, ответив на вопрос «какая подсистема имеет самое большое количество вновь возникающих ошибок»? Если вы хотите узнать, как это сделать то приходите на доклад о возможностях подсистем отчетности Visual Studio Team System 2010. В докладе будут рассмотрены подходы по созданию формальной системы метрик, индикаторов, отчетов для оценки прогресса и состояния проекта по разработке программного обеспечения.

Citation preview

Page 1: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

КАК ОЦЕНИВАТЬ СОСТОЯНИЕ ПРОЕКТА ПО РАЗРАБОТКЕ С ПОМОЩЬЮ ФОРМАЛЬНЫХ МЕТРИК И ОТЧЕТОВ.

Дмитрий Андреев[email protected]: @dmandreev

Page 2: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

• Какое количество рисков связано с вашим текущим проектом?

• Насколько хорошо вы понимаете «что вы сейчас делаете»?

• Все ли идет так как запланировано по проекту?

Page 3: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Предвидение – это искусство видеть то что не видно другим.

Джонатан Свифт.

Page 4: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Работайте с проектами прозрачно

Page 5: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Отслеживание задач

• Рабочие элементы интегрированы в весь процесс

• Статусы обновляются с каждым действием

• Это исходные данные для отчетов

Page 6: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Всё взаимосвязано

• Взаимосвязи обеспечивают сквозное отслеживание

• Взаимосвязи позволяют формировать ранние индикаторы проблем

Page 7: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов
Page 8: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Как идут дела?

• Вы считаете что:– Создание отчетов

сложно и требует много времени

– Данные трудно собрать и еще труднее понять

– Вам нужен аналитик чтобы создавать отчетность по прогрессу

Page 9: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Архитектура

АдаптерыАдаптеры Реляционноехранилище КубыКубыОбработкаОбработка

Page 10: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Таблицы фактовBuild Changeset Contains one row for each changeset included in this build but not included in a previous build of the same type. This

enables build information to be correlated with check-ins, and also with the work items that are associated with the

check-ins.

Build Coverage Contains one row for each time code when metrics were gathered for a build.

Build Details Contains one row for each time a build is performed.

Build Project Contains one row for each time a project within a build is built.

Code Churn Contains one new row for each revision of any file.

Current Work Item Contains one row for each work item currently in the system.

Load Test Counter Summary information for each performance counter value read for each load test executed. Contains the counter ID,

value, and the computer from which it came.

Load Test Details Contains one row for each time a load test is executed.

Load Test Page Summary Contains one row for each URL visited during each load test. Summarizes information for each top-level page, but does

not include detailed information for dependent requests; for instance, images.

Load Test Summary Contains one row for each test run as part of a load test. Contains the number of times the test ran, how many times it

failed, how long it took to run on average, and so forth.

Load Test Transaction Contains the average time for each transaction. For example, if unit tests are run under load, timers in the tests are

reported here as the average time taken for each transaction.

Run Coverage Contains one row for each time a test run is executed that collects code coverage metrics.

Test Result Contains one row for each execution of each test. Contains the outcome of the test, start and end times, and metadata

about the test (category, CSS nodes, and so forth.)

Work Item Changeset Contains one row for each relationship between a work item revision and a changeset.

Work Item History Versioned file of work items using transition count and record count to aggregate information at a point in time.

Page 11: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Измерения

• Длинный список их более 60– Даты/время– Области– Итерации– Модули– Персоны– Категории тестов– Проекты– …

Page 12: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Правильные средства

• Отчеты из коробки– SQL Server Reporting

Services• Excel Reports– Быстрые и гибкие

• Информационные панели Sharepoint– Публикация и

автоматическое обновление

Page 13: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

SQL Server Reporting Services

Другие отчетыДругие отчеты

Текущий прогресс по сценариям и ошибкам

Текущий прогресс по сценариям и ошибкам

О чем этот отчет?О чем этот отчет?

Page 14: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Статусы ошибок

Page 15: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Тренды

Page 16: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Реактивация

Page 17: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Индикаторы качества

Page 18: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Успешные сборки

Page 19: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Суммарный отчет по сборкам

Page 20: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Burndown

Page 21: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Предстоящая работа

Page 22: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Статусы по итерациям

Page 23: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Прогресс по требованиям

Page 24: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Незапланированные работы

Page 25: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Прогресс по тестированию

Page 26: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов
Page 27: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Отчеты Microsoft Excel

• Гибкие, быстрые, качественные.

• Никаких затрат на создание

• Знакомый инструмент

• Швейцарский нож

Page 28: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов
Page 29: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Информационные панели

• Выбирайте – Sharepoint Foundation или Portal

• Готовые панели общего характера

• Изменяйте и создавайте свои

Page 30: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Информационные панели

Page 31: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов
Page 32: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Технологии

• Вы можете создавать свои собственные измерения и фактические значения

• На работающем проекте или шаблоне• Требуется модификация Work Item

Definition– Всего лишь объявите поле «Reportable»

Page 33: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов
Page 34: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Коварство метрик

Отметим высокий уровень

прохождения тестов и низкий

уровень ошибок

Отметим высокий уровень

прохождения тестов и низкий

уровень ошибок

Page 35: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Коварство метрик

Отметим низкий

уровень покрытия

кода тестами и высокий

уровень модификации

кода (code churn)

Отметим низкий

уровень покрытия

кода тестами и высокий

уровень модификации

кода (code churn)

Page 36: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Заключение

• VSTS обладает мощным набором средств создания отчетов

• Получение актуальной информации – два, три клика

• Используйте множество измерений• Метрики – это только аппроксимация

целей бизнеса

Page 37: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов

Ссылки

• Работа с отчетами и метриками Team System http://msdn.microsoft.com/en-us/library/ms181634(v=VS.80).aspx

• Sunder Ramans’ blog http://blogs.msdn.com/sunder/• Описания отчетов– Agile

http://msdn.microsoft.com/en-us/library/dd380702(v=VS.100).aspx

– CMMI http://msdn.microsoft.com/en-us/library/ee461536(v=VS.100).aspx

Page 38: Как оценивать состояние проекта по разработке с помощью формальных метрик и отчетов