- Заключение договора, определение сроков и стоимости работ.
- Формирование группы, планирование.
- Первоначальный анализ предметной области, выделение очередности реализации задач.
- Планирование общего объема работ
- Разработка этапа, планирование итераций.
- Выполнение итерации.
- Завершение работ.
1.1. Руководитель проекта передает Заказчику Коммерческое предложение на разработку системы, в котором излагается описание выполняемых работ, этапы, сроки, стоимость работ и оборудования.
1.2. Руководитель проекта заключает Договор на описание бизнес-процессов, в которых будет использоваться разрабатываемая система. В этом случае Договор на разработку системы заключается на основании рекомендаций, полученных и согласованных в Договоре на описание бизнес-процессов.
1.3. Руководитель проекта заключает Договор на разработку системы.
2.1. Руководитель проекта составляет Общее описание проекта в Библиотека проектов:Библиотека проектов
2.2. Руководитель проекта определяет и согласовывает состав проектной группы
2.3. Руководитель проекта планирует общий план проекта, сроки, первые задания в Планировщик заданий
3.1. Аналитики делают документ, схему, рисунок, описывающий предметную область, бизнес-процессы. Описание включает в себя основных пользователей системы и их функции при работе с системой.
3.2. Аналитики и Архитектор проекта описывают, рисуют основные классы данных, которые используются в системе для выполнения функций пользователей. Сразу выделяются классы-справочники и классы-документы, минимально прописывается их структура и характеристики, основные взаимосвязи между классами данных.
3.3. Группа разработки обсуждает полученные аналитиками функции и схему классов. Рассматриваются реализованные ранее проекты, ищутся аналогии, уточняются функции и структуры данных на основе опыта в аналогичных проектах.
4.1. На основе первоначального анализа выделяются этапы разработки с постепенным наращиванием функционала. Каждый этап должен иметь смысл для функциональной реализации - закрывать какой-то бизнес-процесс или рабочее место у заказчика, чтобы заказчик мог с интересом оценить результат выполненного этапа, внести корректировки, дать пояснения об особенностях своего бизнес-процесса при работе с системой.
4.2. Предлагаются оценки трудоемкости и выполнимости конкретных функций, последовательность включения функций в реализацию (этапы разработки).
4.3. Для этапов определяется трудоемкость и сроки реализации, ориентируясь на аналогичные проекты и обсуждая с экспертами возможные сложности реализации.
5.1. Обычно итерации планируются на 1 неделю.
5.2. Аналитики заранее готовят карточки (задания в Планировщике заданий) на реализацию функционала, попадающего в этап. Часто вместе с карточкой готовится требование в системе документирования проекта. Используется пакет Докувики (Медиавики).
5.3. Аналитики проставляют на каждой карточке (в Планировщике заданий) трудоемкость в часах, подбирают карточки по приоритету, указанным заказчиком или требующимся по смыслу (что-то нужно реализовать раньше для функционирования остального), для включения в итерацию. Обычно карточек в 1.5-2 раза больше по трудоемкости, чем можно выполнить за итерацию.
5.4. Группа разработки рассматривает карточки (задания), уточняет возможность реализации, трудоемкость. Выбираются карточки, включаемые на итерацию с учетом общей трудоемкости, назначаются исполнители, проверяющие, задания заносятся в Планировщик заданий.
6.1. Программист реализует Сценарий в виде описания класса, результат принимает Аналитик
6.2. Программист и Аналитик делают Тест для проверки (не обязательно в простейших случаях)
6.3. Программист делает описание класса в соответствии со Стандартами на своем компьютере.
6.4. Программист согласовывает структуры данных, используемые в реализации, с Архитектором проекта.
6.5. Программист производит отладку на своем компьютере, прогоняет Тест для проверки.
6.6. Используется система контроля версий исходных текстов (Библиотеку исходных кодов) и технология сборки готового продукта, которая позволяет проводить независимые сборки на отдельных компьютерах последней рабочей версии системы.
6.7. Программист производит загрузку новых и измененных оттестированных описаний классов в Библиотеку исходных кодов.
6.8. Аналитиками ведется тестовая база данных, постоянно пополняемая данными для отладочного и функционального тестирования.
6.9. Аналитик тестирует и принимает результат на своем компьютере, как по Тесту для проверки, так и по своим тестам, при необходимости показывает результат Заказчику для согласования.
6.10. В процессе реализации Программист совместно с Аналитиком уточняет Сценарий, вносит изменения в Библиотеку проектов.
6.11. Аналитик совместно с Программистом дополняют Инструкцию Пользователя.
6.12. По окончании итерации делается сборка версии, отмечаются внесенные изменения в документе Изменения в версии.
6.13. По решению Руководителя проекта очередная Итерация устанавливается у Заказчика для тестирования и опытной эксплуатации, своевременного получения замечаний и последовательного обучения Пользователей.
7.1. После реализации всех Сценариев и проведения тестовой или опытной эксплуатации у Заказчика, Руководитель проекта и Заказчик подписывают Акт сдачи-приемки работ.