Управление конфигурациями и изменениями с использованием IBM Rational ClearCase и Clear Quest Новичков Александр www.cmcons.com [email protected] Rational Unified Process Процессы и стадии жизненного цикла СТАДИИ Обследование Технический проект Рабочий проект Передача в эксплуатацию ПРОЦЕССЫ Моделирование деятельности организации Управление требованиями Анализ и проектирование Реализация Тестирование Ввод в действие Конфигурационное управление и управление изменениями Управление проектом Поддержка среды разработки №0 №1 №2 №n № n+1 Итерации № n+2 № m № m+1 Интегрированное управление конфигурацией Учтено Bugли Add требование 462 в 527 promotion этом релизе? calculation Аналитики Конечно, я не забыл тот файл... Bug 849 Сколько ошибок высшего New customer приоритета transaction осталось? New platform New GUI Bug 98 button New web Bug design Bug 179251 Bug 348 Руководитель Почему произошел сбой при сборке? Исправлена ли ошибка 873 в этой версии? Build 3 Build 2 Разработчики Интегратор Build 1 Тестировщики Обзор ClearCase – ключ к созданию автоматизированных систем качества производства ПО VERSION CONTROL FOO BAR BULD MANAGEMENT Release 4.0 WORKSPACE MANAGEMENT Repot Alert PROCESS CONTROL Цели конфигурационного управления • Разработка ПО версиями и релизами – снижение рисков • Обеспечение существенного снижение уровня ошибок за счет контроля модификаций артефактов (документов проекта) • Обеспечение идентификации, учета и контроля состояния всех артефактов проекта • Обеспечение коллективной работы при проектировании сложного ПО, в том числе распределенными группами разработчиков Конфигурационное управление позволяет • • • • • • • • Знать, какие требования вошли в новый релиз Знать все артефакты, исправленные и сохраненные в общем репозитории Быстро определять, что изменилось в новой версии Быстро отменить изменения, которые вывели из строя web-сайт В любой момент определить состояние проекта Точно знать, чем отличаются HTML два релиза Documents Точно знать, что тестировать Images Точно предсказать окончание Code проекта Scripts VOB • Прямой доступ к элементам • • • • VOB Виртуальная файловая система Всегда отражает текущее состояние Минимальное копирование данных checkout Обеспечивает аудит сборки foo.c test.txt Local Storage scr bar.c src foo.c foo.c foo.h foo.h bar.c Virtual Namespace test.txt Интеграционные и private ветви • Интеграционная ветвь служит для хранения общих изменений участников проекта • Private ветвь может создаваться и использоваться одним разработчиком для изоляции своих разработок внутри проекта – Позволяет большую hello.c гибкость, чем общая работа \main на одной интегрированной ветви – Позволяет лучше координировать работы среди членов команды – По окончанию работы в собственной ветви, результаты передаются в интеграционную ветвь \main _pvt \rel3 _enhance Integration branch Private branch Использование ClearCase Explorer • ClearCase Explorer указывает, является ли файл элементом VOB или View-private файлом Интеграция с Windows Explorer • • Много операций ClearCase могут быть выполнены непосредственно из Windows Explorer. Context Sensitive меню – Зависит от типа выбранного объекта ClearCase – Всплывает (становится доступным) посредством нажатия на правую кнопку мыши на выбранном объекте. Преимущества • Сокращение времени на решение проблем с инсталляцией отдельных компонент ПО • Сокращение затрат на переделку ПО (как при разработке так и при сопровождении) • Сокращение затрат на диагностику сделанных изменений • Повышение качества процессов разработки и сопровождения • Улучшение взаимодействия с тестировщиками, постановщиками требований • Поддержка регионально удаленных команд разработчиков • Улучшение контроля над деятельностью разработчиков • Улучшение планирования Преимущества • Сокращение времени настройки рабочего пространства разработчика • Экономия времени за счет использования базовых версий и релизов • Сокращение времени разработки за счет ветвлений и слияний • Не тратится время на интеграцию рабочего пространства с новой базовой версией • Использование утилит автоматизации сборки сокращает время на сборку отдельных модулей или ПО в целом • Сокращение времени на обновление и синхронизацию рабочих материалов географически распределенных команд • Сокращение трудозатрат на решение проблем, связанных с неодинаковой работой ПО, полученных в результате разных сборок • Управление изменениями Цели управления изменениями • Учет состояния проекта с точностью до любого компонента ПО • Получение отчетности о ходе проекта • Выдача заданий • Контроль исполнения заданий • Накопление метрик проектов • Ведение истории изменений • Ведение реальной статистики занятости разработчиков Процесс управления запросами на изменения Сбор запросов Хранение запросов в базе данных Анализ запросов Принятие решения Контроль выполнения Закрытие При этом обеспечивается: Распределение ответственности между участниками процесса Контроль доступа Многопользовательский режим работы Возможность доступа в систему с удаленных рабочих мест, на различных платформах, через Интернет Процесс управления изменениями • Контролируемая обработка запросов (поручения, отчеты о выполнении, ошибки…) в соответствии с заранее определенным процессом • Работа с различными типами запросов • Настраиваемый набор атрибутов и состояний запросов на изменения • Формирование отчетов произвольного образца • Создание разнообразных графиков (текущее состояние, статистика, тенденции) • Автоматическое уведомление исполнителей о ходе обработки запросов по электронной почте • Контроль и внесение изменений через Интернет • Широкие возможности по адаптации • Инструмент поддержки процесса управления изменениями – IBM Rational ClearQuest Примеры схем прохождения запроса на изменение начало внести дефект( ИЗ ) Представлен Обозначение: РП - руководитель проекта Р - разработчик Т - тестировщик ИЗ - инициатор запроса назначить( РП ) Назначен принять( Р ) отказаться( Р ) Открыт реалировать( Р ) закрыть( РП ) Реализован тестировать( Т ) Протестирован закрыть( РП ) Закрыт конец вернуть( Т ) Управление изменениями Статистика по запросам на изменение Текущие отчеты позволяют определять состояние проекта Мастера быстро создают отчеты и графики Можно работать в Windows и/или Webинтерфейсе Статистика по запросам на изменение Сбор и визуализация проектных метрик Преимущества • Четкое представление того кто и чем занимается в проекте • Полное документирование дефектов • Планирование деятельности каждого разработчика • Удобное взаимодействие между саппортом, тестировщиками и разработчиками • Неразрывная связь с требованиями • Графическое представление метрик проекта ClearCase+ClearQuest Результаты выполнения задания Изменения (версии) Задания Участники проекта: заказчики, интеграторы, разработчики Представления (View) Управление заданиями (Change Request Management) Clear Quest Результаты (Версионный контроль) Clear Case Выводы • Поддержка параллельной разработки • Разметка всех материалов проекта на определенный момент времени и фиксация их в виде версии/релиза системы • Точное определение исходных данных для собранного исполняемого файла IBM Rational ClearCase • Обеспечение синхронизации данных географически удаленных рабочих групп IBM Rational ClearCase MultiSite • Автоматизация выборки рабочих материалов в зависимости от ролевой функции • Учет изменений, реализованных в версиях и релизах ИС • Привязка сделанных изменений к заданиям IBM Rational ClearCase + ClearQuest • Системы, разработанные на основе средств IBM Rational ClearCase и ClearQuest Системы, разработанные на основе IBM Rational ClearQuest • Классические системы дефект-трекинга (документирование дефектов) • Управление выдачей заданий и поручений для регионально удаленных команд (ЦБ РФ) • Система управления ИТ-проектами для большого количества подрядчиков удаленных регионально (ЮКОС) • Системы сопровождения • Системы управления тренингами и семинарами • Система управления заданиями на разработку компьютерных игр Система управления выдачей заданий и поручений для регионально удаленных команд (ЦБ РФ) Особенности реализации • Для организации взаимодействия участников различных функциональных групп используются следующие типы запросов, обеспечивающих взаимодействие «сверху вниз» и «снизу вверх»: – – – – • • задание («сверху вниз») поручение («сверху вниз») запрос на исправление («снизу вверх») запрос на расширение («снизу вверх») На базе имеющихся типов запросов возможно создавать новые. При прохождении запросов все участники, вовлеченные в работу будут получать уведомления по электронной почте при смене статуса запроса Типы запросов на изменения «сверху вниз» ГМиАСП Задание Функциональная группа Поручение Исполнитель Поручение Исполнитель Задание Функциональная группа Поручение Исполнитель Поручение Исполнитель Задание Функциональная группа Поручение Исполнитель Поручение Исполнитель Типы запросов на изменения «снизу вверх» ГМиАСП Запрос на расширение Функциональная группа Запрос на исправление Функциональная группа Функциональная группа Запрос на исправление Запрос на расширение Запрос на исправление Поручение Автор запроса Автор запроса Исполнитель Автор запроса «Задание» ГМиАСП Руководитель функциональной группы Рецензент Выдать Выдано Повторно выдать Отклонить Отклонено Закрыть Открыть Отклонить Открыто Повторно выдать Выполнить Закрыт Закрыть Выполнено Отрецензировать Запросить рецензию Рецензируется «Запрос» Автор запроса Руководитель функциональной группы Внести Аналитик Внесен ГМиАСП Эскалировать Завершить анализ Выдать поручение Направить на анализ Эскалирован Поручен Закрыть Закрыть Закрыт Анализируется Закрыть Представление «Задания» Вид списка Заданий Детали Задания через WEB Система управления ИТ-проектами для большого количества подрядчиков удаленных регионально (ЮКОС) Особенности реализации • Система реализована на основе НМО • Система является распределенной • Система управляет фактической информацией по проекту • Система поддерживает проектнопрограммное управление • Система позволяет выпускать документы установленного формата Состав и структура НМО НМО Основные положения по управлению проектом Регламенты Регламент деятельности по управлению Проектом Положения Система классификации Положение о Проектномофисе Классификатор ИТ-проектов Положение о Кураторе Проекта Программа стандартизации по ИТ -проектам Положение о Главном инженере Проекта Методики Методические указания по управлению Проектом Система Шаблонов Бизнес -план Проекта ПаспортПроекта Запрос на изменение в Проекте Техническое задание Положение о Директоре Проекта План выполнения Проекта Должностная инструкция “Администратор Проекта ” Отчет о ходе выполнения Проекта Отчет о завершении Проекта Протокол комиссии по приемке результатов работ по Проекту Акт сдачи -приемки работ Цель создания Системы • Целью создания Системы является совершенствование управления Программами работ и Проектами в области информационных технологий Задачи автоматизированной системы, обеспечивающие достижение цели работы • Сбор и хранение статистической информации о ходе выполнения Программ работ и отдельных Проектов • Создание подсистемы аналитической обработки статистической информации для поддержки принятия решений в ходе управления Программой работ и отдельным Проектом Распределенное управление ИТ-проектами Заказчик Подрядчики и исполнители Репозиторий БД входных форм БД Поручений и запросов на изменения Документы Шаблоны документов Аналитические отчеты Плановая и фактическая инф. Отчеты о ходе Скрипты Отличительные характеристики Системы • Система формирует и классифицирует поступающую информацию: – – – – – – Типовые риски (портфель рисков) Типовые способы преодоления рисков Типовые статьи платежей Типовые замечания по ведению Проектов Типовые замечания по документам Проектов Типовые решения по устранению замечаний • Система позволяет выделить типовую информацию • Система хранит все связи между выделенными типовыми объектами • Система взаимодействует с существующими средствами планирования Ведение плановой информации в MS Project Система поддерживающая НМО - ClearQuest Формализация выдачи поручений, отчетов, протоколов и постановлений Запрос на изменение (отклонение по срокам или целям) Накопление портфеля Рисков Сбор и публикация проектной документации Документы по Программам работ/Проектам Программы работ Проекты •Сбор •Хранение •Автоматизированный выпуск документов Отчеты по Программам работ/Проектам Мультиформатная публикация документов и отчетов • Формат представления отчетов: – – – – – – MS Word MS Excel Crystal Reports HTML или XML (статика) XML Dashboard (динамика) Текстовый, произвольный Формирование документов из репозитория в соответствии с шаблонами MS Word - SoDA Формирование аналитических отчетов и статистических сводок Сбор и визуализация проектных метрик – Project Console Автоматизированная Система управления ИТпроектами обеспечивает • Поддержку формирования портфеля проектов и программ работ • Оценку сложности и расчет трудоемкости и длительности программных проектов • Ведение управленческого учета и формирование отчетности • Возможность оперативного и достоверного контроля за ходом исполнения ИТ - программ и проектов с использованием средств IBM Rational и Microsoft • Инфраструктуру управления проектными работами • Гибкую настройку (адаптацию) и удобное сопровождение • Удаленный доступ к проектной информации • Оповещение ответственных через электронную почту о событиях Отличительные характеристики IBM Rational ClearQuest • Встроенные возможности расширения и доработки (гибкая настройка и адаптация) • Мультиплатформенность • Независимость от используемой СУБД • Возможность сопряжения с любыми средствами управления (имеющимися Системами) • Удаленный доступ для работы и контроля • Невысокая стоимость поддержки • Мгновенный перевод всех Клиентских мест на новую версию Системы • Внедрение технологии или разговор о внедрении Rational IBM между заказчиком и консультантом Зачем внедрять RUP? Зачем мне нужно внедрять RUP? О. Разумеется, чтобы получать большую прибыль от проектов И как вы это себе представляете? О. В программировании трудно сэкономить на оборудовании, потреблении электроэнергии и т.п. Основной источник экономии – повышение производительности разработки ПО и снижение трудоемкости процессов сопровождения. В. И за счет чего вы предполагаете этого добиться? Мои программисты и так уже 10 часов в день программируют. Если они будут работать больше, то ни о каком качестве уже нельзя будут говорить. – О. За счет применения наиболее эффективных методов в процессе разработки и за счет повышения качества продукта, позволяющего снизить затраты на сопровождение (и обеспечить достаточный спрос на тиражируемый продукт или достаточное количество желающих заказать именно у вас разовую разработку). Зачем внедрять RUP? • В. Как можно убедиться, что внедрение RUP принесло положительный эффект? – О. Достаточно сравнить затраты на разработку продукта и его последующее сопровождение до и после внедрения RUP. • В. И каков же может быть эффект? – О. По оценкам экспертов снижение трудоемкости может достигать 30%. Например, «В прошедшем году фирма «Кворум» завершила начавшееся в 2000 г. внедрение технологии Rational Unified Process (RUP), разработанной фирмой Rational Software. Внедрение технологии RUP позволило уменьшить в среднем на 30% сроки постановки задач на разработку ПО.» – Падение производительности в 1-ом проекте – 20%. – Прирост производительности (относительно исходного уровня) во втором проекте – 30%. – При таком соотношении стоимости наставника и разработчика использование наставника окупается уже во втором проекте (который выполняется без наставника). При этом о затратах на покупку инструментария говорится как о мелочи, которую и учитывать-то не стоит, чтобы с этими копейками не возиться. Зачем внедрять RUP? – Использование RUP с достаточно высоким уровнем формализации процесса также может помочь компанииразработчику выполнять требования сертификации CMM. Поскольку RUP представляет собой хорошо документированный процесс, внедрение RUP поможет вам достигнуть уровней 2 и 3 СММ. В еще большей степени RUP может помочь при внедрении CMMI, поскольку CMMI в большей степени соответствует современному итерационному подходу к разработке ПС. – С другой стороны, при использовании RUP в небольших коллективах для разработки не слишком важных ПС можно выбрать достаточно низкий уровень формализации, который не будет тормозить разработку необходимостью формирования и тщательного оформления многих артефактов, не оказывающих реального влияния на качество проектирования и реализации ПС. Сapability Мaturity Мodel Process Level CMM 2 3 4 5 Requirements Management + + + + Software Project Planning + + + + Software Project Tracking and Oversight + + + + Software Subcontract Management + + + + Software Quality Assurance + + + + Software Configuration Management + + + + Organization Process Focus + + + Organization Process Definition + + + Training Program + + + Integrated Software Management + + + Software Product Engineering + + + Peer Reviews + + + Quantitative Process Management + + Software Quality Management + + Defect Prevention + Technology Change Management + Process Change Management + Кто использует Rational в России и СНГ • Телекомуникация и связь: Протэк, Ростелеком, Вымпелком, CBOSS, Телесофт-Россия, МГТС, Терралинк, Телесенс (Украина), Казахтелеком, • Банки и финансы: ЦБ РФ (12 учреждений), СБ РФ, ММВБ, Газпромбанк, Национальный банк Республики Беларусь, Дельта-Банк, Парекс-Банк • Энергетика: СКЦ Минатома, РАО ЕЭС, Ваньеганнефть, УдмуртНефть • Машиностроение: Челябинский Тракторный Завод, НПО им. Африкантова, НПО «Импульс», ЗАО «Технор», ОКБ Сухого • Металлургия: Магнитогорский металлургический комбинат, Северсталь • Транспорт: Морское пароходство (Мурманск) • Информационные технологии: 1С, IBS, IBA, Люксофт, АйТи Аплана, BGS Smartcard Systems, Эльбрус-МЦСТ, Инсофт, Пилот, Info-1, ABC, STAR (СпБ) Кто использует Rational в России и СНГ • Государственные учреждения: МНС (ГНИВЦ, УМНС), Московский земельный комитет, Государственный таможенный комитет РФ • Наука и образование: МГУ, Институт системного программирования РАН, Петербургский государственный университет путей сообщения, Федеральный институт промышленной собственности, Восточно-сибирский государственный университет, Курчатовский институт • Зарубежные компании в России: Мotorola, Intel, Siemens, Samsung, Ericsson, Philip Morris Кто прослушал данный курс? • Моторола, Сименс, IBS, КазахТелеком, Петер-Сервис, УдмуртНефть, ЛукойлИнформ, Сибинтек, Профикс, Гостиничный и Ресторанные Системы, Диасофт, Курчатовский институт, СБ РФ, ЦБ РФ, Нейрок, Эрикссон, RT-Soft, Красноярский Алюминиевый Завод, Центробанк республики Белорусь, Лаборатория Касперского, Челябинский Тракторный Завод, Банковские Информационные Системы, Протекшен Технолоджи, Пилот, ОКБ Сухого, и другие Спасибо за внимание ! [email protected] http://www.cmcons.com