Всем привет. Сегодня мы попытаемся разобраться, что такое Agile, и как с ним работать. Попробуем разобраться на примере небольшой команды разработчиков.
Agile (agile software development, от англ. agile – проворный) – это семейство «гибких» подходов к разработке программного обеспечения. Такие подходы также иногда называют фреймворками или agile-методологиями.
Представим, что у нас есть небольшая команда разработки, мы хотим выстроить процесс разработки и релизов, и для этого мы выбрали agile-методологию. Так как команда использует гибкую методологию разработки, они не копят все пользовательские истории до большого релиза, наоборот, они выпускают их сразу и как можно чаще.
Обычно они выпускают 4-6 пользовательских историй в неделю. Это их пропускная способность. Ее очень просто измерить — количество пользовательских историй за 7 дней.
Некоторые истории большие, их можно считать за две, некоторые маленькие, их можно считать за половину.
Проблема заключается в том, что заинтересованных лиц очень много и их запросы невозможно удовлетворить 4-6 историями в неделю.
Каждый раз когда мы реализуем пользовательскую историю, у них появляется еще несколько идей, из которых вытекает еще больше запросов.
Что произойдет, если мы будем делать все, о чем они нас просят? У нас будет перегруз.
Допустим, команда возьмется сделать 10 новых историй за эту неделю.Если на входе 10 а на выходе 4-6, то команда будет перегружена. Будет спешить, переключаться между задачами, терять мотивацию, в итоге снижается производительность и качество. Это заведомо проигрышная стратегия.
Scrum и XP в этом случае используют метод “вчерашняя погода”. Команда говорит: “За последнее время мы делали 4-6 фич в неделю, какие 4-6 фич мы будем делать на следующей неделе?”
Задача владельца продукта в том, чтобы грамотно выбирать, какие именно пользовательские истории будут реализованы на этой неделе.
Kanban рекомендует ограничиться несколькими задачами — WIP limit. Допустим команда решает, что 5 — это приемлемое количество пользовательских историй, над которыми они смогут работать одновременно без перегруза, не перескакивая с одной на другую.
Что бы испытать эти советы в действии, попробуйте наш сервис.
В следующей статье, мы поговорим о том, почему важно научиться говорить слово "нет", и как оно влияет на процесс выполнения задач в команде. Подписывайтесь на канал, что бы не пропустить.