Экстремальное программирование (eXtreme Programming, XP)



ХР процесс ориентирован на группы малого и среднего размера, строящие ПО в условиях неопределенности или быстро изменяющихся требования.

ХР группы образуют до десяти сотрудников, которые размещаются в одном помещении. Основным структурным элементом процесса является ХР-реализация в которой многократно вкладывается базовый элемент – ХР итерация. В состав ХР-реализации и ХР-итерации входят три фазы:

Исследование – это поиск новых требований (задач), которые должна выполнять система.

Блокировка – это выбор для реализации конкретного подмножества из всех возможных требований (иными словами планирование).

Регулирование – проведение разработки, воплощение плана в жизнь (реализация).

ХР – процесс рекомендует: - первая реализация должна иметь длительность от 2 до 6 месяцев, продолжительность остальных реализаций около 2-х месяцев. Каждая итерация длится приблизительно 2 недели, а численность группы разработчиков не превышает 10 человек.

ХР процесс для проекта с семью реализациями осуществляется за 15 месяцев.

Процесс инициируется начально-исследовательской фазой. Фаза исследования с которой начинается любая реализация и итерация имеет клапан «пропуск». На этой фазе принимается решение о целесообразности дальнейшего продолжения работы.


Вопрос

Процесс руководства проектом и планирование проектных задач

Руководство программным проектом - первый слой процесса конструирования ПО. Термин «слой» подчеркивает, что руководство определяет сущность процесса разработки от его начала до конца. Принцип руководства иллюстрирует рисунок.

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

Для проведения успешного проекта нужно понять объем предстоящих работ, возможный риск, требуемые ресурсы, предстоящие задачи, прокладываемые вехи, необходимые усилия (стоимость), план работ, которому желательно следовать. Именно руководство программным проектом обеспечивает такое понимание. Оно начинается перед технической работой, продолжается по мере развития ПО от идеи к реальности и достигает наивысшего уровня к концу работ.

Виды работ, выполняемых в процессе руководства проектом.

Начало проекта.Перед планированием проекта следует: 1. установить цели и проблемную область проекта; 2. обсудить альтернативные решения; 3. выявить технические и управленческие ограничения.

Измерения, меры и метрики

Процесс оценки:При планировании программного проекта надо оценить людские ресурсы (в человеко-месяцах), продолжительность (в календарных датах), стоимость (в тысячах долларов). Обычно исходят из прошлого опыта. Если новый проект по размеру и функциям похож на предыдущий проект, вполне вероятно, что потребуются такие же ресурсы, время и деньги.

Анализ риска:На этой стадии исследуется область неопределенности, имеющаяся в наличии перед созданием программного продукта. Анализируется ее влияние на проект. Нет ли скрытых от внимания трудных технических проблем? Не станут ли изменения, проявившиеся в ходе проектирования, причиной недопустимого отставания по срокам? В результате принимается решение - выполнять проект или нет.

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

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

Планирование проектных задач:Основной задачей при планировании является определение WBS - Work Breakdown Structure (структуры распределения работ). Она составляется с помощью утилиты планирования проекта. Типовая WBS приведена на рисунке:

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

Системный анализ

Анализ требований Результаты анализа сводятся в спецификацию требований к программному продукту.

Как видно из типовой структуры, задачи но проектированию и планированию тестов могут быть распараллелены. Благодаря модульной природе ПО для каждого модуля можно предусмотреть параллельный путь для детального (процедурного) проектирования, кодирования и тестирования. После получения всех модулей ПО решается задача тестирования интеграции - объединения элементов в единое целое. Далее проводится тестирование правильности, которое обеспечивает проверку соответствия ПО требованиям заказчика.

Ромбиками на рисунке обозначены вехи - процедуры контроля промежуточных результатов. Очень важно, чтобы вехи были расставлены через регулярные интервалы (вдоль всего процесса разработки ПО). Это даст руководителю возможность регулярно получать информацию о текущем положении дел. Вехи распространяются и на документацию как на один из результатов успешного решения задачи.

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

Основной рычаг в планирующих методах - вычисление границ времени выполнения задачи.

Все эти значения позволяют руководителю (планировщику) количественно оценить успех в планировании, выполнении задач.

Рекомендуемое правило распределения затрат проекта - 40-20-40:

1. на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ - 5%); на кодирование - 20%; 3. на тестирование и отладку - 40%.

 


Дата добавления: 2018-02-15; просмотров: 196; ЗАКАЗАТЬ РАБОТУ