Грачев Антон Гаврилов Евгений luxoft
DESCRIPTION
Опыт создания и внедрения интегрированной системы автоматизации процессов разработки программного обеспечения. Грачев Антон Гаврилов Евгений LUXOFT. Проблемы автоматизации процессов разработки ПО. - PowerPoint PPT PresentationTRANSCRIPT
Опыт создания и внедрения интегрированной Опыт создания и внедрения интегрированной системы автоматизации процессов системы автоматизации процессов
разработки программного обеспеченияразработки программного обеспечения
Грачев Антон Грачев Антон
Гаврилов ЕвгенийГаврилов Евгений
LUXOFTLUXOFT
Проблемы автоматизации процессов Проблемы автоматизации процессов разработки ПОразработки ПО
Сложность быстрого получения информации о различных данных в проекте и ее сопоставления в едином визуальном «интерфейсе»
Проблемы распределенной разработки ПО Увеличение количества инструментов под разные
методологии разработки
Начало путиНачало пути
Цели разработки интегрированной системы:
Комплексная поддержка жизненного цикла разработки программного обеспечения (от сбора требований до поддержки);
Поддержка распределенной разработки ПО Поддержка различных систем разработки ПО
(возможности их взаимной интеграции) Единый визуальный интерфейс
Опыт Опыт LUXOFTLUXOFT
LUXOFT начал разрабатывать интегрированную систему под названием «LUXProject» с 2006 г.
К настоящему моменту LUXProject, это:1. Поддержка проектов основанных на различных
методологиях («классические» (RUP-like) процессы, Agile)2. Web-доступ из любой точки мира3. Возможность ролевого доступа в систему (включая доступ
Заказчику проекта)4. Возможность быстрой кастомизации функционала
Компоненты Компоненты LUXProjectLUXProject
JIRA engineManagement ofRequirements
Task, Resource, Time,Risk, Issue, DefectsCustom Workflows
CentralAdministration
/Security/OpenLDAP
RFP/RFI ResponseSubsystem
Software Engineering Processes / LUXproject event-driven workflow engine
Reporting,Metrics,History,
Statistics
Source Code Repository
Versioning, releases,Peer review.
Subversion, CVS, etc
Process Improvement
- metrics- statistic
Continues Integration
/ Build /Server
CrouseControl
WebDAV File ManagementApache Slide
Web Access to Source Code
ViewCVS/FishEye
ConfluenceWiki engine
Knowledge BaseText Search
Document VersioningMail Indexing ServiceDocument Templates
Discussion Forum
Auto alerts and notifications / LUXproject event-driven core
Indexing and Search ServiceApache Lucene
IM Server/Jabber/Wildfire
Java Standard Edition 5.0
Web Container Apache Tomcat
Client project manager
Client development team
Subcontractors teams
Only ONE (!) System Administrator
$$
Project Stakeholder
SOAP
RMI/IIOP
JMX Management
Event Queue
LDAP
Single SignOn
Java-COMBridge
MS Project / to LUXproject initial
project setup /
MS ExcelTimesheet, Reports
MS WordDocuments
MS OutlookCalendar, Tasks
XML-RSS
Adobe AcrobatDocuments, Reports
Calendar andPlanning
iCalendar std.
XMPP/Jabber
ICQ/Miranda/GoogleTalkIM Messaging
Client Quality Assurance
Client Analyst
Our project manager
Our development team
Our Quality Assurance
Our AnalystSubcontractors teams
Implemented
In progress, the closest release
Future releases
LUXProjectLUXProject
Функционал LUXProject для проектов использующих «классические» процессы (в т.ч.
поддержка CMMI модели) Управление задачами; Управление рисками; Формирование отчетности; Управление требованиями; Управление изменениями; Управление сборкой; Управление тестированием (включает управление test cases и
дефектами); Управление качеством (процессные аудиты и анализ статистических
данных); Управление конфигурацией; Управление коммуникациями (возможность вести базу знаний);
LUXProjectLUXProject
Функционал LUXProject для проектов использующих Agile-практиках
Управление задачами (в части - ведение бэклога продукта, управление релизами, ведение бэклога итерации, персональный план работ);
Управление рисками; Управление дефектами; Управление коммуникациями (Scrum and retrospective meetings); Управление конфигурацией;
Интеграция интерфейсов пользователяИнтеграция интерфейсов пользователя
Задачи: Единая точка входа Общая навигация (header, footer) Единый стиль
Проблемы Разные идеологии UI Конфликты терминологии
ConfluenceConfluence JIRAJIRA FishEye FishEye ……
Интеграция интерфейсов пользователяИнтеграция интерфейсов пользователя: : решениерешение
LUXprojectLUXproject
Функциональная интеграцияФункциональная интеграция
Административные функции создание проектов, пользователей
Процессные функции Мониторинг активностей (Timeline) создание кросскомпонентных сущностей
Агрегация данных в Dashboards Отображение JIRA items, commits на Wiki-
страницах
Функциональная интеграцияФункциональная интеграция: : решениерешение
Единый язык доменной модели (не зависящий от языка компонентов)
Использование механизма событий (Publish/Subscribe) – независимость ядра системы от компонент
Потенциальная взаимозаменяемость компонент Простой upgrade компонент на новые версии Распределенная модель взаимодействия
компонент
Внедрение Внедрение LUXprojectLUXproject
Схемы внедрения:Установка с «нуля» Компания хочет получить новый опыт и прогрессивные
практики В компании не используются аналогичные системы
Установка с последующей кастомизацией функционала системы и миграцией данных.
Компания считает что процессы в компании «зрелые» или уникальные
Компания использует аналогичные «tracking» системы (например JIRA, ClearQuest, Bugzilla) и хочет сохранить исторические данные.
Внедрение Внедрение LUXprojectLUXproject
Процессный шаблон - это совокупность настроек функциональных
модулей системы, под конкретную методологию разработки. Выбор
конкретной методологии разработки при открытии проекта
Кастомизация проекта в процессе проекта
Возможность сохранить кастомизированный шаблон и использовать его в дальнейшем