Немного истории
До второй половины 20 века реализация проектов была простой — достаточно было составить четкий план действий и затем последовательно ему следовать. Такая модель управления проектом называлась водопадом или водопадом , потому что следующий шаг реализовывался после завершения предыдущего (например, тесты проводились после сборки всего продукта).
Однако в IT такая процедура не принесла никакого эффекта. После завершения длительной работы продукт часто оказывался бракованным или устаревшим. В 2001 году группа ИТ-менеджеров создала новые правила — Манифест Agile.
Agile-манифест
Мы открываем новые методы программирования благодаря практике в программировании и поддержке других в этом.
В результате нашей работы мы стали больше ценить:
Люди и взаимодействия от процессов и инструментов
Рабочее ПО от подробной документации
Сотрудничество с клиентом от согласования контрактов
Реагирование на изменения от реализации предполагаемого плана.
Это означает, что предметы, перечисленные справа, ценны,
но те, что перечислены слева, представляют для нас большую ценность.
Источник: Agile Manifesto , 2001 г., доступно в Интернете: agilemanifesto.org [по состоянию на 2 декабря 2020 г.].
Гибкие методы _
Agile-методы — это группа методов, которые позволяют эффективно реализовать проект, даже когда в его предположениях много неизвестных. Поскольку мы не знаем окончательный вид продукта, мы ориентируемся на то, что является наибольшей ценностью для бизнеса на данный момент , что больше всего понадобится пользователю. Через регулярные отрезки времени мы принимаем последующие решения, которые являются наиболее важными в данный момент, и подстраиваем порядок работы под эти ориентиры. Мы не заглядываем далеко в будущее – важно здесь и сейчас.
Что такое Скрам?
Самый популярный метод ведения agile-проектов — Scrum . Это английское название одной из формаций в регби. Во время игры игроки образуют плотную группу, прикрывая друг друга. Благодаря командной работе они добиваются успеха, как и в IT-проекте.
Scrum — это основа поведения, основа для совместной работы или фреймворк . Scrum — это не методология или метод, а всего лишь схема, позволяющая использовать множество различных методов или техник.
Любопытство
Руководство по Scrum состоит из 19 страниц, в то время как соответствующий документ по методологии PRINCE2® насчитывает более 300 страниц.
Столпы схватки
Скрам делает упор на эмпиризм , предполагая, что знания исходят из опыта и что решения должны приниматься на основе наблюдаемых фактов. Таким образом, каждый проект, реализованный в Scrum , должен соответствовать трем всеобъемлющим принципам, называемым столпами. Эти:
ясность
Каждый, кто участвует в создании продукта, должен знать о его существенных аспектах. Без этого они не могли бы хорошо выполнять свою работу.
осмотр
приспособление
Любопытство
Соблюдение столпов Scrum возможно, если мы придерживаемся пяти ценностей.
Скрам-ценности
Вовлечение всех участников в создание лучшего продукта.
Смелость в преодолении трудностей, признании ошибок и достижении целей.
Сосредоточьтесь на работе и целях.
Открытость в обмене информацией, в том числе плохой.
С уважением ко всем участникам процесса.
Роли в Scrum
В скрам -команду входят:
Product Owner — следит за тем, чтобы работа всей команды приносила наибольшую ценность; он принимает решение о порядке работы, потому что имеет полное представление о необходимости бизнеса;
Scrum Master — следит за тем, чтобы работа команды проходила гладко и чтобы все придерживались правил Scrum ;
разработчики — все люди, которые работают над проектом (не только программисты, но и тестировщики, аналитики, графические дизайнеры); каждый член команды решает для себя, какую работу он будет выполнять, но с допущением, что мы сможем выполнить все задачи вместе.
Сердце Scrum — спринт
В Scrum вся работа выполняется через равные промежутки времени, без перерывов — в так называемом спринты. Результатом спринта является инкремент продукта , т.е. работающая часть ПО, потенциально готовая к выпуску (передача клиенту или пользователям).
Любопытство
Короткие спринты поощряют эксперименты — если вы допустили ошибку, изменение цели работы выполняется быстро и с минимальными затратами.
Скрам- события
В каждом спринте есть встречи, способствующие осмотру и адаптации.
Планирование спринта . В начале спринта команда Scrum планирует, чего она хочет достичь в спринте и как этого достичь, и ставится общая цель.
Любопытство
Кто оценивает, сколько времени займет задача? Тот, кто будет их делать. Оценки должны предоставляться только разработчиками — в противном случае они ненадежны.
Ежедневный Scrum — разработчики встречаются ежедневно, чтобы обсудить, что они уже сделали и что они будут делать в ближайшем будущем для достижения цели спринта.
Обзор спринта — скрам-команда и группа других вовлеченных людей (например, клиенты) наблюдают за результатами работы, определяют следующие шаги и оценивают, когда продукт будет завершен.
Ретроспектива спринта — Скрам-команда проверяет свое сотрудничество, процессы, инструменты и предлагает улучшения на будущее.
| Продолжительность Scrum -событий |
| Выполняемая деятельность | Продолжительность |
| Спринт | вниз4недели |
| Планирование спринта | вниз8часы |
| Ежедневный Скрам | 15минуты |
| Обзор спринта | вниз4часы |
| Ретроспектива спринта | вниз3часы |
Скрам артефакты
Для ясности в Scrum есть определенные документы, называемые артефактами.
Бэклог продукта — список всех действий, которые необходимо выполнить для создания продукта. Вверху находятся задачи, которые больше всего повышают ценность бизнеса и наиболее точно определены, которые, вероятно, будут выполнены в одном из ближайших спринтов.
Любопытство
Бэклог продукта поддерживается до тех пор, пока продукт живет и развивается вместе с ним.
Бэклог спринта — это план выполнения приращения в спринте, своего рода мини-версия бэклога продукта . Он создается во время планирования спринта. Разработчики, как подрядчики, имеют последнее слово в определении того, какой объем работы может быть выполнен и кто будет это делать.
Инкремент — ощутимый результат работы, проделанной в спринтах на данный момент.
Как это работает на практике?
Вернемся к примеру из начала этого электронного материала: заказчик заказывает создание интернет-магазина. Как, вероятно, будет идти работа над его продуктом?
На этапе подготовки клиент и подрядчик составляют список заинтересованных сторон (т.е. всех лиц, затронутых проектом – например, потенциальных клиентов, разделенных на их типы, сотрудников, которые будут представлять продукты на веб-сайте, конкурентов). В результате мастер-класса будет создана предварительная модель магазина, разделенная на отдельные виды (каталог категорий, корзина покупателя и т.д.).
После принятия макетов начнется реализация и первый спринт. Чаще всего он посвящен выбору архитектуры (язык ПО, операционная система, технические требования) и общим устройствам. Также состоятся первые скрам-события.
В последующих спринтах работа будет продвигаться и продукт будет расти. Во время каждого обзора спринта у клиента будет возможность просмотреть продукт, оставить комментарии и предложить владельцу продукта, что следует делать дальше. Благодаря этому продукт всегда будет отражать ожидания клиента.
Когда продукт будет почти готов, заказчику будет предложено протестировать его на сервере разработки или пре-продакшена (уже в среде заказчика). Возможно, даже так называемая демо, т.е. презентация продукта на площадке заказчика, ознакомление его сотрудников с новым сайтом.
В назначенный день будет реализована производственная версия, и эффект от работы увидит свет. Однако на этом сотрудничество не заканчивается. Клиент будет сообщать об исправлениях (внедряемых на постоянной основе) и улучшениях. Скрам - мероприятия завершатся, и команда перейдет к следующему проекту. Расширенные улучшения могут быть реализованы в виде последующих scrum-проектов.
Имеет ли Scrum смысл в одиночку?
Scrum лучше всего работает с командой от 5 до 11 человек. На практике, однако, небольшие проекты могут быть реализованы даже двумя разработчиками (программистом и графическим дизайнером). Имеет ли смысл внедрение Scrum в этих условиях? Да, потому что постоянный контроль и адаптация, а также ориентация на получение выгод будут работать в любых условиях.
Любопытство
Совмещение ролей в Scrum (например, когда один человек является скрам - мастером и разработчиком одновременно) может быть обременительным, хотя это происходит во многих ИТ-компаниях. Однако невозможно одновременно быть владельцем продукта и скрам -мастером, потому что у них разные роли — первый следит за тем, чтобы бизнес-ценность доставлялась как можно быстрее, второй — за тем, чтобы разработчики работали в одинаковом темпе. и без препятствий.
Словарь
Гибкий
семейство гибкой разработки программного обеспечения; это английское слово означает «agile», т.е. быстрый, гибкий, приспосабливающийся к ситуации — а такие особенности необходимы для создания продукта, когда мы не знаем всех руководящих принципов, связанных с ним; это инкрементальные методы (мы фокусируемся на небольшом инкременте, что является целью спринта) и итеративные методы (что означает многократное повторение цикла «проверка и корректировка»)
разработчик
это слово обычно используется как синоним программиста, но в Scrum мы называем разработчиками всех людей, которые выполняют работу, которая способствует развитию продукта, включая тестировщиков, бизнес-аналитиков или графических дизайнеров.
эмпиризм
философское течение о том, что источником получения информации о мире является опыт (например, то, что мы наблюдаем или слышим); в Scrum мы принимаем решения, основываясь на наблюдениях, а не на догадках или убеждениях.
оценить
оценка времени, необходимого для выполнения задачи; чаще всего дается в часах; смету дает лицо, которое будет выполнять сметную работу
фреймворк
широкие рамки поведения, позволяющие использовать различные методологии или приемы; особенность фреймворка в том, что он накладывает очень мало правил и не описывает подробно, как действовать при возникновении проблемы; пример фреймворка - Scrum
заинтересованные стороны
все люди, которые имеют влияние на проект или затронуты проектом — клиенты, пользователи, спонсоры, конкуренты и т. д.
модель
очень общий макет будущего сайта; например, на макете отмечено меню сайта, поисковая система, картинки, формы; макет обычно одноцветный и только на его основе создается собственно дизайн сайта
приращение продукта
работающая часть ПО, результат всех предыдущих спринтов
стоимость
польза для организации; для коммерческих проектов такой ценностью будет прибыль (тогда речь идет о ценности бизнеса), а в случае, например, благотворительных проектов – помощь нуждающимся; в Scrum команда всегда делает то, что приносит наибольшую ценность в данный момент
Вступление