Your SlideShare is downloading. ×
Distributed Development Practice
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Distributed Development Practice

655
views

Published on

Russian PHPConf 2009 …

Russian PHPConf 2009
Distributed Development Practice presentation

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
655
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Практика распределенной разработки в Open-Source проектах. Александр Веремьев ( Zend Framework core team ) alexander.v@zend.com
  • 2. Инструментарий
  • 3. Управление кодом
    • Репозиторий :
      • Subversion (на начальных стадиях CVS ) http://subversion.tigris.org/
  • 4. Управление кодом
    • Репозиторий :
      • Subversion (на начальных стадиях CVS ) http://subversion.tigris.org/
    • Отслеживание изменений, Web интерфейс к репозиторию :
      • FishEye (Atlassian) http://www.atlassian.com/software/fisheye/
  • 5. FishEye notifications
  • 6. FishEye notifications
  • 7. FishEye code browser
  • 8. Управление задачами
    • 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
  • 10. Управление задачами
    • 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 tasks tracker
  • 12. JIRA issue ( пример)
  • 13. Пространство для документов проекта ( 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/
  • 15. Коммуникации
      • e-mails
  • 16. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
  • 17. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
      • Аудио-конференции ( Skype )
  • 18. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
      • Аудио-конференции ( Skype )
      • IRC
  • 19. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
      • Аудио-конференции ( Skype )
      • IRC
      • Обмен текстовыми данными ( http://paste2.org/ )
  • 20. http://paste2.org/
  • 21. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
      • Аудио-конференции ( Skype )
      • IRC
      • Обмен текстовыми данными ( http://paste2.org/ )
      • Wiki pages
  • 22. Коммуникации
      • e-mails
      • Списки рассылки (внутренние/общие/тематические)
      • Аудио-конференции ( Skype )
      • IRC
      • Обмен текстовыми данными ( http://paste2.org/ )
      • Wiki pages
      • Web сайт проекта
  • 23. Модель разработки, используемая в ZF
  • 24. Цели проекта
  • 25. Цели проекта
    • Продвижение PHP в корпоративную среду :
  • 26. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
  • 27. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
      • Гарантировать лицензионную чистоту, создаваемого кода
  • 28. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
      • Гарантировать лицензионную чистоту, создаваемого кода
      • Гарантировать поддержку и сопровождение кода
  • 29. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
      • Гарантировать лицензионную чистоту, создаваемого кода
      • Гарантировать поддержку и сопровождение кода
    • Популяризация PHP 5 и ОО подхода в PHP
  • 30. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
      • Гарантировать лицензионную чистоту, создаваемого кода
      • Гарантировать поддержку и сопровождение кода
    • Популяризация PHP 5 и ОО подхода в PHP
      • Представить на примере создаваемого framework’ а пример “ правильного ” использования OO подхода в PHP
  • 31. Цели проекта
    • Продвижение PHP в корпоративную среду :
      • Обеспечить разработчиков framework’ ом, качество которого отвечало бы корпоративным стандартам
      • Гарантировать лицензионную чистоту, создаваемого кода
      • Гарантировать поддержку и сопровождение кода
    • Популяризация PHP 5 и ОО подхода в PHP
      • Представить на примере создаваемого framework’ а пример “ правильного ” использования OO подхода в PHP
      • Создать спрос на поддержку PHP 5
  • 32. Организационная структура команды разработчиков
  • 33. Организационная структура команды разработчиков Core team 3-5 чел
  • 34. Организационная структура команды разработчиков Авторы компонент Core team 3-5 чел
  • 35. Организационная структура команды разработчиков Other contributors Авторы компонент Core team 3-5 чел
  • 36. Организационная структура команды разработчиков Community Other contributors Авторы компонент Core team 3-5 чел
  • 37. Этапы развития проекта Zend Framework
  • 38. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
  • 39. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
      • Апрель 2006 Выход первой публичной версии ( ZF 0.1.3 )
  • 40. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
      • Апрель 2006 Выход первой публичной версии ( ZF 0.1.3 )
      • Март 2007 Выход первой beta версии ( ZF 0.9.0 )
  • 41. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
      • Апрель 2006 Выход первой публичной версии ( ZF 0.1.3 )
      • Март 2007 Выход первой beta версии ( ZF 0.9.0 )
      • Конец мая 2007 Выход первого RC ( ZF 1.0.0 RC1 )
  • 42. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
      • Апрель 2006 Выход первой публичной версии ( ZF 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 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):
      • Может включать изменения, не поддерживающие обратную совместимость.
      • Может включать в себя новые фичи
  • 45. 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):
      • Может включать изменения, не поддерживающие обратную совместимость.
      • Может включать в себя новые фичи
    • Minor releases (n.X.0)
      • BC breaks допустимы только для исправления критических ошибок
      • Может включать в себя новые фичи
    • Mini releases (n.m.X)
      • BC breaks допустимы только для исправления критических ошибок
      • Может включать только исправления ошибок
  • 47. Этапы развития проекта Zend Framework
      • Лето 2005 Старт проекта
      • Апрель 2006 Выход первой публичной версии ( ZF 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 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 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 . Официальное развитие framework’ а.
  • 51. Этап I . Внутренняя разработка.
    • Особенности
      • Некоторая изолированность разработчиков.
      • Разработка производится как в обычном закрытом проекте
      • Общение всей команды происходит ~ раз в месяц
    • Задачи
      • Наработка функционала
      • Подготовка среды, в которой будет существовать проект (репозиторий кода, issue tracker, web сайт, … )
      • Отработка процессов релиза framework’ а
  • 52. Этап II . Период неофициальных версий.
    • Особенности
      • Необходимость сверхбыстрого реагирования на обращения пользователей и сторонних разработчиков.
      • Отработка методов принятия коллегиальных решений в отношении действий сторонних разработчиков * .
      • Общение всей команды происходит ~ раз в неделю.
    • Задачи
      • Получить версию продукта 1.0.0
      • Привлечение к проекту сторонних разработчиков.
      • Получить feedback от первых пользователей продукта
  • 53. Этап III . Официальное развитие framework'а.
    • Особенности
      • Повышенный overhead на коммуникации
      • Увеличение доли задач по сопровождению
      • Общение всей команды происходит каждый день
    • Задачи
      • Развитие проекта, поддержка
  • 54. Вопросы
    • Александр Веремьев [email_address]