Agile

Содержание:

Основные принципы Agile

Четыре ценности и 12 принципов Agile сформулированы в уже упомянутом Манифесте. При этом ценности были сформулированы в первую очередь, а принципы авторы расписали позднее. Именно ценности являются основой Agile, а их непонимание — источником мифов об Agile.

Ценность 1. Люди и взаимодействие важнее процессов и инструментов

Авторы манифеста сталкивались с тем, что корпоративные методологии и оргструктура часто не соответствовали потребностям организации. С тех пор мало что поменялось — установленные процедуры в крупных корпорациях препятствуют созданию новых продуктов, организационные колодцы мешают эффективной работе проектных команд

Авторы утверждают: люди и их взаимодействие должны определять набор процессов и выбирать инструменты . Потребности взаимодействия команд первичны, процессы и инструменты должны им помогать, а не мешать.

Это не значит, что в Agile творится хаос и анархия. Гибкие фреймворки дают высокую степень адаптации, при этом требуют жесткого соблюдения. Команды должны иметь возможность подстраивать под себя процессы, но обязаны им следовать.

Ценность 2. Работающий продукт важнее исчерпывающей документации

Невероятно устойчив миф, что в Agile нет документации. Это не так. Документация очень важна, особенно та, что связана с разработкой продукта. Однако помимо рабочей документации часто создается множество лишней документации — в первую очередь потому, что во многих компаниях она используется для коммуникации. Технические задания, различные обоснования, бюджеты и тому подобное.

Большая часть этой документации не несет также и ценности клиенту! Сначала создайте продукт, а потом документируйте его.

Ценность 3. Сотрудничество с заказчиком важнее согласования условий контракта

Несите ценность своему клиенту или заказчику. Если вы заключаете контракт, вокруг которого в конце проекта долго спорите и судитесь, вы проиграете. Даже если вам в итоге заплатят. Вы потратите силы и время и разрушите отношения с нынешним заказчиком, а возможно, и с будущими тоже. В Agile основной фокус направлен на клиента. Сотрудничать с ним необходимо — и контракт должен поддерживать это сотрудничество, а не мешать ему. 

Ценность 4. Готовность к изменениям важнее следования первоначальному плану

Из этой формулировки следует миф о том, что в Agile нет планирования. Это неверно. Гибкие подходы создавались для условий неопределенности и частых изменений. Предварительное планирование, то есть подход, когда мы сначала долго планируем проект, распределяем ресурсы и задачи, не работает.

Конечно, оно несет определенную пользу, но приоритет отдается планированию оперативному. Как правило, горизонт детального планирования задач составляет 2-4 недели. Если все вокруг меняется часто — ваши планы тоже должны.

Мы не будем разбирать все 12 принципов — этого хватит на несколько статей. Я рекомендую прочесть эту часть манифеста самостоятельно. 

Есть еще одна базовая вещь, которую важно знать для понимания Agile — итеративно-инкрементальный подход. Итеративно-инкрементальный подход

Итеративно-инкрементальный подход

Итеративно-инкрементальный подход лежит в основе гибких подходов. Его суть в том, чтобы не разрабатывать весь продукт целиком и поставлять результат разом в конце проекта, как в классических проектах, а действовать постепенно, маленькими партиями.

Итеративный и итеративно-инкрементальный подходы. Автор иллюстрации Jeff Patton

Разрабатывая продукт небольшими итерациями, мы получаем возможность не только раньше поставить ценность клиенту. Что гораздо важнее, мы получаем обратную связь от заказчиков. Ценно ли то, что мы делаем? Туда ли мы идем? Поставленная цель еще актуальна? Ответить на эти вопросы можно, только предоставив пользователю что-то, что он может использовать, потрогать. 

Чтобы добиться этого, мы декомпозируем наш продукт на более-менее независимые ценные элементы. В Scrum список таких элементов называется «бэклог», однако по сути это приоритизированный лист пожеланий относительно функциональности нашего продукта.

Закон Парето гласит, что 20% усилий дают 80% результата. Иногда даже этих 80% нашего бэклога бывает достаточно для нас или нашего заказчика.

Сеть оценок для планирования в Scrum

  • Перевод
  • Tutorial

Scrum — достаточно простая методология. Работать же по скраму не так и просто. Точно так же происходит со многими инструментами, например с покером для планирования. Практика сама по себе вполне понятная, но продуктивно её использовать в течении длительного времени затруднительно.
В этой статье я расскажу про технику, которая упрощает процесс оценок в работе скрам команды.
Итак, в чём же сложность?
Как вы знаете, story points — это относительные оценки объёма работы в истории. Нет способа оценить одну единственную историю в story points, вы всегда сравниваете историю с другими историями через story points. Покер может хорошо сработать в начале проекта, когда команды оценивает много историй в течении короткого промежутка времени.
Но позже, во время регулярной переоценки существующих историй и оценок новых историй становится значительно труднее, потому что калибровка одного story point забывается: «что такое один story point», «что-то я не уверен, что эта история действительно в 3 раза больше нашего золотого эталона», «эти две истории размером 5 не выглядят одинаковыми в размере, с моей точки зрения». Знакомые проблемы?

Основные симптомы ревматоидной подагры

Нужен ли тебе Agile: 5 моделей для проверки

Дети, рожденные в год подписания Agile Manifesto, в этом году празднуют совершеннолетие. А взрослые люди продолжают спорить, где Agile применим. Обычно бьют по площадям: можно ли использовать Agile вне IT. Иногда добавляют драмы: пробовали ли вы строить атомную электростанцию по Agile? Для художественного эффекта так, конечно, лучше. Но если вы хотите сделать продукт, а не победить в конкурсе ораторов, то лучше смотреть применительно к конкретной ситуации.
В этой статье мы расскажем о нескольких моделях оценки применимости Agile и подробнее остановимся на одной их них — Agile Suitability Model, представленной в Agile Practice Guide от PMI и Agile Alliance.

Сонник Дома Солнца

АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЭЮЯ

Отлично!

Какими будут роды

Последние материалы

База знаний Статьи

Как мы отменяли ретроспективы

В чем суть философии Аджайла

И «Манифест», и «Принципы Аджайла» написаны очень общими фразами, поэтому их трудно понять

Оцените сами: «люди и взаимодействия важнее процессов и инструментов», «самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд» или «постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта»

Чтобы стало понятно, сравним как отличаются составы команд, процесс работы и результат у команды с аджайл образом мышления и без него. Допустим, две условные пекарни хотят наладить производство и продажу новых пирожных.

Традиционная пекарня

Новыми рецептами занимаются шеф и технолог. Мнение кондитеров и продавцов учитываться не будет: первым дадут готовые инструкции для работы, вторым — готовую продукцию.

Шеф и технолог будут отчитываться перед директором пекарни. А он — хвалить или ругать за неудачный проект.

Аджайл пекарня

Для создания рецепта привлекут всех, кто будет работать с новой выпечкой: кондитеров, продавцов из розничных магазинов, специалистов отдела доставки и закупки продуктов, владельца пекарни, технолога и шефа. И обязательно — реальных покупателей.

В команде нет начальников и иерархии. Решение принимают профессионалы, которые вместе отвечают за успех или неудачу

Аджайл — это быть командой профессионалов, которым не нужен начальник

Процесс работы тоже отличается: строгое распределение функций в традиционной пекарне и совместные эксперименты аджайл-команды:

Традиционная пекарня

Владелец пишет письмо шефу о том, что надо выпустить новую выпечку, и больше не вмешивается в работу.

Шеф выбирает, какое пирожное будет выпускать пекарня, технолог разрабатывает рецепт и документацию.

Иногда шеф и технолог вместе экспериментируют над рецептом, но редко привлекают пекарей с производства. Каждый работает над своим кусочком работы.

Аджайл пекарня

Владелец магазина рассказывает, почему хочет новые пирожные и какая себестоимость будет выгодна пекарне. Продавцы уточняют, какие пирожные просят покупатели. Закупщики предлагают продукты, на которые сейчас выгодные цены.

