Цветовое раскрашивание проекта на основе IBM Rational Unified Process (RUP)

Оригинал статьи: http://www.ibm.com/developerworks/rational/library/edge/08/jan08/ulferts/index.html?S_TACT=105AGX15&S_CMP=EDU

Цветовое раскрашивание проекта на основе IBM Rational Unified Process (RUP)

Karen Ulferts, Ведущий инженер в области разработки ПО, 5D Systems, Inc.

От журнала Rational Edge: Прочитайте, как руководитель проекта, ведущегося на основе RUP (Rational Unified Process), использует цветовые кодировки, чтобы помочь своей команде лучше разобраться с артефактами, ролями и своими обязанностями в ходе проекта, связанного с разработкой ПО.

Кодирование цветом является удобной техникой, которая часто используется в самых различных сферах производства при необходимости быстро объяснить суть процесса. Раскраска служит визуальной подсказкой, облегчающей восприятие информации с целью идентификации, организации и управления ключевыми элементами процесса. Визуализация позволяет лучше понять, на что процесс нацелен, и способствует появлению инициатив по улучшению самого процесса, ведущих к повышению производительности, снижению влияния ошибок и большей удовлетворенности заказчиков.

Данная статья фокусируется на техниках цветовой раскраски, которые были применены мной для того, чтобы добиться перечисленных улучшений в области разработки программного обеспечения.

Мотивация для раскраски

