Пиццикато Алексея Лота

Конспект книги "Agile для всех" Лемея

Agile - термин, описывающий схожие по сути, но различные по методикам, подходы. Самый популярный Agile-подход - это Скрам:
1) работа разбивается на двухнедельные периоды, называемые спринтами;
2) в конце каждого периода должно быть что-то действительно завершенное и готовое для выпуска;
3) в течение каждого спринта проводится ежедневная планерка (daily standup) или скрам-митинг (scrum meeting);
4) во время митинга каждый член команды делится тем, что он завершил, над чем работает, и что может препятствовать прогрессу;
5) идея получать что-то готовое каждые две недели - стимул для повышения производительности и укрепления морального духа;
6) необходимость личного общения каждое утро - способ улучшить коммуникацию в команде (выявить разногласия);
7) приоритизация и передача результатов в двухнедельные циклы позволяют объективировать противоречия в видении продукта высокого уровня;
8) утренние планерки показывают отставание по срокам;
9) цель - повысить эффективность команды;
10) скрам дает набор рабочих процедур для структурирования деятельности компании.
Agile требует соответствия предпринимаемых действий достигаемым целям, ставя вопрос о том, почему сотрудники, команды и организации делают так, а не иначе. Agile предполагает выполнение большего объема работ за меньшее время при условии привлечения больших ресурсов: энергии, открытости, готовности честно размышлять над трудными вопросами. Agile призывает превращать предположения в факты.
agilemanifesto.org
Agile можно применять во всех отраслях. Нет лучшего или правильного подхода к Agile.
Принципы и ценности "Почему" - Практики "Как" - Результаты реального мира "Что" - Принципы и ценности "Почему"
Если мы чувствуем, что не соответствуем "Почему", то можем менять "Как", а если "Как" не срабатывает для "Что", то нужно пересмотреть "Почему". Сначала нужно понять, почему возникла потребность в изменении привычного способа работы. Основополагающие принципы Agile:
1) мы начинаем с наших клиентов;
2) мы сотрудничаем на ранних стадиях и часто;
3) мы планируем неопределенность.
Манифест Agile:
- люди и взаимодействие важнее процессов и инструментов;
- работающий продукт важнее исчерпывающей документации;
- сотрудничество с заказчиком важнее согласования условий контракта;
- готовность к изменениям важнее следования первоначальному плану.
Важное здесь не отрицает остального. Mindset - образ мышления.
2001 - основание Agile-движения;
1995 - Scrum;
90-е - Crystal;
1999 - XP;
2005 - LeSS;
2011 - SAFe.
Agile Alliance: Agile - способность создавать изменения и реагировать на них, чтобы добиться успеха в неопределенной и турбулентной среде. Ошибочный путь наименьшего сопротивления:
- люди в организации будут избегать работы с клиентами, если она выходит за рамки их повседневных обязанностей и не приносит бонусов;
- люди в организации будут отдавать предпочтение работе, которую могут выполнить в наименьшими усилиями, не покидая собственную команду или отдел;
- работа над текущим проектом будет продолжаться до тех пор, пока не вмешается самый старший из тех, кто его одобрил.
В Agile команда выдает готовый результат за каждый временной блок (time box). В конце каждого временного блока собирается обратная связь от предполагаемой аудитории, и на ее основе планируется следующий набор временных блоков, называемых итерацией. В реальном мире идеальный Agile недостижим. Движения наподобие Agile отвечают на один и тот же вопрос: "Как организации могут адаптироваться к потребностям клиентов в быстро меняющемся мире?" Движения отличаются метриками успеха организации:
Agile - скорость (velocity), с которой команда выпускает продукты;
Lean - количество потерь, которое команда исключает из производства;
Design Thinking - количество ценности, которую продукты команды предоставляют клиентам.
При использовании трех подходов важность метрик определяется ранжированием движений в организации. Чтобы не менять подходы Agile один за одним, нужно до выбора подхода задаваться вопросом: "Какие у нас цели и как наш способ работы помешал их достигнуть?", а после - "Какие Agile-ценности и принципы помогут достичь конкретных целей?" Клиентоориентированность означает думать о потребностях, целях и опыте, прежде чем думать о конкретной вещи, которую мы собираемся доставить клиентам. Потребности и цели коллег, руководителей и клиентов могут не совпадать, но их нужно примирять. Гибкость измеряется способностью меняться и развиваться в зависимости от потребностей клиента, а не скоростью выполнения работ. Dogfooding - разработка версии приложения для тестирования и внутреннего использования. Вопросы в Agile нужно ставить с точки зрения клиента. Сотрудники организации должны работать с клиентами напрямую. Клиенты выбирают тот опыт, который наилучшим образом соответствует их потребностям и целям, а не тот, который является самым "инновационным" или "прорывным". Во втором принципе Agile сотрудничество на ранних стадиях означает сотрудничество во время как стратегических, так и тактических переговоров, открывая возможность поиска новых и неочевидных решений, что требует открытости, восприимчивости и готовности делиться идеями; частое сотрудничество означает продолжение обсуждений на протяжении всего процесса создания и реализации, обеспечивая согласованность стратегии и тактики, чтобы получить больше возможностей для корректировки курса по мере необходимости. Модель Spotify - многоуровневая многофункциональная система, где люди работают на уровне "отрядов", "кланов", "отделов", "гильдий". Нужно поддерживать неформальное общение друг с другом, а не ждать совещания. На каждое совещание должно отводиться строго определенное количество времени - идея тайм-боксинга. При встраивании в рабочий процесс сначала задать вопрос: "На каком мы этапе? Кто занимался решением этой задачи?" Ежедневные планерки должны длиться не более пятнадцати минут, во время которых все стоят на ногах и отвечают на вопросы:
- что я сделал вчера, чтобы помочь команде разработки достичь цели спринта?
- что я сделаю сегодня, чтобы помочь команде разработки достичь цели спринта?
- какие препятствия мешают мне или команде разработки достичь цели спринта?
Ретроспектива - это совещание в конце спринта или подведение итогов по проекту, на котором команда обменивается мнениями по поводу проведенной совместной работы и определяет изменения, которые можно внести при подготовке к следующему спринту или проекту, но не критикует проведенную работу. Ретроспектива дает командам возможность выстроить общее понимание цели и ответственности в рамках работы. Основные вопросы: "Как вы считаете, наш рабочий процесс помогает нам воплощать в жизнь наши методы и достигать наших целей?", "Каким образом мы будем действовать в следующий раз?" Post mortem - собрания, во время которых участники открыто обсуждают ошибки, не боясь наказания. Ретроспектива дает возможность менять Agile-методы команды. Сворачивание проекта означает, что вы открыты к возможным изменениям клиентов и не собираетесь тратить дополнительные ресурсы на проект, которому не суждено стать успешным. Абсолютные количественные параметры оценки Agile-методов превратят Agile в бессмысленный список задач. Большинство людей предпочитают определенность страданий страданиям неопределенности. Названия принципов Agile: клиентоориентированность, сотрудничество, открытость к переменам. Не обязательно использовать все три принципа. Нельзя скрывать от руководителей плохие новости. Процесс крайне прост: голова, сердце, руки. Нужно отслеживать скорость рынка чаще скорости внутри компании.