Среди современных методологий, которые используются для программирования, выделяют Водопадную модель (Waterfall) и Agile (гибкая методология программирования). В последней выделяют две методологии управления проектами — Scrum и Kanban.
Рассмотрим сравнение данных методологий.
Кратко о каждой методологии.
Waterfall — каскадная или водопадная модель. Традиционный подход. Представляет собой четко выделяемые последовательные стадии выполнения работ. Только после того, как закончены все работы на одной стадии, допускается переход к следующей.
Agile — гибкая методология разработки, состоящая из целого ряда подходов и практик, в основе который лежат быстрый результат и взаимодействие с людьми. К ним, в частности, относят такие методологии управления проектами, как Scrum и Kanban.
Scrum — подход, предполагающий решение задач в маленьких командах. Рабочий процесс при этом поделен на равные отрезки (спринты).
Kanban — уменьшение выполняющейся в данный момент работы (work in progress). Делает работу нагляднее за счет визуализации на доске. Допускает взятие срочных задач в разработку, не дожидаясь начала следующего этапа.
Наши методологии являются представителями разных подходов.
Рассмотрим их сравнение:
Характеристика | Waterfall | Agile |
---|---|---|
Документация | Детальная | Доработка по мере развития |
Вовлеченность заказчиков | Низкая | Высокая |
Команда | Включение новых специалистов на любом этапе | Опытные специалисты, стабильный состав |
Контроль | Легко | Зависит от уровня специалистов |
Критерии успеха | Все по плану | Ценность для бизнеса |
Подход | Прогнозирующий | Адаптивный |
Рефакторинг | Дорогой | Оптимальный |
Риски | Определены | Не определены |
Требования | Известны заранее и стабильны | Легко изменяемы |
Как видим, каждый подход имеет свои плюсы и минусы. По этой причине оба актуальны до сих пор, однако, важно отметить, что у Agile больше поклонников.
Теперь сравним методологии управления.
Мы упоминали про то, что Agile включает в себя разные способы управления проектами. Чаще всего, среди них выделяют два:
Общие положения данных методологий определяются 4-я ценностями и 12-ю принципами Agile.
Ценности:
Основополагающие принципы:
Теперь рассмотрим различия:
Характеристика | Scrum | Kanban |
---|---|---|
Создан для | Разработки программного обеспечения | Бережливого производства |
Идеология | Учеба на собственном опыте, самоорганизация и постоянное совершенствование | Использование визуальных эффектов для улучшения работы |
Ритм | Регулярные спринты фиксированной продолжительности (около 1-2 недели) | Непрерывный поток |
Действия | Планирование спринтов, спринты, ежедневные минисовещания, ретроспективы | Визуализация потока работы, ограничение незавершенной работы, управление потоками |
Роли | Владелец продукта, скрам-мастер, команда разработчиков | Нет обязательных ролей |
Гибкость | Средняя. Изменения нельзя вносить после начала спринта | Высокая. Изменения вносятся в любой момент |
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…