Agile на первое, второе и десерт
Популярный вопрос про Agile, который мне часто задают, — это методология или философия? Я склонен считать, что философия. Она лучше всего работает с IT-сферой. Слово методология также применимо и не должно вызывать резкую аллергию. Для меня оно значит сборник практик по управлению процессом разработки, никакой сектантской чуши. Добавлю, разве что, это своеобразное обобщение подходов для буйного и цветущего программирования. Задержимся и разберемся, откуда хитрость формулировки.
Два разных Agile
В первом фокус сосредоточен на гибкости и изобретательности подходов IT-разработки. Во втором — на философию. Сегодня поговорим о востребованности обоих подходов и как они такими стали. Звездный статус провоцирует споры в обществе и среди разработчиков. Уверяем, мы беспристрастно расскажем, почему стоит узнать о методологии больше и что вызывает определенные споры в сообществе разработчиков.
Мы не претендуем на написание учебника по Agile, скорее, хотим познакомить с Agile тех, кто только начинает познавать это веяние. Бывают девелоперские философии сложные и запутанные. Вот Agile не из них.
Он состоит из 4-х ценностей и 12-ти принципов. Описание методологии RUP, например, десять страниц. При этом, прочитав их, вы узнаете все о жизненном цикле разработки, как она разбивается на фазы, и от каких соотношений “работа-жизнь” строить график.
Приемы Agile конкретны!
Суть подходов, о которых писали выше, простым языком. Слушайте:
- Так называемое экстремальное программирование состоит из парного программирования и четкого планирования. Работа ведется интенсивная, с инженерными методиками и пособиями для разработчиков.
- Методологию легко распознать по ее запутанности. Прочитал и не понимаешь, как все между собой связано. В основе Agile простые и понятные ценности. Внимательно посмотрите на картинку и сразу их запомните. Никаких хитростей.
- Фреймворк Scrum также имеет свою роль в процессе.
Детальнее можете ознакомиться в книге “Гибкие методологии разработки” Бориса Вольфсона. Вам она пригодится.
О ценностях: введение
Впервые они были задокументированы 20 лет назад в Agile-манифесте, о существовании которого вы сейчас, возможно, узнали впервые. Тогда авторы решили обобщить методологии разработки, существовавшие на тот момент. Работа монументальная, время подробностей.
Ценностями называют приоритет в работе. Интерфейс может быть ценностью на этой неделе, а на следующей станет — оптимизация SEO. Устанавливается ценность в зависимости от конкретного процесса и предмета работ. Запомните формулу: каждая из 4-х Agile-ценностей сформулирована в виде “X над Y”:
- люди;
- продукт;
- заказчик;
- перемены.
О ценностях: Основной раздел
Люди и их взаимодействие — X, процессы и инструменты — Y
Истина проста ровно настолько. Активировать человеческую эффективность легко: не ограничивайте их скучными процессами и узким кругом инструментов. Позвольте им не быть заложниками обстановки, а менять ее под себя.
Когда начинается взаимодействие, процесс ускоряется и разработка наращивает темпы. В современном мире общение переходит в онлайн, что несколько противоречит Agile, но не забывайте про видеосвязь. Она стала аналогом персональных встреч. Одних чатов и переписок недостаточно.
Исправность продукта — X, документация в многобукв — Y
Клиенты должны быть довольны, а это возможно только с работающим продуктом. Разработчики должны фокусироваться только на этом. Перестаньте тоннами составлять списки, отчеты и диаграммы. Это влияет на заказчика не так, как вам думается. Он выбирает функционал!
Не обременяйте и себя документацией. Чтобы постоянно поддерживать ее в высоком соответствии с продуктом нужно тратить много времени.
Сотрудничество — Х, согласование условий — Y
Продукт можно получить, а из сотрудничества следует выжать все самое ценное. Требования от агентства к заказчику и от заказчика к агентству должны быть равными и справедливыми. Тем не менее давить контрактами и деталями никак не поможет работе, а, наоборот, будет ее тормозить. Выстраивайте ваше общение на доверии, оно в мире Agile — ключ к успеху.
Изменения — X, строгий план — Y
Разработчик и заказчик должны понимать ценность проекта одинаково, никакой недосказанности. Звучит, будто изменения тут невозможны. Как раз наоборот, процесс работы в своей динамичности будет напоминать вам схождение по порогам горной реки. Это непросто, но ценность в итоге многократно выше.
Отдельно выделим готовность к изменениям со стороны заказчика. В такой ситуации ему придется жертвовать некоторыми своими хотелками, чтобы достичь большего в конце. Тут вопрос в другом, сможет ли агентство быть достаточно дипломатичным, чтобы донести это до клиента?
И в заключение
Освоив базовые ценности Agile, вы сможете применять эту философию и сборник методов в разных сферах. Имеется стереотип, что Agile возможен только в IT, но Brander в качестве домашней работы изучали кейсы банков, страховых компаний и розничных сетей.
Потому запомним два основных значения, наиболее точных значения:
- Для начала изучите систему ценностей, можете называть ее также базовой философией. Feel yourself free. Это способствует быстрой разработке новых продуктов.
- Agile — это всего лишь слово, но оно обобщает разные подходы к управлению разработкой. Не все запариваются с ответвлениями, но разделять систему ценностей для понимания процесса обязательно.
Не верьте слухам и пересудам! Так уж исторически сложилось, что популярные продукты обсуждают все, в том числе некомпетентные. Последних лучше не слушать, а консультироваться со специалистами.