Разработка:Регламент — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Проект)
(Проект)
Строка 21: Строка 21:
 
Общий план работ по будущим релизам. В плане работ отмечаются задачи, запланированные на ближайшие релизы, компоновка и очередность исполнения задач.
 
Общий план работ по будущим релизам. В плане работ отмечаются задачи, запланированные на ближайшие релизы, компоновка и очередность исполнения задач.
 
=== Проект ===
 
=== Проект ===
<nowiki>[[Разработка:Проект_yymmdd|План работ]]</nowiki>, где yymmdd - это дата старта проекта
+
<nowiki>[[Разработка:Проект_yymmdd|Проект yymmdd (весия x => y]]</nowiki>, где yymmdd - это дата старта проекта
 
Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности.
 
Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности.
 
После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу.
 
После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу.

Версия 16:44, 29 мая 2009

Регламент работ над Free Dean's Office (Электронный деканат)

Работа основной команды разработчиков

  • На странице "Идеи" собирается список идей, пожеланий, концепций, возможностей, которые пока не отражены в документации и которые предполагается воплотить в будущих версиях. Если идея была предложена в багтреккере, помещается ссылка на соответствующее эссе.
  • На основании этих идей составляется "План работ" на ближайшие релизы, включающий релизы работа над которыми уже начата, либо состав которых уточняется. Для самых дальних релизов время выхода и версия может не указываться. Состав релиза может уточняться.
  • Когда состав работ на ближайший релиз уточнен, создается страница проекта, содержащая перечень заданий для программистов, с описанием работы, уточнениями к описанию плагина, которые будут перенесены на страницу плагина после выполнения этого задания. Если проект спонсируется и работа оплачивается, так же указывается плановая трудоемкость задания в условных человеко-часах. В проекте должен участвовать хотя бы один куратор с полномочием загрузки изменений непосредственно в SVN, который и будет заниматься загрузкой полученных от разработчиков патчей в SVN.
  • Когда программист берется работать над задачей из проекта, в описании задачи указывается его фамилия и фамилия куратора. Куратор консультирует разработчика по мере работы над заданием. Результат присылается в виде SVN diff (меню Create Patch в Eclipse). Если поведение программы после применения патча отличается или уточнено по сравнению с указанным в задании, вместе с патчем разрабтчик присылает подробное описание отличий. Куратор применяет результат к своей копии проекта, выполняет приемочное тестирование, проверяет соответствие кода требованиям кодирования. Если все требования соблюдены, код работает и полностью соответствует заданию, куратор применяет изменения в SVN, с указанием ссылки на задания и приславшего патч программиста. После этого программист должен в течении трех дней отредактировать описание всех измененных плагинов, чтобы оно соответствовало новому поведению.
  • По мере работы над каждый плагином, обновляется страничка этого плагина в разделе Разработка. Страница должна содержать полную информацию по особенностям работы этого плагина, его внешнего API, реализованной бизнес-логике и ее нюансах. Поведение, описанное на странице плагина считается эталонным. Несоответствие работы плагина описанию на странице считается ошибкой реализации плагина. Если в плагин планируется внести изменения, непосредственно перед реализацией они описываются на странице плагина, а затем сразу же реализуются. Разрыв между изменением описания и работы плагина не должен быть больше нескольких дней. За исключением еще не созданных плагинов, работу которых допускается сперва описать полностью, а затем реализовывать.
  • Когда патч применен, все изменения в документации добавлены, куратор еще раз тестирует плагин и проверяет соответствие его поведения указанному в документации. Если все соответствует, отмечает задание выполненным.
  • После окончания проекта и выпуска релиза, информацию по данному релизу из плана работ перемещается на страницу релизов, там же помещается ссылка на страницу проекта, которая сохраняется в качестве истории работы над проектом.

Работа независимых разработчиков и команд

Документы, используемые в разработке

Идеи

[[Разработка:Идеи|Идеи]]

Задачи для разработки, которые еще не отражены в плане работ и документации. Новые идеи добавляются сверху. По мере исполнения - отмечаются перечеркнутым шрифтом.

План работ

[[Разработка:План работ|План работ]]

Общий план работ по будущим релизам. В плане работ отмечаются задачи, запланированные на ближайшие релизы, компоновка и очередность исполнения задач.

Проект

[[Разработка:Проект_yymmdd|Проект yymmdd (весия x => y]], где yymmdd - это дата старта проекта Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности. После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу. Шаблон страницы проекта:

Релизы

[[Разработка:Релизы|Релизы]]

На странице релизов отмечается информация по уже выпущенным релизам с кратким описанием новшеств в этих релизах, ссылкой на страницу проекта и списком участвующих программистов и организаций.

Страница плагина

Описание плагина, содержит подробную информацию о работе и устройстве плагина. Предназначено для разработчиков, но должно содержать всю необходимую информацию для написания пользовательских инструкций. [[Разработка:тип_плагина/код_планина]]

Шаблон страницы плагина: