integrating open source software environments into software development process

24
1/24 Integrating Open Source Software Environments into Software Development Process Интеграция Open-Source систем для процесса разработки ПО Стас Фомин

Upload: stas-fomin

Post on 24-May-2015

846 views

Category:

Technology


3 download

DESCRIPTION

Интеграция Open-Source систем для процесса разработки ПО

TRANSCRIPT

Page 1: Integrating  Open Source Software Environments  into Software Development Process

1/24

Integrating Open Source Software Environments into Software Development Process

Интеграция Open-Source систем для процесса разработки ПО

Стас Фомин

Page 2: Integrating  Open Source Software Environments  into Software Development Process

2/24

Проблемы общие для отрасли● управление изменениями

change management● конфигурационное управление

Software Configuration Management ● проектное управление и коммуникации

project management and workflows ● регистрация ошибок и проблем

defect and issue tracking● управление знаниями

knowledge management

Page 3: Integrating  Open Source Software Environments  into Software Development Process

3/24

Решений много. Возможно слишком. Что выбрать? Что из этого важно? Что неважно?Сколько обьектов, ролей, функций, процессов, обязательных практик...

Согласятся ли коллеги?Слишком сильная декомпозиция,все зарегулировано....

А может придумать своё? YAUP?Yet Another Unified Process?

Как это автоматизировать?Обойтись маркерной доской и стикерами?Купить единую систему учета всего? Или обойтись офисными документами и таблицами?

Page 4: Integrating  Open Source Software Environments  into Software Development Process

4/24

Никто не любит бюрократию

➢ Никто не любит заполнять отчеты➢ Программисты — особенно➢ Сильные программисты — еще сильней

...и да, у нас  — сильные программисты...

dilbertru.blogspot.com

Page 5: Integrating  Open Source Software Environments  into Software Development Process

5/24

Денег жалко. Их даже может не хватать. Особенно молодым, небольшим, и развивающимся командам.

Польза от софта неочевидна, по сравнению с железом, жилплощадью, одеждой, едой...

Page 6: Integrating  Open Source Software Environments  into Software Development Process

6/24

Page 7: Integrating  Open Source Software Environments  into Software Development Process

7/24

Обьекты управления: наш взгляд

ПроблемыОшибкиЗапросы

Ошибки в коде

Ошибки у заказчика

Запросы на доработкуТребования

Что значит ошибка 0x800ea?

Задачи

ЗнанияРегламентыТехнологии

Инструкции

Документация

Артефакты

Программный код

СборкиДистрибутивы

Бинарные ресурсы Кому положена оплата за телефон?Где лежит сахар и ключи от офиса?

Что такое M4?Как верстать в LaTeX?

Постановки задач

Page 8: Integrating  Open Source Software Environments  into Software Development Process

8/24

Эволюционный open-source минимализм ● 1998—2001:

– CVS, – SGML Docbook,

XML/XHTML, – Email

● 2002: + Bugzilla: управление проблемами

● 2004: + Mediawiki: управление знаниями

● 2005: + Bonsai: Древо Кода

● 2007: + Subversion: Система контроля версий

Page 9: Integrating  Open Source Software Environments  into Software Development Process

9/24

Минимальное Покрытие Проблем Решениями

Проблемы

ЗнанияАртефакты

Page 10: Integrating  Open Source Software Environments  into Software Development Process

10/24

Bugzilla: управление проблемами● разработка «The Mozilla Organization»● система учета/контроля/регистрации● ошибок/инцидентов/требований/идей/дел/задач

Баг («Bug»): задание, запрос, рекламация, или просто сообщение, требующее обратной связи.

Назначение: регистрация и предоставление интересантам целостной информации о багах.

Интерфейсы: редактирования, запроса и поиска, почтовое и RSS-оповещение.

Page 11: Integrating  Open Source Software Environments  into Software Development Process

11/24

Bugzilla: управление проблемами

Интерфейс не очень sexyГибкость и адаптивность

не заложена

ОбщеизвестнаРазвитая система правМассовые правки

Page 12: Integrating  Open Source Software Environments  into Software Development Process

12/24

Анатомия Бага

Page 13: Integrating  Open Source Software Environments  into Software Development Process

13/24

Анатомия Бага: Роли

Инициатор/Reporter

Контроллер/QA

Ответственный/Assignee

Наблюдатели/СС

Page 14: Integrating  Open Source Software Environments  into Software Development Process

14/24

Анатомия БагаСостояние: Status/Resolution

Platform, OS, Votes

Приоритет/ВажностьPriority, Severity, Deadline

Текст: Summary, Comments, Whiteboard

Тэги: Keywords, Flags

Где и когда: Version, Target Milestone

URL, Attachments, Hours Estimated/Worked...

Структура:ClassificationProductComponent

Page 15: Integrating  Open Source Software Environments  into Software Development Process

15/24

Представление: списки, OLAP-срезы, графы

Page 16: Integrating  Open Source Software Environments  into Software Development Process

16/24

Журналы работ. Протоколы решения задач.

Email/RSS-оповещение

Page 17: Integrating  Open Source Software Environments  into Software Development Process

17/24

Анализ локальных OLAP-кубов по Bugzilla

Page 18: Integrating  Open Source Software Environments  into Software Development Process

18/24

Вики: Корпоративная CMS

Page 19: Integrating  Open Source Software Environments  into Software Development Process

19/24

Каждому заказчику по MediaWiki. Нам не жалко!

Докрутка: система репликации статей между Виками.

Page 20: Integrating  Open Source Software Environments  into Software Development Process

20/24

Mediawiki: Наши «Докрутки»

А также:ГолосованияМассовое редактированиеПодпискиРепликациюЭкспорт в офисные документы

и др.

Page 21: Integrating  Open Source Software Environments  into Software Development Process

21/24

Bonsai: Древо Кода

Page 22: Integrating  Open Source Software Environments  into Software Development Process

22/24

Альтернативы? — Пожалуйста!Open-source комплекты (трекер+вики+SCM):● Trac: http://trac.edgewall.org/● Redmine: http://www.redmine.org/● CVSTrac: http://cvstrac.org/● RoundUp: http://roundup.sourceforge.net/Аналоги по отдельности — не перечислить за час.«Нановариант» для «микрокоманд»

(распределенные команды из 2-3х человек):

Google Docs+Google Spreadsheets + Google Code/Freepository

Да,мы знаем про Jira. Да, она очень хорошая.

Page 23: Integrating  Open Source Software Environments  into Software Development Process

23/24

Page 24: Integrating  Open Source Software Environments  into Software Development Process

24/24

Стас Фомин на вопросы — отвечаю

[email protected]@

custis.ru

[email protected]

[email protected]

[email protected]

[email protected]://www.custis.ru