Поиск идеального рецепта основан на эксперименте. Команда придумывает рецепт, печет пробную партию и получает отзывы на дегустации. И так несколько раз, пока не получится идеальный вариант.

Аджайл — это работа вместе с клиентом, эксперименты и готовность изменить план

Результаты пекарен будут кардинально различаться: непредсказуемые у одних и гарантированно хорошие у других:

Традиционная пекарня

Вся производственная цепочка сложится только к концу проекта, поэтому проблемы могут возникнуть на любом этапе: с доставкой нужных продуктов, с процессом подготовки теста, с выпечкой и объемом продаж.

Результат непредсказуем, на проверку гипотезы уходит много сил и ресурсов.

Аджайл пекарня

Команда начала с самого простого рецепта и успела его несколько раз изменить, опираясь на отзывы клиентов.

Новыми пирожными довольны клиенты и владелец пекарни. Процесс выпечки оптимизирован, все проблемы отлажены на этапе экспериментов.

Аджайл — это быстрый выпуск работающего продукта, который нравится клиентам и заказчикам

Чтобы выстроить работу в духе аджайла пекарня из нашего примера использовала в работе постулаты «Манифеста»:

  • люди и взаимодействия важнее процессов и инструментов,
  • работающий продукт важнее исчерпывающей документации,
  • сотрудничество с заказчиком важнее согласования условий контракта,
  • готовность к изменениям важнее следования первоначальному плану.

Аджайл образ мышления помогает компаниям становиться успешными. Но в вопросах идеологии любые крайности вредны — неверно думать, что аджайл отрицает регламенты, документацию, договоры и планирование. Все это есть, но оно имеет гораздо меньшую роль, чем живое взаимодействие людей и гибкость в работе.

На чем стоит Scrum: роли, элементы и другое

Прежде чем приступить к разбору Скрама, неплохо было бы познакомиться с ценностями подхода. Они звучат ну прямо как гимн или установки из кабинета психолога. И еще раз доказывают, что все гениальное – просто и базируется на понятных вещах.

Основные ценности Скрама – это преданность, смелость, сфокусированность, открытость и уважение. Отсюда вытекают и главные принципы фреймворка – прозрачность, инспекция и адаптация. Все это ложится в основу всеобщего доверия. 

Итак, Scrum – относительно простой и гибкий подход к разработке. И у него есть своя четкая структура из несложных элементов и ролей. Поехали!

Роли в Scrum

В Scrum всего 3 роли:

  1. Скрам Мастер. Это бизнес-аналитик, руководитель проекта. Его задача – организовывать и проводить совещания и следить за тем, чтобы соблюдалась технология Scrum. Еще он снимает противоречия и направляет команду. 
  1. Product Owner. А это уже владелец проекта, его функциональный заказчик. Он отвечает за разработку продукта и ставит задачи команде. Это всегда один человек, а не группа лиц.
  2. Development Team. Команда из профильных специалистов – программистов, дизайнеров, аналитиков и т.д. Работает по принципам самоорганизации и самоуправления. Типичный размер команды – 7 человек (плюс/минус 2). За результат команда отвечает как единое целое. 

Артефакты (элементы) Scrum

В Скрам задействуется всего 4 артефакта.

Product Backlog

Это список требований, которые необходимо выполнить по проекту. Когда в нем не остается требований, проект считается завершенным. Принимать участие в дополнении этого списка могут все участники команды. 

Sprint Backlog

Список требований на ближайший спринт. Все требования обязательно делятся на задачи и получают оценку. Задачи обычно представляются команде на Kanban-доске.

Sprint Goal

Краткое описание цели, ради которой выполняется спринт. Целевое оформление спринта помогает команде в принятии обоснованных решений. Артефакт несет неоценимую помощь в пользу проекта, если команда находит альтернативные пути выполнения задачи и имеет право самостоятельно принимать подобные решения. Для осознанности таких решений и определяется цель спринта. 

Sprint Burndown Chart

Дословно название артефакта переводится как «диаграмма сгорания». В качестве «сгорающих» элементов рассматриваются человеко-часы. Диаграмму обновляют по завершению любой задачи. Незамысловатые диаграммы позволяют наглядно оценить, насколько быстро команда продвигается вперед. 

