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