Дополнительный контроль и идентификация рисков
Для контроля за ходом проекта и управления рисками нарушения сроков по выпуску продуктов, чаще всего, проектные команды ограничиваются формированием, актуализацией и анализом плана работ в проекте. Например, если какие-то задачи занимают больше времени, чем изначально планировалось, то возрастает риск нарушить сроки очередной итерации. С другой стороны, если какую-то часть плана не удается выполнить, например, провести регрессионное тестирование, то возрастает риск выпустить низкого качества продукт. Я хочу рассказать о еще одном способе контроля за результатами проекта и качеством создаваемого продукта, который в полной мере реализуется в системе управления проектами DEVPROM. Для краткости назову этот метод "Управление проектом через артефакты". В ходе работы на любым проектом по разработке ПО команда создает проектные артефакты по окончании различных активностей. Например, аналитик создает требования, разработчик - программный код и сборки продукта, тестировщик - тестовую документацию и результаты тестирования. Таким образом, любое пожелание заказчика или пользователя к продукту должно быть проработано (проанализировано), реализовано и проверено на соответствие требованиям по качеству. Заметьте, здесь нет упоминания о детальном плане работ для команды, что соответствует наименее формализованным методологиям разработки. С другой стороны, завершение выполнения задачи согласно плана работ не всегда означает создание необходимых артефактов, это сильно зависит от зрелости команды. Таким образом, метод управления проектом через артефакты является ортогональным, то есть независимым (или дополнительным) по отношению к классическому анализу плана проекта. Посмотрите на следующее изображение, где отражено состояние журнала продукта в разрезе подготовленных артефактов (в терминах DEVPROM это называется трассировкой): С целью контроля за созданием необходимых артефактов в этом списке отображаются ссылки на проектные артефакты, связанные с исходными пожеланиями: подготовленные требования, разработанная тестовая документация и результаты тестирования продукта по этой документации, обновленные разделы пользовательской документации, а также связи с изменениями в кодовой базе продукта. В столбце "Задачи" показаны активности, выполненные участниками проекта. Так, например, если была выполнена задача по тестированию, но при этом нет связанного с ней результата, то команда теряет информацию о том, как было протестировано пожелание, какой получен результат и в какой сборке и т.д. С точки зрения идентификации рисков, связанных с успешным выпуском очередного релиза продукта, трассировка позволяет увидеть много "подводных камней" текущего релиза:
Преимуществом DEVPROM является возможность гибкой настройки системы под особенности конкретного проекта, например, если ваша команда уверена, что риски, связанные с отсутствием требований, минимальны, то вы можете просто отключить управление требованиями и сосредоточиться только на тех артефактах, которые значимы для успеха вашего проекта. |
Варианты оценки производительности команды
Любую крупную задачу, а именно такой и является разработка программного продукта, эффективно разбить на множество небольших, относительно независимых подзадач. Именно данный принцип позволяет измерять прогресс выполнения исходной задачи, вычислять текущий статус проекта. В зависимости от количества участников проекта, сроков его завершения, уровня зрелости команды, финансовой модели, по которой выполняется проект, необходимо применять соответствующие методики измерения хода проекта. В этой статье я хочу показать какие варианты измерения прогресса завершения проекта вы можете реализовать при помощи системы управления проектами DEVPROM. Основное отличие между ними заключается в степени детализации задач, а также в требованиях к отчетности о затраченном времени. Измерение прогресса по выполненным пожеланиям |
Матрица трассируемости (traceability matrix)
Если вы бывали на тусовке аналитиков, на форумах, посвященных вопросам сбора требований, то наверняка слышали что-то про матрицу трассировки, поскольку это магическое словосочетание, которое обязательно должно присутствовать в любом инструменте, используемом для управления требованиями. По сути это таблица, в столбцах и строках которой перечислены ссылки на требования, а в ячейках указывается наличие связи между этими требованиями. Степень заполненности этой таблицы характеризует степень покрытия одних требований другими. Например, покрыты ли исходные бизнес-требования функциональными спецификациями. Это достаточно простой и эффективный инструмент для контроля за полнотой описания требований к разрабатываемому продукту. Характерно то, что матрица трассируемости активно используется на этапе анализа, но незаслуженно забыта на остальных фазах, а ведь там она не менее актуальна и позволяет контролировать покрытие различных артефактов разработки друг другом, например, покрытие тестировочной документацией разделов требований. Матрица трассировки - это лишь инструмент, который помогает вашей команде чувствовать контроль над ходом проекта. Можете его не использовать, если все связи вам удобнее хранить в голове и там же актуализировать все связи по сотням документов :) Кстати, матрица трассируемости косвенно связана с таким показателем состояния проекта, как качество. Качественный продукт может получиться, только при следующих условиях:
Таким образом, использование матрицы трассировки на всем объеме подготавливаемых артефактов, позволяет достичь вашей команде следующих целей:
Возможности по связыванию различных артефактов и их трассировке вы найдете во многих ALM решениях (Polarion, TFS), однако, в DEVPROM есть и ряд существенных преимуществ:
|
Насколько субъективна оценка проектов и как повысить точность оценки
Mike Cohn в одной из своих презентаций, Введение в оценку и планирование Agile проектов (.pdf) приводит неожиданные результаты исследований по качеству оценки проектов. Так, даже казалось бы самые незначительные факторы, способны очень сильно повлиять на оценку проекта. Например, детали спецификации, от которых оценка явно не зависит :
Или другой эксперимент, в котором изменялся размер документа спецификаци и:
Или вот еще отличный пример с давлением ограничениями :
Конечно, это всего лишь результаты чьих-то экспериментов, которые в некоторых случаях можно и оспорить, но! Факт остается фактом - оценка проектов черезвычайно сложная задача, зависящая как от конкретных людей, проводящих оценку, так и от внешних для них условий - т.е. величина сильно субъективная. Но можно ведь как-то повысить точность оценки, не прибегая к формальным методикам? Конечно можно, вот лишь пара хороших практик:
|