Ритуалы (процессы) в Скрам

Подход использует парочку процессов, которые здесь принято называть ритуалами. Каждый из них можно использовать строго по инструкции в соответствии с подходом. В реальной жизни ритуалы пытаются сделать адаптивными, но ключевые принципы остаются неизменными.

Sprint Planning Meeting

Это встреча по планированию спринта, на которой команда выбирает требования из Product Backlog и создает Sprint Backlog. На этой встрече Product Owner отвечает на вопросы участников команды.

Daily Meeting

Ежедневная встреча всей команды – она обязательно должна проходить каждый день, причем в одно и то же время. Интересный момент: на встрече все стоят (потому встречи еще зовут стендапами), потому длительность мероприятия не более четверти часа. В таком коротком временном промежутке каждый должен ответить на 3 вопроса:

  • Что я делал вчера?
  • Чем я занимаюсь сегодня?
  • Какие есть проблемы?

На этом митинге только делятся информацией, и не решают проблемы, а лишь выявляют их.

Sprint Review

Самый волнительный момент в завершении спринта – демонстрация результата. Ценность его в том, что любой результат, как отличный, так и очень плохой, все равно будет продемонстрирован. Если этого не происходит, то такое положение вещей дискредитирует все плюсы гибких процессов. 

Retrospective

Это ритуал по обмену опытом в коллективе команды и конструктивное улучшение процесса разработки. На встрече обязательно присутствие всей команды, вместе со Скрам Мастером, а вот Product Owner сам решает – приходить или воздержаться. На встрече озвучивают ответы на ряд вопросов:

  • Какие решения нужно принять, чтобы сделать процесс еще более предсказуемым?
  • Какие проблемы мешают выполнять обязательства, возложенные на команду?
  • Как еще лучше работать и взаимодействовать с Product Owner’ом?
  • Какие ошибки допускаются в команде и почему это происходит?

Изменение требований к проекту — ключевая проблема разработки ПО

Перевод

Шаги по разработке большой компьютерной программы для доставки заказчику
Иллюстрация выше — из статьи д-ра Уинстона Ройса «Управление разработкой больших программных систем» 1970 года. Считается, что это первое в программной инженерии описание модели водопада. Диаграммы д-ра Ройса разошлись по сотням учебников и статей. Но часто забывают тот факт, что изобретатель водопада сразу написал: «Эта конкретная реализация рискованна и влечёт за собой неудачу».
Мы разрабатываем программное обеспечение, чтобы удовлетворить потребности какого-либо клиента, пользователя или рынка. Задача программной инженерии как области компьютерных наук — сделать эту разработку предсказуемой и экономически эффективной.
Прошло уже более 50-ти лет с момента проведения первой конференции IFIP по программной инженерии, и за это время предложено немало различных методик, процессов и моделей, призванных помочь разработчикам достичь этого предсказуемого и экономически эффективного процесса. Но и через полвека у нас те же проблемы, что и всегда: опоздания, неудовлетворительные результаты и полные провалы проектов.

Год в Scrum: наблюдения скрам-мастера

Друзья, привет! Меня зовут Александр Еремин, я – скрам-мастер продуктовой команды PRO Daily Banking Росбанка. Мы работаем с сегментом малого и среднего бизнеса.
Сегодня я поделюсь наблюдениями скрам-мастера о первом годе жизни команды в новом фреймворке.

Разновидность методологий гибкой разработки

Agile Modeling (AM)

Agile Modeling — набор ценностей, принципов и практик для моделирования программного обеспечения.

AM используют как составляющую полноценной методики разработки ПО — например, экстремального программирования или Rapid Application Development.

Принципы Agile Modeling таковы:

  • эффективное взаимодействие между проектными стейкхолдерами
  • стремление разработать наиболее простое из возможных решений, которое подойдет всем требованиям
  • постоянное получение обратной связи
  • смелость принимать и отвечать за решения
  • понимание, что вы не знаете абсолютно всё.

Agile Unified Process (AUP)

