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

Материал из DOF
Перейти к: навигация, поиск
(ссылка на шаблон)
 
(не показано 9 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
''' Регламент работ над Free Dean's Office (Электронный деканат)'''
 
''' Регламент работ над Free Dean's Office (Электронный деканат)'''
 
==Работа основной команды разработчиков ==
 
==Работа основной команды разработчиков ==
 +
* На странице "Идеи" собирается список идей, пожеланий, концепций, возможностей, которые пока не отражены в документации и которые предполагается воплотить в будущих версиях. Если идея была предложена в багтреккере, помещается ссылка на соответствующее эссе.
 +
* На основании этих идей составляется "План работ" на ближайшие релизы, включающий релизы работа над которыми уже начата, либо состав которых уточняется. Для самых дальних релизов время выхода и версия может не указываться. Состав релиза может уточняться.
 +
* Когда состав работ на ближайший релиз уточнен, создается страница проекта, содержащая перечень заданий для программистов, с описанием работы, уточнениями к описанию плагина, которые будут перенесены на страницу плагина после выполнения этого задания. Если проект спонсируется и работа оплачивается, так же указывается плановая трудоемкость задания в условных человеко-часах. В проекте должен участвовать хотя бы один куратор с полномочием загрузки изменений непосредственно в SVN, который и будет заниматься загрузкой полученных от разработчиков патчей в SVN.
 +
* Когда программист берется работать над задачей из проекта, в описании задачи указывается его фамилия и фамилия куратора. Куратор консультирует разработчика по мере работы над заданием. Результат присылается в виде SVN diff (меню Create Patch в Eclipse).  Если поведение программы после применения патча отличается или уточнено по сравнению с указанным в задании, вместе с патчем разрабтчик присылает подробное описание отличий. Куратор применяет результат к своей копии проекта, выполняет приемочное тестирование, проверяет соответствие кода требованиям кодирования. Если все требования соблюдены, код работает и полностью соответствует заданию, куратор применяет изменения в SVN, с указанием ссылки на задания и приславшего патч программиста. После этого программист должен в течении трех дней отредактировать описание всех измененных плагинов, чтобы оно соответствовало новому поведению.
 +
* По мере работы над каждый плагином, обновляется страничка этого плагина в разделе Разработка. Страница должна содержать полную информацию по особенностям работы этого плагина, его внешнего API, реализованной бизнес-логике и ее нюансах. Поведение, описанное на странице плагина считается эталонным. Несоответствие работы плагина описанию на странице считается ошибкой реализации плагина. Если в плагин планируется внести изменения, непосредственно перед реализацией они описываются на странице плагина, а затем сразу же реализуются. Разрыв между изменением описания и работы плагина не должен быть больше нескольких дней. За исключением еще не созданных плагинов, работу которых допускается сперва описать полностью, а затем реализовывать.
 +
* Когда патч применен, все изменения в документации добавлены, куратор еще раз тестирует плагин и проверяет соответствие его поведения указанному в документации. Если все соответствует, отмечает задание выполненным.
 +
* После окончания проекта и выпуска релиза, информацию по данному релизу из плана работ перемещается на страницу релизов, там же помещается ссылка на страницу проекта, которая сохраняется в качестве истории работы над проектом.
 +
 
==Работа независимых разработчиков и команд ==
 
==Работа независимых разработчиков и команд ==
 
== Документы, используемые в разработке ==
 
== Документы, используемые в разработке ==
 
=== [[Разработка:Идеи|Идеи]] ===
 
=== [[Разработка:Идеи|Идеи]] ===
[[[[Разработка:Идеи|Идеи]]]]
+
<nowiki>[[Разработка:Идеи|Идеи]]</nowiki>
  
 
Задачи для разработки, которые еще не отражены в плане работ и документации. Новые идеи добавляются сверху. По мере исполнения - отмечаются <strike>перечеркнутым шрифтом</strike>.
 
Задачи для разработки, которые еще не отражены в плане работ и документации. Новые идеи добавляются сверху. По мере исполнения - отмечаются <strike>перечеркнутым шрифтом</strike>.
  
 
=== [[Разработка:План работ|План работ]] ===
 
=== [[Разработка:План работ|План работ]] ===
[[[[Разработка:План работ|План работ]]]]
+
<nowiki>[[Разработка:План работ|План работ]]</nowiki>
  
 
Общий план работ по будущим релизам. В плане работ отмечаются задачи, запланированные на ближайшие релизы, компоновка и очередность исполнения задач.
 
Общий план работ по будущим релизам. В плане работ отмечаются задачи, запланированные на ближайшие релизы, компоновка и очередность исполнения задач.
 
=== Проект ===
 
=== Проект ===
 +
<nowiki>[[Разработка:Проект_yymmdd|Проект yymmdd (весия x => y]]</nowiki>, где yymmdd - это дата старта проекта
 +
 
Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности.
 
Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности.
Для каждого проекта заводится отдельная страница в вики, имя которой формируется по следующей схеме
+
 
<code>Разработка:Проект_090416</code>, где дата - это дата старта проекта.
 
 
После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу.
 
После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу.
 
Шаблон страницы проекта:
 
Шаблон страницы проекта:
 +
 
=== [[Разработка:Релизы|Релизы]] ===
 
=== [[Разработка:Релизы|Релизы]] ===
[[[[Разработка:Релизы|Релизы]]]]
+
<nowiki>[[Разработка:Релизы|Релизы]]</nowiki>
  
 
На странице релизов отмечается информация по уже выпущенным релизам с кратким описанием новшеств в этих релизах, ссылкой на страницу проекта и списком участвующих программистов и организаций.
 
На странице релизов отмечается информация по уже выпущенным релизам с кратким описанием новшеств в этих релизах, ссылкой на страницу проекта и списком участвующих программистов и организаций.
 
=== Страница плагина ===
 
=== Страница плагина ===
Шаблон страницы проекта:
+
Описание плагина, содержит подробную информацию о работе и устройстве плагина. Предназначено для разработчиков, но должно содержать всю необходимую информацию для написания пользовательских инструкций.
 +
<nowiki>[[Разработка:тип_плагина/код_планина]]</nowiki>
 +
 
 +
Шаблон страницы плагина:
 +
[[:Шаблон:Infobox_Plugin]]
 +
 
 +
[[Категория:Разработка]]

Текущая версия на 18:42, 12 октября 2009

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

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

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

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

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

Идеи

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

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

План работ

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

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

Проект

[[Разработка:Проект_yymmdd|Проект yymmdd (весия x => y]], где yymmdd - это дата старта проекта

Проектом считается набор запланированных заданий для программистов, в результате выполнения которых произойдет переход от текущего релиза к следующему. Так же проектом может считаться разработка одного или набора плагинов, реализующих новые возможности.

После окончания проекта, страница проекта помечается доступной только для чтения и ссылка на нее помещается в информацию по данному релизу. Шаблон страницы проекта:

Релизы

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

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

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

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

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