Наверное вы уже что-то слышали об Agile. Может даже пытались применять у себя в проектах. Ну или хотя бы ради интереса посмотрели парочку видео на ютубе. Однако так и не поняли как сделать работу над проектом проще и эффективнее?Это Андрей и он тоже не понял.
Мнение автора может не совпадать с мнением редакции
У Андрея своя Web-студия. Он работает 24/7, прикладывает колоссальные усилия, но студию уже 2 года как прогресс покинул. Мелкие проекты тянутся полгода, оплата поступает не всегда вовремя, у коллектива не горят глаза. Андрей твердо решил что так продолжаться не может.
Давайте, поможем Андрею и его команде разобраться в терминах и войти в прекрасный мир Agile методологии.
Что же мы имеем в виду под Agile? Многое о нем говорит перевод слова, с английского — гибкий, способный адаптироваться под различные ситуации, быстрый. Отсюда происходит и второе название — гибкие методологии.
Это не конкретный принцип действия, а скорее совокупность различных методов, общие принципы которых задокументировали еще в 2001 году.
В документ вошли 4 идеи:
● Люди и взаимодействие важнее процессов и инструментов;
● Работающий продукт важнее исчерпывающей документации;
● Сотрудничество с заказчиком важнее согласования условий контракта;
● Готовность к изменениям важнее следования первоначальному плану.
«Да, нашли тут дурака! Документаций нам не надо, контракта мы не придерживаемся, на инструменты наплевать! Так и создается из визитки интернет магазин с бюджетом в 5 тысяч. Знаем, плавали» — разочарованно подумал Андрей.
Наш герой, как и многие, изначально понимает Agile манифест некорректно, полностью откидывая правую часть предложения. Однако это неправильное восприятие сути.
«Мы признаем ценность того, что находится справа, но для нас более ценно то, что слева. Это не взаимоисключающие вещи, просто акцент делается на людях, взаимодействиях, сотрудничестве и работающем продукте» — объясняет Agile манифест.
Тут Андрей понимает, что по сути, Agile это своего рода философия, которую ему нужно не внедрить, а лишь принять.
И правда, Agile это лишь система ценностей, на основе которой развивается целый комплекс практик по управлению проектами.
Окей, с теорией разобрались, но что же Андрей получает на практике?
Пошаговую разработку продукта из небольших подзадач, а не одной большой задачи. На каждом этапе Андрею нужно спланировать определенный объем задач, проанализировать требования, спроектировать, разработать и протестировать «кусочек» проекта, задокументировать процесс, согласовать с заказчиком.
— Слишком сложно! — опять пробурчит Андрей.
— Минимизирует риски! — ответим мы.
И обоснуем. По окончанию каждого этапа мы имеем какой-то готовый функционал. Готовую версию подпродукта. Его можно просмотреть, оценить, протестировать, сделать выводы в каком направлении двигаться дальше, согласовать все на промежуточном этапе! А дальше скорректировать недочеты, подвести итоги и приступить к следующему.
«Хорошо, я допускаю, что это может сработать, но мне нужна конкретная методика по управлению проектами» — резонно замечает Андрей.
Давайте расскажем ему об одной из самых распространенных методик Agile.
Scrum
В центре SCRUM находится команда, у каждого есть четкая роль. Условно, команда делится на 3 вида ролей:
1. Product Owner (владелец продукта) — человек, понимающий каким продукт должен получится на выходе. Он собирает и приоритезирует требования. Общается с клиентом или клиентами. Рассказывает о ним команде. Вот кстати интересный факт: Product owner это не всегда клиент. Это запросто может быть человек в команде разработки.
2. SCRUM Мастер — это «сердце команды», задача этой роли в том, чтобы создать для команды максимально комфортные условия работы, мотивировать и помогать. Роли мастера и владельца продукта ни в коем случае не должны пересекаться.
3. Непосредственно команда, которая выполняет проект: дизайнер, Front-end, Back-end.
«А кто головой отвечать будет??!» — восклицает Андрей.
В SCRUM нет распределяющей шляпы, которая говорит кто что делает и несет за это всю ответственность, как обычно принято. С точки зрения технологий Agile, команда является самоорганизующийся. Лидеры появляются в зависимости от той задачи, которую в данный момент решаем. А зависит это от итерации на которой находимся.
Андрею нужно изначально разбить время на отрезки, собрать команду, желательно до 7 человек на конкретный проект, все содержание проекта разделить на части, примерно равные по размеру. А что, как и когда делать, каждый решает для себя сам, при поддержке Scrum мастера и на условиях выдвинутых Владельцем продукта.
Как пользоваться Scrum
1. Формирование бэклога
Это список требований (задач), которые нужны для реализации проекта, включает в себя как технические, так и функциональные требования. Product Owner отвечает за бэклог, наполняет его и расставляет приоритеты. Именно такой подход к делу решает одну из основных задач Андрея, ведь часто для его команды все задачи одинаково приоритетны, что приводит за собой «застой» в разработке проекта.
Задачи в бэклоге обычно формируются на языке пользователя и включают в себя все требования заказчика.