Файл: Исследование методов и средств моделирования систем управления проектами на предприятии.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 409

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Недостатки каскадной модели:

  • приоритет формального подхода к последовательности процесса работы;

  • невозможность внесения изменений заказчиком до окончания разработки продукта;

  • в случае нехватки ресурсов страдает качество проекта из-за сокращения этапа тестирования.

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

  1. Спиральная модель.




Рисунок 1.4 Спиральная модель жизненного цикла

Спиральная модель использует разбиение проекта на итерации. Повышенное внимание уделяется начальным этапам разработки – анализу и проектированию. Основная функция начального этапа обоснование возможности реализации программного решения; для этого создается прототип будущего продукта [18].

Свое название спиральная модель получила вследствие того, что жизненный цикл проекта в этой модели благодаря итерационному (то есть постепенно приближающему) подходу создает образ спирали – с преодолением каждой итерации, или отдельного цикла, будущее программное изделие приобретает требуемые формы и содержание.

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

Благодаря такому подходу к разработке время выполнения всех поставленных задач уменьшается.

Преимущества спирального подхода:

  • преодоление жесткого, регламентированного процесса разработки в каскадной модели; создание дополнительных возможностей;

  • облегчение процесса внесения корректив в проект, если требования заказчика изменились;

  • постоянная связь пользователя будущего продукта с разработчиком, что позволяет оперативно отслеживать возникающие ошибки или слабые места проекта;

  • более эффективное управление проектом благодаря наличию итераций;

  • снижение уровня рисков.


Трудности использования спиральной модели:

  • отсутствие ограничений времени на каждом из этапов жизненного цикла;

  • то преимущество, что имеется возможность постоянно вносить изменения в требования к проекту, оборачивается тем, что количество циклов может расти, следовательно, удлиняются сроки разработки;

  • довольно сложная структура модели, что создает затруднения для разработчиков и менеджеров при ее применении.

  1. Гибкие (итеративные) модели (Agile).

Кроме последовательных моделей, существуют итеративные (инкрементальные). Это целое семейство методологий, объединенных общим подходом в управлении проектами:

  • люди и взаимодействие важнее процессов и инструментов;

  • работающий продукт важнее исчерпывающей документации;

  • сотрудничество с заказчиком важнее согласования условий контракта;

  • готовность к изменениям важнее следования первоначальному плану [26,28].

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

Итеративная модель не нуждается в полном объеме требований для начала работ над продуктом. Разработка программы может начинаться с требований к части функционала, причем впоследствии

требования могут претерпевать изменения и дополнения. Путем повторения процесса происходит обновление версии продукта на каждом цикле.



Рисунок 1.5 - Итеративная модель жизненного цикла

Решение об использовании результатов предыдущей итерации в качестве входных для следующей принимается по окончании предыдущей (т.н.

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

Используя математическую терминологию, итеративная модель реализует последовательную аппроксимацию, то есть приближение к заданным параметрам, т.е. готовому продукту.

Успех использования этой модели определяется строгой валидацией требований и верификацией разрабатываемой функциональности на каждой итерации.

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

Достоинства итеративной модели:

  • высокий уровень взаимодействия между членами команды проекта;

  • быстрый результат (рабочий код) в итоге «спринтов»;

  • стимулирование изменения и улучшений продукта во время его разработки;

  • непосредственное вовлечение заказчика в рабочий процесс;

  • высокая способность к адаптивности под разные процессы и условия;

  • быстрый отклик на изменения внешних и внутренних условий проекта;

  • приспособлен для разработки инновационных продуктов с высокой степенью неопределенности и недостаточной информативностью;


Недостатки:

  • риск бесконечных изменений продукта;

  • большая зависимость от уровня квалификации и опыта команды;

  • практически невозможно точно подсчитать итоговую стоимость проекта;

  • эффективность применения Agile-методик существенно зависит от квалификации менеджмента (для облегчения применения подхода принято использовать методы Scrum, Kanban и другие).

Наиболее востребованными представителями семейства Agile- методологии являются Scrum, Lean, Canban, Six Sigma, PRINCE2. Рассмотрим подробнее Scrum и Canban.

    1. Scrum - наиболее структурированный в группе Agile-методов.




Рисунок 1.6 - Scrum модель жизненного цикла

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

Хронологически проект разбивается на итерации - определенные промежутки времени, устанавливаемые командой и согласованные с заказчиком для текущего контроля и управления проектом.

Наиболее важные задачи первыми отбираются для выполнения в итерации.

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

Участие в этом процессе принимает руководитель проекта, команда и инициатор.
Ответственность распределяется на всех участников.

Процесс работы в среде Scrum опирается на пять производственных совещаний:

  • совещание-упорядочивание; в первый день новой итерации происходит обсуждение того, что уже сделано по проекту, что еще предстоит выполнить;

  • совещание-планирование; команда выбирает из списка приоритетных задач те, которые она будет выполнять на протяжении текущей итерации;

  • совещания-летучки; происходят ежедневно, оперативно (до 15 минут) для обмена сведениями о текущем состоянии выполнения индивидуальных задач каждого члена команды;

  • итоговые совещания; команда демонстрирует свой результат всем заинтересованным лицам; выясняется, насколько продукт соответствует целям и ожиданиям;

  • совещание-ретроспектива. Проводится анализ того, насколько слаженно работала команда, обсуждаются возникшие проблемы методов и коммуникации, делаются определенные выводы.

Преимущества Scrum:

  • удобен для проектов, в которых возможен быстрый, оформленный и пригодный для первоначального использования, результат;

  • тесная и постоянная коммуникация сотрудников допускает присутствие в команде малоопытного разработчика;

  • быстрое исправление ошибок благодаря мгновенной обратной связи между всеми участниками проекта.

Недостатки Scrum:

  • подходит не каждому темпераменту; наличие постоянной и очень тесной коммуникации всех участников проекта выдвигает требования к психологическим свойствам и социальным навыкам участников проекта;

  • не подходит для проектов из строго регламентированных и нормированных областей (например, юриспруденция).