Agile— методология управления проектами. Она возникла в сфере IT и сначала использовалась для разработки ПО. Сейчас Agile используют и в других отраслях — поэтому, кроме проджектов, в методологии должны разбираться и другие менеджеры, а также руководители компаний. Термин Agile используют в двух значениях: - Это философия, система ценностей и принципов, по которым работает команда проекта. - Это семейство методологий управления проектами, которые созданы на базе философии Agile. Agile-манифест (Agile Manifesto) — основной документ, в котором описаны ценности и принципы гибкого управления проектами. Четыре ценности гибкого управления проектами Люди и взаимодействие важнее процессов и инструментов. Работающий продукт важнее исчерпывающей документации. Сотрудничество с заказчиком важнее согласования условий контракта. Готовность к изменениям важнее следования первоначальному плану. 12 принципов Agile: 1. Приоритет команды проекта — удовлетворение потребностей заказчика с помощью своевременной и регулярной поставки качественного продукта. 2. Изменение требований к продукту приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют обеспечить продукт конкурентными преимуществами. 3. Промежуточный рабочий продукт нужно показывать заказчику как можно чаще — с периодичностью от пары недель до пары месяцев. 4. Руководители и разработчики должны ежедневно работать вместе на протяжении всего проекта. 5. Над проектом должны работать мотивированные специалисты. Нужно создать для них необходимые условия и обеспечить им поддержку. 6. Личное общение — самый практичный и эффективный способ обмена информацией в команде. 7. Работающий продукт — основной показатель прогресса. 8. Процессы в Agile должны быть настроены так, чтобы проект развивался устойчиво. Заказчики, разработчики и пользователи должны быть готовы к тому, что изменения будут вноситься равномерно. 9. Постоянное внимание к техническому совершенству продукта и качеству проектирования повышает гибкость проекта. 10. Не стоит переусложнять проект — лишние процессы нужно свести к минимуму. 11. Лучшие продукты рождаются у команд, которые умеют организовать себя самостоятельно. 12. Команда должна постоянно искать способы работать эффективнее и корректировать свой стиль работы. Agile церемонии (Планирование спринта, Ежедневный стенд-ап, Обзор спринта, Ретроспектива спринта)– особенные компоненты Agile, созданные для достижения максимального уровня прозрачности и коммуникации в течение итеративного процесса разработки. Обычно такие церемонии отличаются четкой структурой и целью, характеристиками, которые, как правило, организуют проектную деятельность и привносят гармонию в любой рабочий процесс. Scrum (скрам). Чаще всего эту методологию используют в разработке ПО. Проект разбивают на итерации (спринты) — промежутки времени, в которые команда разрабатывает продукт поэтапно. Обычно один спринт длится 2–4 недели. В конце каждого спринта команда поставляет готовую часть продукта — его «неидеальную» версию, которой уже можно пользоваться, — или дополнительные функции к ней. При этом в начале проекта нет представления о том, как будет выглядеть продукт в самом конце: требования могут меняться в ходе разработки. Скрам — это фреймворк, в котором много специфических ролей, терминов и мероприятий. Мы расскажем о нескольких основных — это поможет лучше понять общую концепцию методологии. Команда, или developers, — люди, которые создают продукт. Простыми словами — разработчики. Состав команды формируют отдельно для каждого проекта. Скрам-мастер — менеджер, который направляет команду и решает проблемы, замедляющие рабочий процесс. Его задача — организовать работу так, чтобы каждый участник команды понимал потребности клиента и мог предлагать свои идеи. Также скрам-мастер организует общение клиента и команды на совместных мероприятиях. Владелец продукта, или product owner, — человек, который отвечает за ценность продукта и за бэклог. Обычно это представитель заказчика. Он передаёт команде новые требования к продукту и следит, чтобы команда работала в нужном направлении. Бэклог — список задач проекта, расположенных по приоритетности. Scrum-митинг (дэйли или стендап) — ежедневный сбор команды примерно на 15 минут. За это время каждый участник команды отвечает на три вопроса: что он сделал с прошлой встречи; что планирует делать сегодня; что этому мешает. Kanban («Канбан»). Эту методологию разработали в Японии и изначально использовали в производстве автомобилей. Слово kanban на японском означает «вывеска». Задачи проекта расставляют в виде карточек на доске, разлинованной на колонки. Эти колонки отражают этапы выполнения проекта. Участник команды берёт задачу, перемещает карточку по доске от одной колонки к другой, и вся команда видит актуальный статус этой задачи. Идея в том, чтобы работа над проектом шла по принципу конвейера. То есть чтобы разработчики не задумывались над планированием задач и их приоритизацией, а приходили к доске, брали задачу и шли её выполнять. Обычно на канбан-досках минимум три колонки: «Выполнить», «В работе» и «Выполнено». Чаще всего к ним добавляют колонки для промежуточных этапов: «Бэклог», «На согласовании», «Тестирование» и так далее. Традиционно канбан-доски представляли собой физические доски — например, магнитные или пробковые, — на которых крепили бумажные карточки. Позже появились онлайн-доски. Самые популярные из них — Trello, Jira, Asana. В отличие от других методов проектного управления, канбан-команда работает без жёстких временных ограничений — даже несмотря на то, что на онлайн-досках задачам можно назначать срок выполнения. Вместо этого работа над проектом организована как непрерывный поток задач. Когда участник команды заканчивает одну задачу, он идёт за другой, потом за следующей и так далее. Как мы говорили выше, в Scrum работа делится на спринты. Каждый спринт — короткий период, в течение которого команда работает над несколькими задачами: анализирует их, выполняет, тестирует, обсуждает с заказчиком и при необходимости дорабатывает. Рассмотрим, как это проходит, поэтапно. Планирование. На этом этапе определяют основную идею проекта, обсуждают требования заказчика и формируют перечень задач. По-другому такой перечень называют бэклогом. Дальше задачи приоритизируют — самые важные и срочные размещают в верхней части бэклога. Анализ. Из верхней части бэклога команда выбирает задачи для одной итерации. Затем определяет, какие ресурсы понадобятся для выполнения этих задач, и распределяет их между собой. На этом же этапе формируют критерии успешного завершения каждой задачи: по каким параметрам будет понятно, что задача выполнена хорошо. Благодаря такому подходу у всей команды формируются одинаковые ожидания относительно результатов итерации. Выполнение. Участники команды работают над своими задачами. Каждый день они встречаются, чтобы обсудить текущий прогресс: что они сейчас делают, какие проблемы у них возникают, что они планируют делать дальше. Это важно для того, чтобы работа над проектом была прозрачной и все участники команды владели ситуацией. Тестирование. На этом этапе проверяют работоспособность проекта — например, запускается ли программа, выполняет ли она свои функции корректно и так далее. Этап тестирования проходит параллельно с этапом выполнения. Это нужно, чтобы быстро реагировать на обнаруженные проблемы и вносить изменения вовремя. Релиз. В конце спринта команда показывает заказчику результаты своей работы — например, готовую программу или часть её функций. Заказчик даёт обратную связь — объясняет, что его устраивает, а что нет. Если есть замечания, команда обсуждает, как будет дорабатывать проект, и возвращается к предыдущим этапам. Если замечаний нет, команда переходит к следующей итерации. Такой цикл повторяется до завершения всего проекта — например, до стадии, когда программу отдают заказчику полностью готовой. Таким образом, методология Scrum позволяет команде быстро реагировать на изменения, постоянно взаимодействовать с заказчиком, учитывать новые требования и создавать актуальный продукт.