AUP — упрощённая версия другой методологии разработки ПО — Rational Unified Process (RUP). С 2012 года её заменили на Disciplined Agile Delivery (DAD), но кое-где AUP еще встречается.

Автор методики, Скотт Амблер, выделил следующие ключевые позиции Agile Unified Process:

  • Ваша команда знает, что делает;
  • Простота превыше всего.
  • Соответствие принципам гибкой методологии разработки.
  • Сфокусированность на ценных для проекта активностях.
  • Независимость в выборе инструментов.
  • Индивидуальная настройка AUP под нужды конкретного проекта.

Agile Data Method (ADM)

ADM — набор итеративных методик гибкой разработки программного обеспечения, которые делают упор на формирование требования и решений по проекту через сотрудничество отдельных команд. Как и AUP, это не самоценная методика.

Суть Agile Data Method определяется шестью положениями:

  1. Данные — основа создания любого приложения.
  2. Проблемы с проектом — их можно обнаружить только при чётком понимании цели и концепции проекта.
  3. Рабочие группы — помимо непосредственной команды разработчиков есть enterprise groups, которые поддерживают другие рабочие группы.
  4. Уникальность — нет идеальной методики, под каждый проект нужно комбинировать инструменты с разных методологий.
  5. Работа в команде — совместная работа гораздо эффективнее, чем поодиночке.
  6. «Сладкое пятно» — поиск оптимального решения проблемы («сладкого пятна»), избегая крайностей.

Essential Unified Process (EssUP)

Разработка шведского учёного Ивара Якобсона, созданная для улучшения Rational Unified Process.

EssUP оперирует понятием практики, в которые входят:

  • сценарий использования — описание поведения системы.
  • итерационная разработка — создание рабочих кусков кода короткими циклами в несколько недель.
  • командные практики — направленные на сплочение команды и повышение её эффективности.
  • процессуальные практики — например, «Думай глобально, начинай с малого» или «Вовлекайте стейкхолдеров в бизнес-процессы».

Все практики в том или ином виде встречаются в методологиях RUP, CMMI и гибкой методике разработки.

Getting Real (GR)

Эффективная для стартапов и начинающих команд методология, которая предлагает по максимуму использовать особенности небольших проектов и компаний: мобильность, гибкость, поиск новых решений, отсутствие жёсткой запутанной иерархии и т.д. Джейсон Фрид и Давид Ханссон, основатели компании 37signals (теперь — Basecamp), определили Getting Real как систему для решения реальных задач: максимально простую, понятную и функциональную.

  • возможностей
  • опций и настроек
  • структуры компании
  • встреч
  • обещаний.

Необычная концепция не получила широкого распространения, хотя отдельные элементы используют другие методики.

OpenUP (OUP)

Практики реализуются на основе четырех принципов:

  1. согласование интересов и достижение общего видения во время совместной работы
  2. непрерывное совершенствование через постоянную обратную связь
  3. фокусирование на архитектуре приложения на ранних стадиях для минимизации рисков
  4. максимизация ценности для конечного потребителя.

Как привлечь команду к процессу поиска идей и получить намного больше, чем идеи

Создание дизайн-макетов и визуализация решений почему-то всегда вызывает огромный интерес у всех участников продуктовой команды, будь то менеджер, желающий освоить Sketch, или разработчик, который многое повидал и теперь хочет делать крутые интерфейсы сам, а не просить об этом дизайнеров. И это нормально, когда всё это просто на стадии обсуждения. А вот когда доходит до реальной работы…

My Why

Всем привет, меня зовут Аня, я продуктовый дизайнер в американской компании Scentbird NY, до этого занималась разработкой флагманских продуктов вместе с дизайн-командой Альфа-Банка.
Мне по жизни очень везёт, и я почему-то всегда работаю с разработчиками, которые предлагают самые интересные решения по продукту. Причем даже лучшие, чем могли бы предложить многие менеджеры и владельцы продуктов. И я заметила вот какую штуку: чем раньше вы подключаете разработчиков к работе над задачей, тем лучше получается результат. Под катом я расскажу, как проводить брейнштормы с командой так, чтобы генерировать не самые очевидные, но зато эффективные решения. Которые при этом еще и весьма просты в реализации. И, что главное, как не потратить на это уйму времени и не погрязнуть в согласованиях.

