h4. 1. Введение в этапы разработки.
Движение к законченному продукту происходит последовательно: от релиза к релизу, причём каждый последний отличается от предыдущего большим функционалом. Внутри каждого релиза проводится несколько итераций, которые затрагивают все этапы разработки.
h5. 1.1 Этапы разработки
*Описание предметной области*
Происходит набор информации, касающейся предметной области, выделяются прецеденты, или сценарии. Прецеденты являются последовательностью действий по достижению заданной цели и служат для выявления требований. Это всегда человеко-ориентированное описание, которое будет происходить на самом верхнем уровне (как правило уровень интерфейса). Например, сценарий "Заказ товара" можно понимать как последовательность: выбор позиции, указание количества, оплата.
*Анализ предметной области и проектирование*
На основании сформулированных прецедентов начинается выделение сущностей, строятся модели предметной области, затем модели классов (с позиции объектно-ориентированного программирования). Разрабатывается архитектура проекта.
*Реализация в программном коде*
Прецеденты служат отправной точкой для написания тестов. Код самого приложения реализуется исключительно под тесты, что приводит к простому достижению результата, исключая всё лишнее.
*Контрольное тестирование*
Проверка на достижение функционала и безошибочность на основании ранее написанных тестов. Тесты пишутся один раз за всё время (см. предыдущий пункт), они редко изменяются.
*Интеграция, внедрение*
Интеграция в рамках Agile является последовательной (от релиза к релизу), то есть она растянута во времени. Однако такой подход позволяет в кратчайшие сроки начать адаптацию персонала клиента к продукту, усиливает эффект обратной связи по требованиям / недостаткам.
Каждая итерация проходит все этапы, причём она распоряжается лишь своим ограниченным списком задач: список требований, которые оценены по сложности (продолжительности работ); выводы по результатам.
В конце каждой итерации действенным является презентация перед заказчиком результатов работы - демонстрация достигнутого.
h4. 2. Динамика разработки, некоторые условия рабочего процесса.
Чем характерны выше приведённые этапы? На первом - описании предметной области - происходит тесное взаимодействие с заказчиком. При этом в идеализированной модели Agile, он обладает некоторой свободой по принятию конечного решения, но не всегда. Его полномочия должны быть ограничены здравым смыслом команды разработчиков. При проектировании упор делается на командном взаимодействии, причём важно, чтобы каждый член был свободен в выборе и реализации своих идей, то есть доверие должно иметь место. Это справедливо также и на этапе реализации. В дополнение сюда входит также работа тестировщика с заказчиком для составления сценариев тестирования. Любая интеграция, как было отмечено выше, имеет своей целью усилить вовлечение заказчика в процесс разработки. Это необходимо осуществлять регулярно и часто.
Приведённые тезисы возможны в случае, если:
* существует подходящая среда (сопутствующая этому ритму): помещение, атмосфера;
* вовлечённость команды в процесс, интерес, азарт;
* набор команды как ответственное дело, направленное на повышение взаимодействия членов коллектива, разрешение разногласий в решении проектных вопросов; это задача проект-менеджера.
Комментариев нет:
Отправить комментарий