Методологии разработки ПО:
· Статические с последовательным выполнением каждого этапа и отсутствием обратной связи между этапами
· Гибкие с динамическим формированием или изменением требований
Waterfall каскадная методология
Каскадная модель (англ. Waterfall model, иногда переводят, как модель «Водопад») – модель процесса разработки программного обеспечения, в которой процесс разработки выглядит как поток, последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки.
В данной методологии отсутствует присутствие заказчика, и он видит только конечный продукт.
Давайте рассмотрим гибкие методологии.
Agile – серия подходов к разработке программного обеспечения, ориентированных на использование итерационной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля.
Основные принципы Agile
· Люди и взаимодействие важнее процессов и инструментов;
· Работающий проект важнее исчерпывающей документации;
· Сотрудничество с заказчиком важнее согласования условий контракта;
· Готовность к изменениям важнее следования первоначальному этапу.
Подходы к разработке в Agile:
· Scrum
· Kanban
· Extreme programming
Scrum – это набор принципов, на которых строится процесс разработки, позволяющий в жестко фиксированные и небольшие по времени итерации, называемые спринтами (sprints), предоставлять конечному пользователю работающее ПО с новыми возможностями, для которых определен наибольший приоритет.
Kanban – японский термин, который начали использовать применительно к производству в 60-х годах 20 века в компании Toyota. В основу данного принципа положен конвейерный метод производства, а также различные скорости выполнения отдельных технологических операций на производстве.
Существует доска, которая разделена на столбики и у каждого столбика своя задача.
У каждого столбика есть стикер, на стикере пишется задача. И эти стикеры с задачами перемещаются по доске
Эта модель разработки дает наглядное представление о процессе разработки.
Система позволяет настроить систему разработки таким образом, чтобы задачи не копились, люди не уставали, каждый работал в удовольствие и не было стресса.