Практика распределенной разработки в Open-Source проектах.

Содержание

Слайд 2

Инструментарий


Инструментарий

Слайд 3

Управление кодом

Репозиторий:
Subversion (на начальных стадиях CVS) http://subversion.tigris.org/

Управление кодом Репозиторий: Subversion (на начальных стадиях CVS) http://subversion.tigris.org/

Слайд 4

Управление кодом

Репозиторий:
Subversion (на начальных стадиях CVS) http://subversion.tigris.org/
Отслеживание изменений, Web интерфейс к репозиторию:
FishEye

Управление кодом Репозиторий: Subversion (на начальных стадиях CVS) http://subversion.tigris.org/ Отслеживание изменений, Web
(Atlassian) http://www.atlassian.com/software/fisheye/

Слайд 5

FishEye notifications

FishEye notifications

Слайд 6

FishEye notifications

FishEye notifications

Слайд 7

FishEye code browser

FishEye code browser

Слайд 8

Управление задачами

JIRA issue tracker
(Atlassian, http://www.atlassian.com/software/jira/)
Bug tracker

Управление задачами JIRA issue tracker (Atlassian, http://www.atlassian.com/software/jira/) Bug tracker

Слайд 9

Управление задачами

JIRA issue tracker
(Atlassian, http://www.atlassian.com/software/jira/)
Bug tracker
Feature request tracker

Управление задачами JIRA issue tracker (Atlassian, http://www.atlassian.com/software/jira/) Bug tracker Feature request tracker

Слайд 10

Управление задачами

JIRA issue tracker
(Atlassian, http://www.atlassian.com/software/jira/)
Bug tracker
Feature request tracker
Unit tests problems tracker

Управление задачами JIRA issue tracker (Atlassian, http://www.atlassian.com/software/jira/) Bug tracker Feature request tracker Unit tests problems tracker

Слайд 11

Управление задачами

JIRA issue tracker
(Atlassian, http://www.atlassian.com/software/jira/)
Bug tracker
Feature request tracker
Unit tests problems tracker
Documentation

Управление задачами JIRA issue tracker (Atlassian, http://www.atlassian.com/software/jira/) Bug tracker Feature request tracker
tasks tracker

Слайд 12

JIRA issue (пример)

JIRA issue (пример)

Слайд 13

Пространство для документов проекта (project Wiki pages)

Confluence
(Atlassian, http://www.atlassian.com/software/confluence/)

Пространство для документов проекта (project Wiki pages) Confluence (Atlassian, http://www.atlassian.com/software/confluence/)

Слайд 14

Тестирование

PHPUnit (Sebastian Bergmann) http://www.phpunit.de/
Continous Integration Server (Atlassian) http://www.atlassian.com/software/bamboo/

Тестирование PHPUnit (Sebastian Bergmann) http://www.phpunit.de/ Continous Integration Server (Atlassian) http://www.atlassian.com/software/bamboo/

Слайд 15

Коммуникации

e-mails

Коммуникации e-mails

Слайд 16

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические)

Слайд 17

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)
Аудио-конференции (Skype)

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические) Аудио-конференции (Skype)

Слайд 18

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)
Аудио-конференции (Skype)
IRC

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические) Аудио-конференции (Skype) IRC

Слайд 19

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)
Аудио-конференции (Skype)
IRC
Обмен текстовыми данными (http://paste2.org/)

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические) Аудио-конференции (Skype) IRC Обмен текстовыми данными (http://paste2.org/)

Слайд 20

http://paste2.org/

http://paste2.org/

Слайд 21

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)
Аудио-конференции (Skype)
IRC
Обмен текстовыми данными (http://paste2.org/)
Wiki pages

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические) Аудио-конференции (Skype) IRC Обмен текстовыми данными (http://paste2.org/) Wiki pages

Слайд 22

Коммуникации

e-mails
Списки рассылки (внутренние/общие/тематические)
Аудио-конференции (Skype)
IRC
Обмен текстовыми данными (http://paste2.org/)
Wiki pages
Web сайт проекта

Коммуникации e-mails Списки рассылки (внутренние/общие/тематические) Аудио-конференции (Skype) IRC Обмен текстовыми данными (http://paste2.org/)

Слайд 23

Модель разработки, используемая в ZF


Модель разработки, используемая в ZF

Слайд 24

Цели проекта

Цели проекта

Слайд 25

Цели проекта

Продвижение PHP в корпоративную среду:

Цели проекта Продвижение PHP в корпоративную среду:

Слайд 26

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого отвечало бы корпоративным стандартам
бы корпоративным стандартам

Слайд 27

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого
бы корпоративным стандартам
Гарантировать лицензионную чистоту, создаваемого кода

Слайд 28

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого
бы корпоративным стандартам
Гарантировать лицензионную чистоту, создаваемого кода
Гарантировать поддержку и сопровождение кода

Слайд 29

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого
бы корпоративным стандартам
Гарантировать лицензионную чистоту, создаваемого кода
Гарантировать поддержку и сопровождение кода
Популяризация PHP 5 и ОО подхода в PHP

Слайд 30

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого
бы корпоративным стандартам
Гарантировать лицензионную чистоту, создаваемого кода
Гарантировать поддержку и сопровождение кода
Популяризация PHP 5 и ОО подхода в PHP
Представить на примере создаваемого framework’а пример “правильного” использования OO подхода в PHP

Слайд 31

Цели проекта

Продвижение PHP в корпоративную среду:
Обеспечить разработчиков framework’ом, качество которого отвечало

Цели проекта Продвижение PHP в корпоративную среду: Обеспечить разработчиков framework’ом, качество которого
бы корпоративным стандартам
Гарантировать лицензионную чистоту, создаваемого кода
Гарантировать поддержку и сопровождение кода
Популяризация PHP 5 и ОО подхода в PHP
Представить на примере создаваемого framework’а пример “правильного” использования OO подхода в PHP
Создать спрос на поддержку PHP 5

Слайд 32

Организационная структура команды разработчиков

Организационная структура команды разработчиков

Слайд 33

Организационная структура команды разработчиков

Core team 3-5 чел

Организационная структура команды разработчиков Core team 3-5 чел

Слайд 34

Организационная структура команды разработчиков

Организационная структура команды разработчиков

Слайд 35

Организационная структура команды разработчиков

Организационная структура команды разработчиков

Слайд 36


Community

Организационная структура команды разработчиков

Community Организационная структура команды разработчиков

Слайд 37

Этапы развития проекта Zend Framework


Этапы развития проекта Zend Framework

Слайд 38

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта

Этапы развития проекта Zend Framework Лето 2005 Старт проекта

Слайд 39

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)

Слайд 40

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)

Слайд 41

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)

Слайд 42

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)
30.06.2007 Первая официальная версия framework’а

Слайд 43

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)
30.06.2007 Первая официальная версия framework’а
Март 2008 Выход первого за v1.0.0 minor релиза (ZF 1.5.0)

Слайд 44

Release policy проекта Zend Framework

Major releases (X.0.0):
Может включать изменения, не поддерживающие

Release policy проекта Zend Framework Major releases (X.0.0): Может включать изменения, не
обратную совместимость.
Может включать в себя новые фичи

Слайд 45

Release policy проекта Zend Framework

Major releases (X.0.0):
Может включать изменения, не поддерживающие

Release policy проекта Zend Framework Major releases (X.0.0): Может включать изменения, не
обратную совместимость.
Может включать в себя новые фичи
Minor releases (n.X.0)
BC breaks допустимы только для исправления критических ошибок
Может включать в себя новые фичи

Слайд 46

Release policy проекта Zend Framework

Major releases (X.0.0):
Может включать изменения, не поддерживающие

Release policy проекта Zend Framework Major releases (X.0.0): Может включать изменения, не
обратную совместимость.
Может включать в себя новые фичи
Minor releases (n.X.0)
BC breaks допустимы только для исправления критических ошибок
Может включать в себя новые фичи
Mini releases (n.m.X)
BC breaks допустимы только для исправления критических ошибок
Может включать только исправления ошибок

Слайд 47

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)
30.06.2007 Первая официальная версия framework’а
Март 2008 Выход первого за v1.0.0 minor релиза (ZF 1.5.0)

Слайд 48

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)
30.06.2007 Первая официальная версия framework’а
Март 2008 Выход первого за v1.0.0 minor релиза (ZF 1.5.0)
Сентябрь 2008 ZF 1.6.0

