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