Опыт создания и внедрения интегрированной системы автоматизации процессов разработки программного обеспечения Грачев Антон Гаврилов Евгений LUXOFT
Проблемы автоматизации процессов разработки ПО Сложность быстрого получения информации о различных данных в проекте и ее сопоставления в едином визуальном «интерфейсе» Проблемы распределенной разработки ПО Увеличение количества инструментов под разные методологии разработки
Начало пути Цели разработки интегрированной системы: Комплексная поддержка жизненного цикла разработки программного обеспечения (от сбора требований до поддержки); Поддержка распределенной разработки ПО Поддержка различных систем разработки ПО (возможности их взаимной интеграции) Единый визуальный интерфейс
Опыт LUXOFT LUXOFT начал разрабатывать интегрированную систему под названием «LUXProject» с 2006 г. К настоящему моменту LUXProject, это: 1.Поддержка проектов основанных на различных методологиях («классические» (RUP-like) процессы, Agile) 2.Web-доступ из любой точки мира 3.Возможность ролевого доступа в систему (включая доступ Заказчику проекта) 4.Возможность быстрой кастомизации функционала
Компоненты LUXProject
LUXProject Функционал LUXProject для проектов использующих «классические» процессы (в т.ч. поддержка CMMI модели) Управление задачами; Управление рисками; Формирование отчетности; Управление требованиями; Управление изменениями; Управление сборкой; Управление тестированием (включает управление test cases и дефектами); Управление качеством (процессные аудиты и анализ статистических данных); Управление конфигурацией; Управление коммуникациями (возможность вести базу знаний);
LUXproject Пример функционального модуля Risks
LUXProject Функционал LUXProject для проектов использующих Agile-практиках Управление задачами (в части - ведение бэклога продукта, управление релизами, ведение бэклога итерации, персональный план работ); Управление рисками; Управление дефектами; Управление коммуникациями (Scrum and retrospective meetings); Управление конфигурацией;
Интеграция интерфейсов пользователя Задачи: Единая точка входа Общая навигация (header, footer) Единый стиль Проблемы Разные идеологии UI Конфликты терминологии
Confluence JIRA JIRA FishEye … FishEye … Интеграция интерфейсов пользователя: решение LUXproject
Функциональная интеграция Административные функции создание проектов, пользователей Процессные функции Мониторинг активностей (Timeline) создание кросскомпонентных сущностей Агрегация данных в Dashboards Отображение JIRA items, commits на Wiki-страницах
Функциональная интеграция: решение Единый язык доменной модели (не зависящий от языка компонентов) Использование механизма событий (Publish/Subscribe) – независимость ядра системы от компонент Потенциальная взаимозаменяемость компонент Простой upgrade компонент на новые версии Распределенная модель взаимодействия компонент
Внедрение LUXproject Схемы внедрения: Установка с «нуля» Компания хочет получить новый опыт и прогрессивные практики В компании не используются аналогичные системы Установка с последующей кастомизацией функционала системы и миграцией данных. Компания считает что процессы в компании «зрелые» или уникальные Компания использует аналогичные «tracking» системы (например JIRA, ClearQuest, Bugzilla) и хочет сохранить исторические данные.
Внедрение LUXproject Процессный шаблон - это совокупность настроек функциональных модулей системы, под конкретную методологию разработки. Выбор конкретной методологии разработки при открытии проекта Кастомизация проекта в процессе проекта Возможность сохранить кастомизированный шаблон и использовать его в дальнейшем
Внедрение LUXproject Пример процессного шаблона – Agile.
LUXProject Вопросы?