Читайте также

Делай сразу!

Главное мерило эффективности, принятое в гибкой методологии, — продукт. Пока другие только готовят документацию, agile-команды стремятся представить работоспособный прототип. Это — как в знаменитой мотивирующей формуле «сделано — это лучше, чем идеально». Реализуйте первую функцию и начните тестировать ее, создавая следующую, и так раз за разом — вот главное правило.

Этап разработки в Agile, это самое «раз за разом», называется итерацией. Итерации имеют одинаковую длительность на протяжении всего проекта и в среднем составляют две недели. В рамках отдельной итерации выполняется конкретная задача, главным свойством которой является то, что ее решение должно обновлять продукт до новой версии или увеличивать его эффективность. Именно по этому признаку такие задачи и отбираются.

Как итеративный подход обеспечивает гибкость? Благодаря тому, что отдельные процессы могут идти параллельно и независимо друг от друга. Да, надо признать, что это может увеличить конечный срок разработки от идеи до полностью готового продукта. Но в том-то и дело, что рабочий, функциональный и уже способный встретиться с конкурентами и порадовать пользователей продукт создается в Agile гораздо раньше, а цикличность доработок позволяет добиться куда лучшей проработки таких функций и возможностей, до которых при плановой работе руки бы не дошли никогда.

О командах, внедряющих Scrum

— От кого в компании должна исходить инициатива внедрения методологий гибкой разработки?— Какие новые роли и функции возникают в организации или команде с внедрением гибких методологий? Какие из них обязательны, какие опциональны?Владелец продуктаScrum-мастерне тимлидAgile-коуч фреймворке SAFe— Как разграничиваются функции владельца продукта и Scrum-мастера «в идеальном мире»?— Какие методологии и управленческие модели стоит освоить тем, кто собирается браться за одну из ранее описанных ролей?Владельцу продуктаScrum-мастера— Действительно ли коллективное владение кодом снижает зависимость компании от «звёздных» разработчиков? Не падает ли их мотивация?нет свободного временирычагов влияния на него нет достижения такого человека невозможно «масштабировать»— Что предпринять, чтобы всё-таки перейти к командному подходу?

  • Принять риск того, что мы неизбежно потеряем часть текущей команды «звёзд»: не все согласятся с новым подходом. Это неизбежно.
  • Изменить структуру поощрений. Например, ввести бонусы за написание документации или за обучение новых сотрудников, чтобы постепенно это стало обыденной практикой.
  • Среди «звёзд» найти тех, кто хочет расти, и помочь им освоить навыки менеджмента, фасилитации, коучинга. Открыть им новые горизонты. Не все на это согласятся. Зато те, кто согласится, будут лучшими приверженцами новых принципов работы.
  • Размывать культуру «дедовщины». В том числе вырывать «звёзд» из их привычной среды, например формируя новые команды по принципу «четыре-пять новичков на одного старичка». Плюс в такой команде нужно назначать умного и умелого Scrum-мастера, который даст понять «старичку», что ему ничто не угрожает, и в то же время настроит «новичков» на то, чтобы они с уважением относились к тем, кто знает больше них. И хорошо, если такая команда будет сидеть не в том месте, где раньше работал «старичок».

Корпоративное племя. Чему антрополог может научить топ-менеджераМатериал подготовила команда Mail.Ru Cloud Solutions.

Внедрили пользовательские истории

То есть каждое обновление рассматривали не только со стороны бизнеса, но и со стороны пользователя.


Схематическое отображение пользовательской истории

К примеру, разработчик предлагает внедрить функцию возврата билета. Мы пытаемся выяснить, зачем компании такой сервис, как поможет бизнесу тот факт, что люди не будут стоять в очереди, чтобы вернуть билеты, и так далее. Здесь есть ценность: это эксклюзивный функционал, его нет у конкурентов. Компания решает заниматься ее внедрением, потому что она может принести новых клиентов.

Факторы, провоцирующие возникновение подагрического артрита

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector