Мой сайт
Главная | | Регистрация | Вход
Приветствую Вас Гость | RSS
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 6
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Июль 2013  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » 2013 » Июль » 17 » IBM Rational: Определение среды разработки. Обеспечива
    15:35
     

    IBM Rational: Определение среды разработки. Обеспечива

    IBM Rational: Определение среды разработки. Обеспечиваем всестороннее рассмотрение всех элементов

    Среда разработки должна содержать все необходимое для создания и развертывания программоемких систем (т.е. систем, в которых программное обеспечение является важнейшим и обязательным элементом). Почему важно иметь непротиворечивое определение требований к среде разработки? Коротко говоря, многие организации стремятся снизить время выхода на рынок, уменьшить затраты и повысить качество, а все эти бизнес-цели напрямую зависят от качества среды, используемой при создании таких систем. Наличие под рукой непротиворечивого и всестороннего определения среды разработки гарантирует, что ничто не будет упущено при планировании действий по улучшению имеющейся среды, определении требований к среде, определении архитектуры среды, оценке среды, обеспечении соответствующего уровня возврата инвестиций при изменении среды и т.д. Определение среды разработки является критически важной исходной информацией для всех этих задач.

    Перед рассмотрением конкретных элементов, составляющих среду разработки, очень полезно сначала понять, какое место эта среда занимает в общей картине.

    На рисунке 1 изображен центр обеспечения качества (Center of Excellence), отвечающий за создание и обслуживание среды разработки. Эта среда используется в проектах разработки, которые, в свою очередь, создают и обслуживают программоемкие системы (либо какие-то другие программные активы, например, компоненты или сервисы). Такая простая визуализация позволяет уточнить различия между ролью центра обеспечения качества (включая роли членов коллектива, процессы и ключевой узел - среду разработки) и проектами, которые используют эту среду разработки (а также их роли, процессы и узлы).

    Согласно мнению экспертов по программному обеспечению IBM Rational, среда разработки состоит из следующих шести элементов, каждый из которых показан на рисунке 2 и подробно описан ниже:

    • Методика (Method)
    • Средства (Tools)
    • Подготовка (Enablement)
    • Организация (Organization)
    • Инфраструктура (Infrastructure)
    • Внедрение (Adoption)

    Возможно, вы знакомы с компонентами модели персонал-процесс-технология, являющимися ключевыми составными частями успешного проекта разработки. Однако эта модель является чрезмерно упрощенной для целей данной статьи. Тем не менее, эта модель построена на элементах, показанных на рисунке 2:

    • Персонал - это организация и подготовка.
    • Процесс - это методика.
    • Технология - это средства и инфраструктура.

    Внедрение - это новый (и очень важный) элемент, который концентрируется на распространении среды разработки в организации, бизнес-подразделении или проекте.

    Ключевым элементом любой среды разработки является методика, которой придерживаются, формально или неформально, специалисты-практики. Вот ключевые составляющие, относящиеся к методике:

    • Основные элементы методики, такие как роли, рабочие продукты, задачи и процессы.
    • Дополнительные элементы методики, такие как стандарты, рекомендации, инструкции, шаблоны и примеры.
    • Топология развертывания методики, которая может учитываться, например, при развертывании методики в виде Web-сайта в интрасети компании. В нашем примере для размещения контента необходим Web-сервер, а на рабочих станциях должен быть установлен подходящий Web-браузер, и они должны быть подключены к Web-серверу.

    Средства разработки автоматизируют аспекты выбранной методики. Например, можно использовать инструментальные средства для хранения и управления требованиями к разрабатываемому проекту, для визуального моделирования архитектуры и дизайна, для тестирования программного обеспечения и т.д.

    Ключевые элементы, относящиеся к инструментальным средствам:

    • Средства разработки и средства для их интеграции.
    • Сценарии установки и настройки средств разработки.
    • Топология развертывания средств разработки, которая учитывает необходимое программное и аппаратное обеспечение, как на стороне клиентов, так и на стороне сервера, вместе со всеми целевыми платформами и эмуляторами (например, при разработке устройств реального времени или встроенных устройств).

    Подготовка специалистов к использованию среды разработки (обучение и наставничество) является важным условием ее успешного внедрения. Поэтому в число аспектов среды разработки входят определение и создание обучающих и инструктивных материалов. Также передовые компании уделяют особое внимание повышению уровня профессионализма своего персонала и ориентации на внешние профессиональные организации.

    Ключевые элементы, относящиеся к подготовке:

    • Учебные программы и курсы. Они охватывают разнообразные потребности - от обучения опытных специалистов деталям среды разработки до всеобъемлющей программы переподготовки специалистов.
    • Инструктивные материалы. Применяются специалистами при консультировании менее опытных коллег.
    • Топология развертывания подготовки. Топологию развертывания необходимо принимать во внимание, например, когда подготовка специалистов организуется посредством Web-обучения. Опять же для размещения материалов необходим Web-сервер, а рабочие станции должны быть оснащены Web-браузерами. Топология развертывания может также указывать помещения и классы, необходимые для проведения аудиторного обучения.

    Еще одним аспектом среды разработки является гарантирование наличия соответствующих организационных ресурсов для ее определения, развертывания и управления. Это могут быть специалисты по конкретным аспектам среды разработки (например, методисты, узкие специалисты, инструкторы и наставники), персонал для администрирования и обслуживания среды, персонал с подходящей квалификацией в службе поддержки пользователей (help desk) компании и соответствующие сообщества практиков.

    Ключевые элементы, относящиеся к организации:

    • Определение организационных ролей и подразделений, являющихся частью среды разработки.
    • Топология развертывания организационных ресурсов, указывающая местоположение этих организационных подразделений.

    С точки зрения среды разработки инфраструктура рассматривается в понятиях аппаратного и программного обеспечения. Об этом уже говорилось ранее при рассмотрении методики, инструментальных средств, подготовки и организации. Однако есть три причины отдельно рассмотреть инфраструктуру как ключевой элемент:

    1. Во-первых, консолидация. Например, при рассмотрении потребностей инфраструктуры среды разработки в целом можно определить, что необходим лишь один Web-сервер для поддержки как Web-содержимого методики, так и web-обучения.
    2. Во-вторых, гарантирование должного учета всего дополнительного аппаратного и программного обеспечения, поддерживающего среду разработки (например, операционные системы, системы управления базами данных, аппаратные системы управления, инструментарий для тестирования при разработке устройств реального времени и встроенных устройств).
    3. В-третьих, центр обеспечения качества может потребовать развертывания инфраструктуры для поддержки работ по созданию и тестированию среды разработки до ее внедрения в какую-либо производственную инфраструктуру поддержки бизнес-проектов.

    Ключевые элементы, относящиеся к инфраструктуре:

    • Местоположение, узлы и возможность подключения.
    • Программное обеспечение (например, операционные системы, системы управления базами данных, аппаратные системы управления, инструментарий для тестирования).

    В дополнение к уже перечисленным элементам важно рассмотреть вопрос внедрения среды в организации, бизнес-подразделении или в проекте разработки.

    Ключевые элементы, относящиеся к внедрению:

    • План внедрения. Этот план определяет задачи, обычно выполняемые при внедрении среды, например, приобретение аппаратного и программного обеспечения.
    • Методики проведения организационных изменений. Они понадобятся для внедрения и встраивания среды разработки в повседневную деятельность соответствующих организационных структур.
    • Определение показателей среды. Показатели используются для измерения эффективности среды.

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

    • Функциональность представляет схему или порядок разработки программного обеспечения, обеспечиваемые средой разработки. Реализация этих требований вынуждает учитывать все упомянутые ранее элементы. Например, порядок управления требованиями (см. рисунок 3) поддерживается следующими аспектами:
      • Методика управления требованиями.
      • Инструментальные средства управления требованиями.
      • Обучение и наставничество по вопросам управления требованиями.
      • Группа поддержки, умеющая решать вопросы управления требованиями.
      • Аппаратное и программное обеспечение для поддержки элементов, связанных с управлением требованиями.
      • Соответствующее внедрение в проектах порядка управления требованиями.


    Рисунок 3. Необходимая функциональность, включающая все элементы среды разработки
    Рисунок 3. Необходимая функциональность, включающая все элементы среды разработки

    Таким же образом можно рассматривать и другие составляющие среды разработки, например, архитектуру или управление качеством. Также эту методику можно применить и к специфической деятельности, например, к итеративной разработке (являющейся основой динамичного (agile) подхода к разработке и поставке программного обеспечения), которая тоже требует рассмотрения всех элементов.

    • Свойства - это параметры, которыми должна обладать среда разработки. Они также требуют учета всех элементов среды разработки. Например, для реализации свойства масштабируемости (например, способность поддерживать различное количество одновременно работающих пользователей) используются следующие подходы:
      • Метод, который может быть настроен под размер проекта.
      • Инструментальные средства, которые могут быть настроены на поддержку конфигурируемого метода.
      • Соответствующие механизмы и уровни обучения для проектов различного размера.
      • Организационные ресурсы, обеспечивающие наличие персонала с соответствующим уровнем квалификации для поддержки ожидаемого количества проектов разработки.
      • Инфраструктура, которая может масштабироваться для поддержки ожидаемого количества одновременно работающих пользователей.
      • Соответствующие механизмы внедрения среды.
    • Ограничения, которым должна соответствовать среда разработки, тоже требуют рассмотрения всех элементов среды разработки. Например, при необходимости миграции из существующей среды может потребовать выполнения следующих действий:
      • Взять правила из существующей методики и включить их в новую.
      • Перенести рабочие продукты из устаревшего набора инструментальных средств в новый набор (либо выполнить интеграцию с имеющимися инструментальными средствами).
      • Обеспечить подготовку, адекватную текущему положению дел и должным образом организованную.
      • Предоставить персонал для обеспечения плавного перехода из исходного состояния в планируемое.
      • Определить инфраструктуру, максимально использующую существующую (например, повторно использовать, по возможности, имеющиеся аппаратуру и лицензии на программное обеспечение).
      • Предусмотреть механизмы внедрения, подтверждающие выполнение миграции.

    Еще одним важным ограничением при рассмотрении возможности изменения существующей среды разработки является, конечно, окупаемость инвестиций (Return On Investment - ROI). Чтобы такая инициатива была успешной, она, несомненно, должна обеспечить положительные результаты, соответствующие бизнес-плану. Каждый аспект среды разработки влияет на ROI как с точки зрения затрат, так и с точки зрения прибыли.

    Хотя это не показано на рисунке 2, функциональность, свойства и ограничения обычно соответствуют определенному бизнес-контексту (например, поставленным бизнес-целям). В этом смысле контекст решения также включает в себя бизнес-аспекты. Это может быть особенно важно при демонстрации прямого или косвенного участия среды разработки в достижении бизнес-целей.

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

    • Определение среды.
    • Развертывание среды.
    • Управление средой.

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

    В следующих разделах рассматривается каждый элемент среды разработки вместе с определением решения, развертыванием решения и управлением решением.

    Применительно к определению среды разработки вспомним предыдущее обсуждение ключевых элементов. Это обсуждение здесь не повторяется, хотя для полноты изложения в таблице 1 приводятся различные элементы, определенные ранее.

    Также следует отметить, что определение обычно рассматривается на организационном уровне и может потребовать локальной реализации для удовлетворения требований конкретного бизнес-подразделения или проекта при развертывании. Это отражено в последующих разделах.

    Элемент ОписаниеМетодика (Method) Роли, рабочие продукты, задачи, процессы
    Стандарты, рекомендации, инструкции и т.д.
    Топология развертывания методикиСредства (Tools) Средства разработки и интеграции
    Сценарии установки и настройки средств разработки
    Топология развертывания средств разработкиПодготовка (Enablement) Учебные программы и курсы
    Инструктивные материалы
    Топология развертывания подготовкиОрганизация (Organization) Организационные роли и подразделения
    Топология развертывания организационных ресурсовИнфраструктура (Infrastructure) Местоположение, узлы и возможность подключения
    Поддерживающее программное обеспечение (например, операционные системы)Внедрение (Adoption) План внедрения
    Методики проведения организационных изменений
    Показатели среды

    Развертывание среды разработки поднимает специфические вопросы относительно каждого элемента (см. таблицу 2).

    Элемент ОписаниеМетодика (Method) Определение локальной конфигурации
    Методика развертыванияСредства (Tools) Выполнение локальной конфигурации
    Установка инструментальных средств
    Миграция локальных данныхПодготовка (Enablement) Конфигурирование на местах
    Развертывание инструктивных материалов
    Обучение исполнителейОрганизация (Organization) Определение локальной конфигурации
    РеорганизацияИнфраструктура (Infrastructure) Определение локальной инфраструктуры
    Предоставление местоположений, узлов и возможностей подключения
    Предоставление поддерживающего программного обеспеченияВнедрение (Adoption) Формулирование локального плана внедрения
    Проверка среды

    Ключевые элементы методики:

    • Определение локальной конфигурации. При развертывании методики в бизнес-подразделении или проекте разработки может потребоваться определенная локальная конфигурация, отражающая специфичные характеристики бизнес-подразделения, проекта разработки или системы (например, путем обеспечения соответствующего уровня формальности).
    • Развертывание методики. Оно гарантирует доступность методики для специалистов.

    Ключевые элементы инструментальных средств:

    • Выполнение локальной настройки. Любая локальная настройка инструментальных средств применяется для автоматизации настройки локальной методики.
    • Установка инструментальных средств. Делает установленные средства (и интеграцию их) доступными для специалистов.
    • Миграция локальных данных. Например, может возникнуть необходимость переноса данных из существующего набора инструментальных средств в новый.

    Ключевые элементы подготовки:

    • Выполнение локальной настройки. локальной настройки. При необходимости - адаптация, уточнение или обновление учебных материалов. Можно, например, пересмотреть материалы подготовки для приведения их в соответствие с процессом, определенным для данного бизнес-подразделения или проекта разработки.
    • Развертывание материалов подготовки. Гарантирует доступ к ним исполнителей, включая доступ ко всем Web-материалам.
    • Обучение исполнителей. При обучении собираются отзывы исполнителей.

    Ключевые элементы организации:

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

    Ключевые элементы инфраструктуры:

    • Определение локальной конфигурации. Определить инфраструктуру, необходимую для конкретного бизнес-подразделения или проекта разработки.
    • Предоставление местоположения, узлов и возможности подключения. Сделать доступным все необходимое аппаратное обеспечение (в том числе все целевые платформы и эмуляторы для устройств реального времени и встроенных устройств).
    • Предоставление поддерживающего программного обеспечения. Установить все необходимое программное обеспечение, поддерживающее среду разработки (например, системы управления базами данных или средства тестирования).

    Ключевые элементы внедрения:

    • Определение плана локального внедрения. Уточнить план внедрения с учетом специфичных потребностей бизнес-подразделения или проекта разработки.
    • Проверка корректности среды. Протестировать развернутую среду и проверить ее соответствие определенным требованиям с точки зрения заданных функциональности, свойств и ограничений.

    Как показано в таблице 3, управление средой разработки после ее развертывания также имеет специфичные аспекты для каждого элемента.

    Элемент ОписаниеМетодика (Method) Сбор отзывов по методикеСредства (Tools) Резервное копирование, архивирование, восстановление данных
    Сбор отзывов по инструментальным средствамПодготовка (Enablement) Обучение специалистов
    Сбор отзывов по подготовкеОрганизация (Organization) Сбор отзывов поИнфраструктура (Infrastructure) Предоставление или изъятие инфраструктуры по необходимости
    Сбор отзывов по инфраструктуреВнедрение (Adoption) Измерение эффективности среды
    Сбор отзывов по внедрению

    Ключевые элементы методики:

    • Сбор отзывов по методике. Ключевым аспектом управления средой разработки является ее постоянное совершенствование. Поэтому сбор отзывов касается всех элементов. Отзывы обычно собираются субъективно при помощи, например, опросных листов.

    Ключевые элементы инструментальных средств:

    • Резервное копирование, архивирование, восстановление данных. Проверить, что созданные специалистами рабочие продукты управляются должным образом, и применяются приемы "хорошего администрирования".
    • Сбор отзывов по инструментальным средствам. Собрать отзывы (положительные и отрицательные) о доступности и производительности инструментальных средств.

    Ключевые элементы подготовки:

    • Обучение исполнителей. Назначить кураторов проектов, чтобы исполнители знали, как использовать среду.
    • Сбор отзывов по подготовке, т.е. по обучению или наставничеству.

    Ключевые элементы организации:

    • Сбор отзывов по организации. Исполнители выдают свои замечания о предоставляемой поддержке использования среды разработки (например, по качеству работы службы поддержки).

    Ключевые элементы инфраструктуры:

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

    Ключевые элементы внедрения:

    • Измерение эффективности среды. Это ключевой аспект успешного внедрения. Например, можно предоставить исполнителям опросный лист и попросить их оценить эффективность внедрения новых приемов работы.
    • Сбор отзывов по внедрению. Собираются отзывы по подходам к внедрению.

    Наконец, имейте в виду, что различные элементы среды разработки не являются независимыми. Альтернативное представление рисунка 2 приведено на рисунке 5, который показывает, что каждый элемент имеет взаимосвязи со всеми другими элементами.

    Вот несколько примеров зависимостей между элементами:

    • Методика (методика) ссылается на доступные обучающие курсы (подготовка).
    • Инструментальные средства (средства) автоматизируют задачи (методика).
    • Административные роли (организация) определены для поддержки инструментальных средств (средства).
    • Серверы (инфраструктура) предоставлены для размещения набора инструментальных средств (средства).
    • Внедрение приемов работы (внедрение) оценивается с использованием определенного подхода (методика).

    Данная статья дополняет статью Усиление роли архитектора среды разработки (EN), опубликованную этим же автором в The Rational Edge в 2008 году. В ней детально рассматриваются ключевые элементы среды разработки, а также выделяются различные аспекты определения, развертывания и управления этой средой. Она предоставляет простую инфраструктуру, гарантирующую учет всех этих аспектов при планировании действий по улучшению имеющейся среды, определении требований к среде, определении архитектуры, оценке среды и т.д.


    Просмотров: 206 | Добавил: fortanted | Рейтинг: 0.0/0
    Всего комментариев: 0