В этой серии статей обсуждаются последние инновации в документировании и исполнении процессов разработки ПО. Основной упор делается на интеграцию Rational Method Composer с инструментальными средствами Jazz. В первой статье серии обсуждается значение документирования методик для выполнения и масштабирования гибкой разработки. В данной статье также сформулирован важный принцип интегрированного подхода: документирование методик осуществляется при помощи Rational Method Composer, а автоматизация исполнения этих методик - при помощи Jazz. В последующих статьях описываются различные сценарии документирования методик и их исполнение.
Введение
Методика - это способ работы группы по достижению поставленных целей. Она описывает определение и распределение обязанностей, используемые технологии, а также критерии и пути достижения успеха.
В свое время методики представляли собой документы в пыльных скоросшивателях, готовые к применению, но плохо изученные и мало используемые. Группы разработчиков сводили их применение к минимуму, продолжая следовать политике процесса. Прошло несколько лет, и гибкая революция свергла политику процесса. Воцарилась свобода. Мир, любовь, сотрудничество!
Но гибкость - это не анархия. Правильное применение гибких методик требует дисциплины. Существуют принципы, например, те, что описаны в манифесте Agile Manifesto. Есть много альтернативных методик, например, обсуждение историй (backlog grooming), покер планирования (planning poker) и разработка через тестирование наперед (test-first development). Но для многих организаций гибких методик недостаточно. Поскольку организационная и техническая сложности возрастают, необходимо учитывать дополнительные факторы масштабирования и соответствующим образом масштабировать процессы.
В связи с увеличением сложности методик возрастает роль документирования, и все большее значение приобретает автоматизация методик. В данной статье рассматривается значение документирования и автоматизации методик при помощи IBM Rational Method Composer и инструментов исполнения, основанных на технологии Jazz.
Почему важны методики
Каждый человек или группа следуют каким-нибудь методикам. Некоторые из них являются спонтанными, создаваемыми по мере необходимости, в то время как другие являются формальными, строгими и обязательными. Для некоторых методик описаны конкретные роли, рабочие продукты, задачи, шаблоны, инструкции и рекомендации. Другие не документированы, поэтому разработчики полагаются на понимание между членами группы и знание, к кому обращаться за информацией. Большинство организаций находится где-то посредине по двум причинам:
- Строгие методики не позволяют вносить изменения при необходимости, а спонтанные методики приводят к хаосу.
- Сильно документированные методики трудно создавать и поддерживать, а недокументированные методики затрудняют общение и обмен передовым опытом.
Методики важны, поскольку они определяют, насколько хорошо работается группам. Методики определяют эффективность применяемых в проекте технологий и даже критерии того, что мы понимаем под успехом . Вопрос не в наличии методики, а в ее эффективности.
Причины документирования методики
Спонтанные недокументированные методики привлекательны, поскольку не требуют инвестиций и являются бесконечно гибким, потому что создаются по мере необходимости. Однако их трудно масштабировать. Вот некоторые факторы масштабирования в Rational Method Composer для процесса Disciplined Agile Delivery:
- Размер группы
- В основном гибкие процессы хорошо работают в небольших группах (10-15 человек), но что если в группе 50 человек? Сто человек? Тысяча?
- Нормативные требования
- Что делать, если существуют регулятивные требования, например, закон Сарбейнса-Оксли, ISO 9000 или FDA CFR 21?
- Территориальное распределение
- Что делать, если члены группы распределены по всему зданию или по всему миру?
- Сложность предметной области
- Что делать, если проблемная область является сложной (например, мониторинг биохимического процесса или управления воздушными перевозками) либо быстро меняющейся (например, торговля финансовыми деривативами или обеспечение электронной безопасности)?
- Организационное распределение
- Иногда в группу проекта входят представители разных подразделений, различных компаний-партнеров или сторонних организаций.
- Техническая сложность
- Устаревшие системы, несколько платформ или смешивание разнородных технологий повышают техническую сложность.
- Организационная сложность
- Структура и культура организации могут основываться на традиционных ценностях, что повышает сложность принятия и масштабирования гибких стратегий. Различные подгруппы в рамках организации могут иметь различное видение своей работы.
- Корпоративная дисциплина
- Организации хотят использовать общие платформы инфраструктуры для снижения стоимости, сокращения времени выхода на рынок и улучшения совместимости. Им нужны эффективные корпоративная архитектура, корпоративное бизнес-моделирование, стратегическое повторное использование и управление портфелем. Эти дисциплины должны работать во взаимодействии с процессами разработки ПО, а еще лучше - улучшать их.
Рисунок 1. Факторы масштабирования рациональной гибкой поставки
Поскольку проектная и организационная сложность возрастает, все более важным становится документирование методик. Документированные методики позволяют организации:
- Определять четкие обязанности и критичные последовательности событий
Поскольку группы разработчиков стали в высокой степени распределенными, очень важно получать информацию в определенной документированной форме в любое время и из любого места. Нет времени ждать объяснений, и мы не можем позволить себе путаться в том, что должно быть сделано, кем и когда.
- Собирать и распространять передовой опыт в организации
Чтобы оставаться конкурентоспособными, организации должны использовать передовой опыт, являющийся отраслевым стандартом, и учиться на своих ошибках и успехах.
- Создавать базовую методику и измерять эффект изменений
Если у вас нет базовой методики, что же вы улучшаете? Документирование позволяет осуществлять гибкий принцип непрерывного совершенствования на основе ретроспектив.
- Соблюдать требования нормативных документов и аудита
Например, CMMI, DO-178B, ITIL, COBIT, SOX. Соблюдение нормативных требований может быть проблемой. Документирование методик, как правило, необходимо для обеспечения соблюдения нормативных требований и для доказательства их соблюдения.
- Быстрый запуск проектов при помощи методик, соответствующих характеристикам проекта
Вопрос не в документированной методике, а в том, что и как документировать.
Преимущества использования средства авторинга методик
Наиболее распространенными средствами авторинга методик являются текстовые процессоры и вики. Они обладают рядом существенных преимуществ, потому что не требуют практически никакой подготовки и имеют несколько ограничений в плане организации и представления информации.
Их недостатком является неструктурированная информация, как в книге. Использовать ее можно единственным способом - прочитать. Средство авторинга методики предоставляет базу данных методик. База данных обладает следующими преимуществами:
- конфигурируемость и настройка в соответствии с требованиями
- Вы можете создавать или адаптировать методики из элементов и частей других методик. Вы можете масштабировать методики для больших и малых проектов. Настройка может выполняться коллективно, когда члены группы комментируют методику и сообща вносят изменения и дополнения.
- мастера создания процессов
- Вы можете создавать мастеров, которые задают вопросы и на основании ваших ответов адаптируют методику.
- согласованность и полнота
- Средство авторинга методики процесса гарантирует, что информация является согласованной и полной. Интерфейсы, основанные на заполнении форм, облегчают предоставление правильной информации. Информация (например, перекрестные ссылки между связанными элементами) может быть сгенерирована, что гарантирует согласованность.
- автоматизация
- Информацию методики можно использовать для настройки инструментов автоматизации процесса. Автоматизация включает в себя генерирование первоначальных планов проекта или списков задач, всегда находящееся под рукой контекстно-зависимое руководство по процессу, автоматическую настройку инструментального средства. В будущем появится намного больше возможностей.
- запросы, мэшапы и отчеты
- Базы данных методик поддерживают RSS-фиды и другие мэшап-технологии, повышая доступность и значение информации методик. Запросы и отчеты можно использовать для просмотра информации методик в виде таблиц, резюме, карточек или портлетов. Вы можете подключаться к различным источникам информации, таким как онлайн-помощь, сообщества и базы данных инструментальных средств.
Вопрос больше не в том, нужно ли использовать средство авторинга методики, а в том, как структурировать информацию методики, чтобы оптимизировать ее использование.
Значение Rational Method Composer
В Rational Method Composer входят следующие функции и возможности:
- Огромная библиотека практик, в том числе богатый набор гибких практик, интегрированных с практическими бизнесом и техническими элементами управления.
- Функции интеграции инструментальных средств, такие как:
- Автоматическая настройка инструментов в соответствии с документированным процессом.
- Создание шаблонов планов и задач на основе определений процессов.
- Всегда находящееся под рукой руководство по процессу выполнения работы.
- Решения, комбинирующие процесс и инструмент, для различных видов разработки в различных отраслях, таких как:
- Инфраструктура Collaborative Lifecycle Management for IT agility@scale.
- Разработка систем и ПО.
- Автомобилестроение.
- Аэрокосмическая промышленность.
- Функции настройки:
- Темы (возможные отображения на экране) для настройки представления информации.
- Возможность определения типов элементов, правил и взаимосвязей для своих методик.
- Простая адаптация имеющихся методик к проекту или организации.
- Множество возможностей, таких как редактирование текста в формате RTF, диаграммы, структуры декомпозиции, адаптация, создание отчетов и запросы.
- Руководство и показатели для измерения эффективности проекта и внесения улучшений.
- Вспомогательные активы, такие как "самопроверка" (Self-check) и "измеренное улучшение" (Measured Improvement), для повышения эффективности групп и организаций.
Как показано на рисунке 2, Rational Method Composer состоит из инструментов для документирования процессов и библиотек повторно используемых методик. Документированные процессы исполняются при помощи средств разработки. Подход измеренного улучшения позволяет улучшить процесс.
Рисунок 2. Документирование, исполнение, измерение и улучшение
Заключение
Методики важны для организации, потому что они определяют, как организация осуществляет свою деятельность. Документируйте методики, чтобы обмениваться информацией и совершенствовать свою деятельность.
С помощью Rational Method Composer можно создать согласованные, настраиваемые методики, используя богатейшую библиотеку гибких и масштабируемых гибких практик. Rational Method Composer интегрируется с инструментальными средствами Jazz, что позволяет группам работать более рационально и эффективно. Сопутствующие активы, такие как самопроверка, измеренное улучшение и отраслевые решения помогают эффективно развертывать организационные усовершенствования, которые имеют реальную бизнес-ценность.
В следующих частях данной серии статей исследуются сценарии документирования и автоматизации процессов, использующие представленные здесь возможности.