Грачев Антон Гаврилов Евгений luxoft

16
Опыт создания и внедрения интегрированной Опыт создания и внедрения интегрированной системы автоматизации процессов разработки системы автоматизации процессов разработки программного обеспечения программного обеспечения Грачев Антон Грачев Антон Гаврилов Евгений Гаврилов Евгений LUXOFT LUXOFT

Upload: jane-ashley

Post on 02-Jan-2016

74 views

Category:

Documents


9 download

DESCRIPTION

Опыт создания и внедрения интегрированной системы автоматизации процессов разработки программного обеспечения. Грачев Антон Гаврилов Евгений LUXOFT. Проблемы автоматизации процессов разработки ПО. - PowerPoint PPT Presentation

TRANSCRIPT

Опыт создания и внедрения интегрированной Опыт создания и внедрения интегрированной системы автоматизации процессов системы автоматизации процессов

разработки программного обеспеченияразработки программного обеспечения

Грачев Антон Грачев Антон

Гаврилов ЕвгенийГаврилов Евгений

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 и

дефектами); Управление качеством (процессные аудиты и анализ статистических

данных); Управление конфигурацией; Управление коммуникациями (возможность вести базу знаний);

LUXproject

Пример функционального модуля “Risks”

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

Процессный шаблон - это совокупность настроек функциональных

модулей системы, под конкретную методологию разработки. Выбор

конкретной методологии разработки при открытии проекта

Кастомизация проекта в процессе проекта

Возможность сохранить кастомизированный шаблон и использовать его в дальнейшем

Внедрение Внедрение LUXprojectLUXproject

Пример процессного шаблона –

“Agile”.

LUXProject

Вопросы?