Search Header Logo
Agile и гибкие методы разработки

Agile и гибкие методы разработки

Assessment

Presentation

•

Information Technology (IT)

•

University

•

Practice Problem

•

Hard

Created by

Юлия Анищенко

Used 1+ times

FREE Resource

19 Slides • 0 Questions

1

​Agile и гибкие методы разработки

By Юлия Анищенко

2

media

Agile Software Development (или просто Agile) — особым образом организованный процесс управления проектами в сфере разработки программного обеспечения, отличающийся максимальной гибкостью. Этот подход зачастую используются небольшими командами.

Суть Agile

Термин Agile употребляют в двух разных смыслах:

● Философия и система ценностей, которой придерживается команда. Тут речь не о конкретных инструментах и практиках, а скорее о принципах, по которым строится работа.

● Собирательное название нескольких разных гибких методологий, для которых общими являются ценности Agile.

3

media

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

Подход Agile возник после того, как в сфере IT устали от излишней бюрократии и строгости. Разработчики поняли, что создавать инновационные продукты по старым строгим методологиям просто нельзя, поэтому в 2001 году в американском штате Юта 17 разработчиков со всего света собрались и подписали манифест о новых передовых принципах разработки, которые и легли в основу Agile.

​

4

Сферы применения методологии

Изначально методология Agile формировалась специально под отрасль разработки ПО, игр и интерфейсов. В настоящее время она внедрена такими гигантами, как Google, Netflix, Microsoft, Spotify, Ericsson, Dell и Adobe. Подход успешно используется также мелкими стартапами и даже представителями других отраслей.

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

5

Специалисты, которым будет полезно изучить Agile

  • Разработчики ПО и веб-интерфейсов

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

  • Руководство компаний, менеджеры продуктов и проектов

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

  • Стартаперы

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

6

Манифест, принципы и ценности Agile

  • Удовлетворение клиентов. В процессе разработки продукта нужно в первую очередь удовлетворять запросы целевого клиента. Разработчики должны предлагать только качественное ПО и своевременно предоставлять обновление для него.

  • Гибкость процесса разработки. Приветствуется изменение процессов создания продукта, если это наделяет продукт конкурентными преимуществами.

  • Частое снабжение клиента программным обеспечением. Рабочее ПО доставляется покупателям с периодичностью раз в 2-16 недель.

  • Совместная работа руководителей и разработчиков в течение всего проекта.

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

  • Личная беседа как наиболее оптимальный канал взаимодействия внутри команды

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

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

  • Стремление к техническому и дизайнерскому совершенству при создании продукта.

  • Минимизация лишних действий во избежание переусложнения рабочих процессов.

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

  • Обязательная регулярная оценка работы и своевременная корректировка поведения команды.

7

Из того, что провозглашает манифест Agile, можно выделить 4 ключевые ценности философии.

  • Нужно стремиться к идеальной работоспособности продукта, а не к точности и подробности документации.

  • Плодотворное сотрудничество с заказчиком более важно, чем условия договора.

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

  • Люди и их взаимоотношения имеют большую важность, нежели процессы и инструменты.

8

Разница между Agile и другими методологиями

Рассмотрим главные отличия от этой строгой методологии Waterfall.

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

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

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

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

  • Руководство компании принимает непосредственное и активное участие в разработке на протяжении всех этапах работы над проектом.

9

Плюсы и минусы Agile

  • Отсутствуют четкая структура и план проекта.

  • Требуется постоянное взаимодействие с клиентом.

  • Все процессы завязаны на команду.

  • Компания слишком сфокусирована на деталях.

  • Коллективу, работавшему по традиционной модели, вероятно, будет сложно переориентироваться на философию Agile.

Минусы

  • Обеспечивается максимальная гибкость процессов.

  • Снижается вероятность провала.

  • Практически исключается срыв сроков.

  • Команда максимально вовлекается в работу.

  • Персонал быстрее реагирует на возникающие проблемы.

  • Минимизируются рутинные действия.

Плюсы

10

media

​Наибольшую популярность обрели две методики — Scrum и Kanban.

Основные средства реализации подхода

11

media

Данный подход подразумевает работу команды, состоящей из узкоспециализированных работников (программистов, тестировщиков, аналитиков и т. д.), совместно с владельцем продукта и scrum-мастером (своего рода модератором). Роль владельца продукта состоит в сборе и формулировании бизнес-требований, в создании связи между исполнителями и клиентами, в общем мониторинге проекта.

Модератор (или scrum-мастер) отвечает за управление процессами компании в соответствии с идеями Agile. А именно, он организовывает командные встречи («митинги») и поддерживает мотивацию членов команды.

​ Методика Scrum подразумевает также деление всего рабочего процесса на так называемые спринты — равные по продолжительности периоды (по 1-4 недели каждый). Длительность спринтов определяется конкретным проектом и целями команды.

Scrum

12

media

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

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

​Kanban

13

Определение целесообразности использования Agile

  • Четко заданная цель проекта, изменение которой невозможно

  • Изначальное планирование многократного повторения результатов проекта

  • Принципиальный отказ заинтересованных лиц от внедрения гибкой методологии

  • Неготовность внедрять гибкий подход самим исполнителем

Случаи, когда применение данного подхода нецелесообразно

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

  • гарантированного выпуска первой версии продукта раньше конкурентов;

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

Высокая эффективность гибкого подхода возможна при условии:

14

Особенности применения Agile

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

​Иерархическая система

  1. Собственник продукта. Точно представляет себе цель создания продукта и потенциального потребителя этого продукта. При этом непосредственно в реализацию не вникает.

  2. Координатор. Необходим для организации рабочего процесса и для координирования действий сотрудников.

  3. Команда специалистов. Фактически разрабатывают продукт.

Распределение ролей

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

Пропускная способность процесса

15

Особенности применения Agile

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

​График выполнения задач

  1. Value Based. Задачи оценивают по прибыльности и пользе для бизнеса. Определяют их положительное влияние на репутацию компании и на решение проблем целевой аудитории.

  2. Technology Risk Based. Оценивается величина технологических рисков, возникающих при выполнении задачи. Например, предъявляется слишком большое количество требований, оказывают сильное влияние внешние факторы и т. д.

Установка приоритета запланированных задач

16

Алгоритм внедрения Agile

  • Выбор конкретной методики

    Помимо упомянутых выше подходов Scrum и Kanban существуют другие методики.

  • Подготовка команды

    Вероятно, персонал придется заранее обучить командной деятельности, а также привлечь специалистов со стороны — scrum-мастеров, менеджеров с опытом управления проектами.

  • Организация рабочего процесса

    Нужно будет определиться с наиболее подходящими инструментами для работы. К примеру, выбор сделан в пользу методики Kanban. Прежде всего нужно протестировать существующие сервисы для создания канбан-досок (Trello, Scrumban, Jira и т. п.), выбрать самый удобный из них и обучить команду работе в нем.

  • Изучение аналитических инструментов

    Анализ эффективности проводится также с использованием специального инструментария. К примеру, среди Scrum-показателей особое внимание стоит обратить на Focus Factor и Velocity.

  • Тестирование методологии на первом проекте

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

17

Оценка результативности

В частности, оценка может выполняться по следующим критериям:

  • Обратная связь

  • Достигнутые заказчиком цели

  • Финансовые показатели

  • Мотивация команды

  • Время, отведенное на разработку и выпуск продукта

18

Устранение возможных трудностей

Устранению возникающих по началу препятствий помогут следующие советы:

  • Понимание причины

  • Повышение командного настроя

  • Привлечение стороннего специалиста

  • Организация профессионального обучения

19

Полезные книги по Agile

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

  • Дженнифер Грин, Эндрю Стиллмен «Постигая Agile»

Здесь не только подробно объясняются принципы Scrum и Kanban, но также приводится информация о двух других полезных методиках — XP и Lean. Читателю нужно лишь выбрать наиболее подходящий вариант. Полезно также использовать эти сведения для расширения кругозора.

  • Стивен Деннинг «Эпоха Agile»

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

  • Роб Коул, Эдвард Скотчер «Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban»

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

  • Стивен Деннинг «Эпоха Agile. Как умные компании меняются и достигают результатов»

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

  • Джеф Сазерлен «Scrum. Революционный метод управления проектами»

Автор данного издания является и автором самого подхода Scrum. Поэтому книга будет особенно ценной для будущих scrum-мастеров, а также для всех, кто хочет активно внедрять этот инструмент в работе.

  • Хенрик Книберг, Маттиас Скарин «Scrum и Kanban: выжимаем максимум»

Здесь сравниваются две популярные методики, описываются их плюсы и минусы, приводятся примеры внедрения.

  • Майк Кон «Agile: Оценка и планирование проектов»

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

pattern-tertiary
​Agile и гибкие методы разработки

By Юлия Анищенко

Show answer

Auto Play

Slide 1 / 19

SLIDE