Корневые причины для применения цветового кодирования связаны с необходимостью описания взаимосвязей (трассировок) как между элементами процесса (трассировка процесса), так и для цепочек создаваемых промежуточных артефактов (трассировка продукта). Трассировка продукта гарантирует, что продукт соответствует изначальным требованиям заказчика. Трассировка процесса гарантирует, что процесс разработки соответствует своим организационным целям, как это определено SEI CMMI (Software Engineering Institute's Capability Maturity Model Integration; прим. переводчика -- в качестве проверки на соответствие могут быть взяты любые существующие стандарты: ISO, ГОСТ и т.д.). При этом мне требуется уверенность в том, что мной создается и передается все в точном соответствии с ожиданиями заказчика и компании. Мне нужны данные, чтобы отстаивать все сделанное в проекте и то, как это было сделано, а также, что нам еще предстоит сделать и как мы должны это исполнить. Раскраска дает возможность быстро и наглядно продемонстрировать участникам проекта, руководству, внешним аудиторам и, что наиболее важно, заказчику критичную информацию по текущему проекту.

Рисунок 1 предоставляет для примера раскрашенные проектные артефакты.

Пример раскрашенных проектных артефактов для проекта на основе IBM Rational Unified Process (RUP)

Рисунок 1: Рабочее место с раскрашенными проектными артефактами

Трассировка процесса

Первым делом мы применяем раскраску для прорисовки взаимосвязей между элементами процесса. Мне довелось быть инженером процесса, занимавшегося внедрением и обучением IBM Rational Unified Process (RUP), и понадобилось организовать в единую осмысленную структуру массу артефактов, задач, контрольных листов и руководств, которые были необходимы в моих проектах. Мной было решено взять за основу рекламный плакат RUP 2001 с его собственной цветовой палитрой (Рисунок 2). Девять дисциплин RUP выглядят довольно отчетливо, и соответствующий выбор цветов имеет логический смысл. Документирование и описание того, чем мне пришлось руководствоваться при выборе цветовой схемы, не является целью данной статьи. Достаточно сказать, что объяснение моей команде на словах выбора цветовой схемы RUP доказало свою состоятельность в рамках выполнения задачи RUP "Выпустить положение о разработке" (Launch the Development Case).

Плакат IBM Rational Unified Process (RUP), окрашенный в черно-белые цвета и снабженный ярлыками в цветах образца 2001 года

Рисунок 2: Плакат RUP, окрашенный в черно-белые цвета и снабженный ярлыками в цветах образца 2001 года

Мои действия в области трассировки процесса стартовали с использования обычной упаковочной коробки (Рисунок 3), в которую были загружены девять подвесных папок, соответствующих процессам для каждой конкретной дисциплины RUP. Теперь это коробка всего моего процесса, и я могу приступить к задаче RUP "Организовать процесс разработки для проекта" (Tailor the Development Process for the Project). Как только я решу, как выполнять каждую из дисциплин, определю ее артефакты и задачи, выберу модель жизненного цикла, опишу типовые итерации, идентифицирую заинтересованных лиц, определю исполнителей для ролей и документирую процесс разработки, при этом я пользуюсь заметками -- образуется гора заметок. Эти заметки позволяют дать логические объяснения для сделанных решений, применяемых в компании и процессе политик (особенно для тех, которые могут оказать влияние на принятие решений), дать ссылки на элементы из Ключевых областей CMMI (CMMI Key Process Areas, KPA) и идентифицировать ключевых игроков команды с точки зрения принятия решений. Я распечатываю мои заметки и затем выделяю красным заранее отобранные задачи, добавляя логические обоснования для шагов, выполняемых в рамках этих задач. Кроме того, я распечатываю копии артефактов, контрольные опросники и шаблоны, а также различные руководства для выполнения указанных задач. После этого вся сформированная информация складывается в папку, которая соответствует той или иной дисциплине RUP и окрашена в свой цвет в общей коробке.

Процессная и проектные коробки с цветными папками в соответствии с процессами IBM Rational Unified Process (RUP)

Рисунок 3: Процессная и проектные коробки с цветными папками в соответствии с процессами RUP

Техники окрашивания могут добавить еще одно измерение к цветовому кодированию с помощью подчеркивания информации различными способами (маркерами, самоклеющимися флажками и заметками, скрепками), а также применением продуманной схемы нумерации элементов (Рисунок 4). Это окажет большую пользу, когда понадобится быстро вернуть в коробку ранее удаленные из нее предметы. Трассировка процесса происходит в итеративной манере в ходе выполнения задачи RUP "Поддерживать процесс разработки" (Support Development).

Содержимое проектной коробки с ярлыками, содержащими указатели на процессы IBM Rational Unified Process (RUP) и проект в целом

Рисунок 4: Содержимое проектной коробки с ярлыками, содержащими указатели на процессы RUP и проект в целом

Трассировка продукта

Я применяю трассировку продукта, исходя из моей роли Инженера проекта -- в нее входит многое из ролевой группы "Менеджер" плюс кое-что от роли "Специалист по выявлению требований" (Requirements Specifier), по крайней мере, по части выполнения задачи RUP "Управлять изменениями" (Manage Dependencies). Мой вариант раскраски для промежуточных продуктов базируется на существующей цветовой схеме, определенной мной в качестве Инженера процесса. Дополнительно мне потребуется цветовая схема для наших уже разработанных систем (Рисунок 5). Системы, поставку которых мы осуществляем, включают элементы аппаратного и программного обеспечения, и, по этой причине, я назначаю отдельные цвета для каждой из этих систем, а также цвета для любых крупных подсистем или компонент, если для них были созданы собственные спецификации требований.

Пример моделирования сценариев использования с применением выделения цветом информации о разрабатываемых компонентах проекта на основе IBM Rational Unified Process (RUP)

Рисунок 5: Пример моделирования сценариев использования с применением выделения цветом информации о разрабатываемых компонентах проекта

На Рисунке 6 компонентам назначены соответствующие цвета для применения самоклеющихся заметок, а маркеры могут быть использованы для выделения процесса RUP, в котором представлен какой-либо особенный для нас артефакт.

Системные компоненты проекта на основе IBM Rational Unified Process (RUP), отмеченные стиккером определенного цвета

Рисунок 6: Системные компоненты проекта, отмеченные стиккером определенного цвета

Мои усилия при трассировке продукта также начинаются с коробок с подвесными папками, имитирующими актуальные процессы RUP. Передо мной ящик моего текущего проекта и используемые цветные папки процессов RUP, которые создаются по аналогии, как это описано выше для организации трассировки процесса. Например, Бизнес моделирование (Business Modeling) не применяется в каждом моем проекте, поэтому в соответствующих проектных коробках отсутствует такая подвесная папка. Так как я выполняю и назначаю задачи и артефакты RUP (Рисунок 7), то я использую заметки, чтобы показать, как проходит процесс и какие в нем приняты решения, а также обозначаю ключевые фигуры, участвующие в принятии этих решений. Все это включается в соответствующий процесс (папку) проектной коробки для применения при появлении различных инициатив по улучшению процесса или при оценке достигнутого в проекте.

Назначение артефактов, окрашенных в цвета системных компонент, участникам проектной команды

Рисунок 7: Назначение артефактов, окрашенных в цвета системных компонент, участникам проектной команды

Для задачи RUP "Управлять изменениями" (Manage Dependencies) я выделяю спецификации требований на систему и отдельные подсистемы. Я отмечаю ярлычками их, а также реализованные архитектурные элементы (design elements) и связанные с ними данные тестирования в соответствии с назначенными им цветами и складываю их внутрь папки процесса RUP в проектной коробке. Проектная коробка не предназначена для того, чтобы включать информацию, уже содержащуюся в системе управления изменениями (CM). Она предназначена лишь для включения дополнительной информации об элементах находящихся под управлением изменениями, включая описание матриц трассировки, записи из области управления качеством и информацию для поддержки проведения аудитов заказчика. Реализация таких трассировочных матриц поощрит к более тщательной проработке требований, архитектуры и данных тестирования командой разработчиков, значительно повышая, таким образом, качество продукта. Цветовое кодирование облегчает и ускоряет процедуры контроля за разработкой входных данных для моделирования сценариев использования, идентификации требований, построения архитектуры и проведения тестирования, гарантируя высокую степень покрытия требований, выдвигаемых заказчиком и накладываемых процессом.

Заключение

Усилия по раскраске процесса с массой основных офисных принадлежностей (Рисунок 8) окупаются, когда специалисты моей команды запрашивают руководства по процессу (что делать, как делать, по каким контрольным листам оценивается качество работ), руководителям необходимо оценить текущее состояние проектных артефактов (включая данные о том, когда запрашивается информация, кто осуществляет контроль и по каким стандартам качества), а аудитор на соответствие, например, CMMI требует предоставить объективное доказательство, что соблюдены критерии KPA , или заказчик просто пожелал ознакомиться с любым из перечисленного выше. У меня получалось оперативно предоставлять подобную информацию; или, по крайней мере, получалось уверенно объяснять, что чего-то не хватает в трассировочной цепочке и, в конце концов, мы будем вынуждены упереться в логически вытекающий тупик.

Изобилие материалов используется для идентификации и организации данных процесса и проекта на основе IBM Rational Unified Process (RUP)

Рисунок 8: Изобилие материалов используется для идентификации и организации данных процесса и проекта

© 2008-2023 Финэкософт.

 

Oracle Silver Partner
+7 (495) 234 8808
Учебный центр
Центр обучения и сертификации в области информационных технологий (IT).

Широкий выбор курсов и программ обучения. Подробности здесь.

Отправить письмо
Обратная связь

 

Для Ваших вопросов и отзывов