АВТОМАТИЗАЦИЯ МЕТРИК

АВТОМАТИЗАЦИЯ МЕТРИК

Существует множество возможностей автоматизации деятельности по контролю за проектом. Основным средством управления в соответствии с планом является панель управления проектом (Software Project Control Panel, SPCP), которая поддерживает доступ к текущему состоянию рабочих продуктов в онлайновом режиме. Такой подход впервые был рекомендован Airlie Software Council [Brown, 1996], который использовал метафору «приборной доски» (dashboard) проекта. Идея заключается в том, чтобы вывести на экран дисплея панель, в которой были бы сведены вместе данные, полученные из разных источников, для того чтобы показать текущее состояние какого-либо отдельного аспекта проекта. Например, менеджер проекта может просмотреть общие показатели проекта; менеджеру, отвечающему за тестирование, могут понадобиться данные,.
касающиеся параметров предстоящей бета-версии; менеджеров по разработке могут интересовать только данные по подсистемам и компонентам, за разработку которых они отвечают. Панель может иметь некоторые стандартные возможности, вроде предупреждающих цветов, границ, переменных шкал, цифровых форматов и аналоговых форматов для представления текущей ситуации в общем плане. Она также может обеспечивать широкие возможности для подробного анализа ситуации. Такая автоматическая поддержка поможет менеджерам понять прогресс и качественные тенденции, а также способствует выбору метрик командой разработчиков.
Для полной реализации SPCP необходимо определить и разработать:.
■ Составляющие метрик: показатели, тенденции, сравнения и прогрессии.
■ Графический пользовательский интерфейс: GUI-поддержка для лица, выполняющего роль менеджера проекта, гибкие возможности для поддержки других ролей.
■ Агенты сбора метрик: извлечение данных из инструментов среды, которые поддерживают различные нотации для разных комплектов рабочих продуктов.
■ Сервер управления метриками: поддержка управления данными для наполнения метрик конкретными значениями и хранения данных, извлеченных агентами.
■ Определение метрик: реальное представление метрик для прогресса требований (извлекаемых из рабочих продуктов комплекта требований), для прогресса проектирования (извлекаемых из рабочих продуктов комплекта проектирования), для прогресса при реализации (извлекаемых из рабочих продуктов комплекта реализации), для прогресса в оценке (извлекаемых из рабочих продуктов комплекта внедрения) и для других составляющих прогресса (извлекаемых из руководств, систем управления финансами, рабочих продуктов управления и т.д.).
■ Действующие лица: обычно наблюдатель и администратор.
В состав специальных наблюдателей (выполняющих определенные роли) входят менеджеры проекта по созданию ПО, руководители команд по разработке ПО, разработчики архитектуры ПО и заказчики. Для каждой роли существуют своя конфигурация панели управления и диапазон представляемых данных. Каждая роль предполагает выполнение одних и тех же общих вариантов использования, но с разными акцентами:.
■ Наблюдатель: определяет структуру вывода на основе существующих механизмов, графических объектов и привязок к данным проекта; запрашивает данные, которые должны выводиться на различных уровнях абстракции.
■ Администратор: инсталлирует систему; описывает новые механизмы, графические объекты и привязки; осуществляет функции по хранению; определяет структуры композиции и декомпозиции для вывода различных уровней абстракции.
Вывод в целом называется панелью. Внутри панели присутствуют графические объекты, которые обеспечивают различные типы графического вывода (например, круговые и прямоугольные диаграммы) информации. Каждый графический объект отображает одну метрику. Панель обычно содержит некоторое число графических объектов с конкретной геометрией расположения. Параметр, описываемый данным графическим объектом, маркируется типом метрики, итоговым уровнем и именем экземпляра (таким, как число строк кода, подсистема, сервер 1). Метрики могут выводится в двух режимах: в виде значения, относящегося к конкретному моменту времени, либо в виде графика, отображающего множественные и последовательные моменты времени. К графическому изображению метрик применимы лишь некоторые типы вывода.
Метрики могут выводиться с контрольными значениями или без них. Контрольное значение — это ожидаемое текущее значение, абсолютное или относительное, которое используется для сравнения с динамически изменяющейся метрикой. Например, планируемое значение некоторой метрики прогресса является контрольным значением для сравнения с реальным значением этого параметра. Другой пример контрольных значений — пороговые значения. Преодоление порогового значения может приводить к такому изменению состояния, которое будет очевидно для пользователя. Контрольные значения могут выводиться в рамках того же графического объекта, что и соответствующая метрика, чтобы пользователь мог их визуально сравнивать.
Показатели могут представлять данные в различных форматах: двоичном (например, черный и белый), троичном (например, красный, желтый и зеленый), цифровом (целое или с плавающей точкой) или в некотором другом формате перечислимого типа (т.е. последовательность возможных дискретных значений: вос..суб, готовься-целься-огонь, янв..дек). Показатели также предоставляют механизм, который может быть использован для компактного изображения условия или обстоятельства, связанного с другой метрикой, либо связей между различными метриками, с одной стороны, и соответствующими им контрольными значениями, с другой.
Графическое изображение тенденции показывает зависимость значений от времени и позволяет задавать верхнее и нижнее пороговые значения. Преодоление порогового значения может быть привязано к примечательному изменению состояния соответствующего показателя от зеленого к красному или наоборот. Графики должны выводиться с шагом по времени, выбранным пользователем (например, день, неделя, месяц, квартал, год). На сравнительном графике выводится множество значений одновременно в зависимости от времени. Схождение или расхождение значений может быть привязано к какому-либо индикатору. График прогресса показывает процент завершения, где элементы прогресса изображены как переходы из одного состояния в другое, и каждому состоянию ставится в соответствие приобретенная стоимость. Графики, отображающие тенденцию, сравнение и прогресс, приведены на рис. 13.9.
Рис. 13.9. Примеры классов фундаментальных метрик.
Сведения по данной метрике могут обобщаться по определенной пользователем линейной схеме. (Например, строки кода могут подсчитываться для модуля, подсистемы, проекта.) Проект — это высший уровень обобщения для всех данных, принадлежащих конкретному комплекту (контекст высшего уровня). Пользователи могут задавать структуру обобщения, выбирать выводимый уровень, основываясь на заранее заданных структурах, а также двигаться вниз от обобщенного числа, просматривая детали все более низкого уровня.
На рис. 13.10 показан простой пример SPCP для некоторого проекта. В данном случае для менеджера проекта по созданию ПО определен вывод самого верхнего уровня, содержащий четыре графических объекта.
Рис. 13.10. Пример отображения SPCP для самого верхнего уровня проекта.
1. Состояние работ по проекту. Графический объект, расположенный в верхнем левом углу, дает общее представление о состоянии WBS-элементов самого верхнего уровня. Все семь элементов могут выводиться красным, желтым и зеленым цветом для отображения текущего состояния приобретенной стоимости. (На рис. 13.10 используются белый цвет и оттенки серого.) Например, зеленый цвет будет означать опережение плана, желтый цвет — отклонение от плана не более 10%, а красный будет выделять элементы, чье отставание от плана превышает 10%. Этот графический объект имеет несколько типов показателей: три различных цвета, реальный процент и первую производную на текущий момент (стрелка вверх означает тенденцию к улучшению, стрелка вниз — тенденцию к ухудшению).
2.
Состояние технических рабочих продуктов. Графический объект, расположенный в верхнем правом углу, дает общее представление о текущем состоянии технических рабочих продуктов. Цвет кружка «Треб.» показывает оценку текущего состояния моделей вариантов использования и спецификаций требований, цвет «Проект.» — то же самое для проектных моделей, цвет «Реал.» — для исходного кода, а цвет «Внедр.» — для тестирования программы.
3.
Прогресс по контрольным точкам. Графический объект, расположенный в нижнем левом углу, выдает оценку прогресса в достижении контрольных точек по сравнению с запланированным и приводит показатели текущих значений.
4.
Прогресс в решении рабочих проблем. Графический объект, расположенный в нижнем правом углу, дает оценку прогресса с другой точки зрения, показывая текущее число открытых и решенных проблем.
Рис. 13.10 является одним из примеров возможной реализации метрики, связанной с прогрессом. Этот пример тривиален, но он дает представление об основных возможностях вывода SPCP. Формат и содержимое любой панели проекта могут быть настроены в соответствии с предпочтениями менеджера проекта по созданию ПО для отслеживания параметров, представляющих интерес на самом верхнем уровне. Некоторые менеджеры, возможно, пожелают, чтобы на экране выводились только обобщенные данные и некоторые ключевые тенденции. Другим потребуется большое количество тенденций и конкретных деталей. SPCP должна быть настраиваемой и предоставлять возможности для получения детальной информации по любой метрике. Например, требование красного цвета для изображения рабочих продуктов внедрения может приводить к получению следующего уровня детализации либо во времени (диаграмму тенденций), либо в абстракции (подробное положение дел с тестированием для каждой версии, подсистемы и т.д.).
Следующий вариант использования самого верхнего уровня, который описывает основное рабочее понятие для SPCP, соответствует случаю взаимодействия наблюдателя с панелью управления:.
■ Запуск SPCP. SPCP запускается и выводит основную текущую информацию, которая сохранилась с момента работы с SPCP последнего пользователя.
ш Выбор варианта панели. Пользователь выбирает вариант панели из списка ранее определенных стандартных вариантов панели. SPCP выводит выбранный вариант.
■ Выбор представления метрики в виде числового значения или графика. Пользователь выбирает, будет ли метрика выводиться для заданного момента времени или в виде графика как тенденция. По умолчанию для значений выводится самое последнее из доступных измерение метрики. Значение по умолчанию для тенденций — ежемесячно.
■ Выбор наложения контрольных значений. Пользователь указывает графический объект и запрашивает совместный вывод контрольных значений для этой метрики и значения для конкретного момента времени. В случае тенденций контрольные значения накладываются при выводе на метрику.
■ Переход к тенденции. Пользователь указывает графический объект, отображающий значение в некий момент времени, и переходит к просмотру тенденции изменения данной метрики.
■ Переход к значению, соответствующему определенному моменту времени. Пользователь выбирает графический объект, показывающий тенденции, и переходит к просмотру значений данной метрики.
■ Переход к более низким уровням информации. Пользователь выбирает графический объект, показывающий значение в некий момент времени, и переходит к просмотру информации следующего уровня.
■ Переход к более низкому уровню показателей. Пользователь выбирает графический объект с неким показателем и развертывает следующий уровень показателей.
SPCP — это лишь один из примеров подхода к автоматизации метрик, который позволяет собирать, организовывать и выводить значения и тенденции, извлекаемые напрямую из рабочих продуктов. Разработчики ПО принимают метрики только в том случае, если они автоматизированы в данной среде.