Слайд 49

Этапы развития проекта Zend Framework

Лето 2005 Старт проекта
Апрель 2006 Выход первой публичной версии (ZF

Этапы развития проекта Zend Framework Лето 2005 Старт проекта Апрель 2006 Выход
0.1.3)
Март 2007 Выход первой beta версии (ZF 0.9.0)
Конец мая 2007 Выход первого RC (ZF 1.0.0 RC1)
30.06.2007 Первая официальная версия framework’а
Март 2008 Выход первого за v1.0.0 minor релиза (ZF 1.5.0)
Сентябрь 2008 ZF 1.6.0
Ноябрь 2008 ZF 1.7.0
Апрель 2009 ZF 1.8.0
Июль 2009 ZF 1.9.0

Слайд 50

Этапы развития проекта Zend Framework

Лето 2005

Апрель 2006

30.06.2007

I

II

III

I. Внутренняя разработка.
II. Период неофициальных версий.
III.

Этапы развития проекта Zend Framework Лето 2005 Апрель 2006 30.06.2007 I II
Официальное развитие framework’а.

Слайд 51

Этап I. Внутренняя разработка.

Особенности
Некоторая изолированность разработчиков.
Разработка производится как в обычном закрытом

Этап I. Внутренняя разработка. Особенности Некоторая изолированность разработчиков. Разработка производится как в
проекте
Общение всей команды происходит ~раз в месяц
Задачи
Наработка функционала
Подготовка среды, в которой будет существовать проект (репозиторий кода, issue tracker, web сайт, …)
Отработка процессов релиза framework’а

Слайд 52

Этап II. Период неофициальных версий.

Особенности
Необходимость сверхбыстрого реагирования на обращения пользователей и

Этап II. Период неофициальных версий. Особенности Необходимость сверхбыстрого реагирования на обращения пользователей
сторонних разработчиков.
Отработка методов принятия коллегиальных решений в отношении действий сторонних разработчиков*.
Общение всей команды происходит ~раз в неделю.
Задачи
Получить версию продукта 1.0.0
Привлечение к проекту сторонних разработчиков.
Получить feedback от первых пользователей продукта

Слайд 53

Этап III. Официальное развитие framework'а.

Особенности
Повышенный overhead на коммуникации
Увеличение доли задач по сопровождению
Общение

Этап III. Официальное развитие framework'а. Особенности Повышенный overhead на коммуникации Увеличение доли
всей команды происходит каждый день
Задачи
Развитие проекта, поддержка
Имя файла: Практика-распределенной-разработки-в-Open-Source-проектах..pptx
Количество просмотров: 99
Количество скачиваний: 0