Из этого материала вы узнаете:
Что такое agile и о правилах его внедрения в работу сегодня должен знать каждый человек, который так или иначе связан с проектной деятельностью. Даже если вы просто являетесь скромным членом команды, эта информация все равно должна быть вам известна.
Благодаря agile-разработке можно правильно организовать рабочие процессы, сэкономить время и иные важные ресурсы. Сегодня подробно поговорим об особенностях такого подхода и расскажем про основные принципы применения.
История возникновения agile
Для того чтобы понять, что такое agile, нужно вернуться в семидесятые годы прошлого века. Именно тогда начались системные разработки программного обеспечения и активная работа над проектами.
Ключевым событием можно считать момент, когда в США было опубликовано исследование американского ученого Уинстон Ройса «Управление развитием крупных программных систем». В нем был проведен анализ недостатков действующих принципов разработки ПО и сделан вывод о том, что нужно отказаться от метода поочередного завершения каждого периода работы над программой и полностью изменить подход к данному процессу.
История возникновения agile
Его идея состояла в реализации фазового подхода. Он считал, что начинать работу нужно со сбора всех необходимых для реализации проекта требований и лишь затем заниматься структурой и дизайном ПО, прописывать код и осуществлять остальные необходимые действия.
На базе этой идеи удалось получить целый комплекс гибких методов разработки программного обеспечения, которые позволили исключить многочисленные трудозатратные и излишне усложненные процессы. Хронология появления методов была следующей:
- 1991 год – метод ускоренной разработки приложений RAD.
- 1994 год – метод разработки динамических систем DSDM.
- 1995 год – платформа гибкой разработки Scrum.
- 1996 год – гибкая методология разработки Crystal Clear и также экстремальное программирование XP.
- 1997 год – интерактивная методология разработки ПО FDD.
Перечисленные методы в последующем вошли в группу гибких методов создания программного обеспечения.
А в 2001 году на встрече семнадцати ведущих разработчиков ПО, которая состоялась в штате Юта, был совместно издан «Манифест о гибкой разработке программного обеспечения agile». Слово «agile» в данном случае было выбрано потому, что его можно перевести не только как «подвижный», «проворный», «быстрый», но и как «гибкий». Этот манифест стал общепринятой нормой для программистов во всем мире.
Основные идеи и принципы agile
В основе манифеста лежит четыре фундаментальных идеи и 12 принципов эффективного управления проектами. Разные варианты их использования являются базой для построения всех систем управления проектами, созданными с помощью принципов agile.
Итак, в чем суть agile, что это такое простыми словами? Основа идеи будет следующей:
- Процессы и инструменты вторичны – на первом месте люди.
- Документация не должна быть приоритетнее, чем рабочее ПО.
- Обсуждение условий контракта менее важно, чем сотрудничество с клиентами.
- Любой готовый план должен быть изменен без проблем в случае необходимости.
Основными принципами agile являются следующие:
-
Удовлетворять потребительские запросы, ритмично поставляя ПО для заказчиков и заблаговременно предупреждая их о вносимых изменениях.
-
Не устанавливать жесткие рамки для конечного продукта, а менять их в процессе разработки.
-
Поставлять рабочее ПО через определенное время (например, еженедельно или ежемесячно).
-
Находиться на связи с заказчиком во время всего процесса разработки.
-
Создавать благоприятные условия для работы команды, мотивировать ее членов на успешное выполнение задач проекта.
-
Обеспечивать идеальные условия для коммуникаций между сотрудниками, занимающимися разработкой.
-
Изменять прогресс лишь при условии, что это повысит функциональность ПО и соответствует запросам клиента.
-
Следить за непрерывным темпом и оптимальной скоростью работы.
-
Обращать внимание на технические детали и дизайн, так как это дает возможность регулярно совершенствовать продукт и улучшать его качество.
-
Стремиться к простоте рабочего процесса и разработке ПО, которое будет удобно и понятно для потребителя.
-
Повышать уровень самостоятельности команды – обмен идеями в процессе непосредственного общения разработчиков увеличит вероятность получения качественного продукта.
-
Поддерживать уровень конкурентоспособности, проявляя умение адаптироваться к условиям постоянно меняющейся внешней среды.
Особенности применения agile-разработки
Говоря о том, что такое agile-методология, нужно прежде всего обратить внимание на визуальный контроль. Простым и удобным инструментом контроля являются цветные карточки, каждая из которых фиксирует информацию о стадии разработки – окончание планирования работы над элементом конечного продукта, степень готовности и т. д. Визуализация процесса способствует тому, что у всех участников проекта формируется одинаковый взгляд на его текущее состояние.
При условии, что клиент также может следить за ходом выполнения своего заказа и находится в постоянном контакте с командой, все процессы получения информации участниками проекта проходят быстрее. Тот факт, что все вопросы решаются коллегиально, исключает опасность недопонимания и является основой для эффективной деятельности и быстрого достижения желаемого результата.
Особенности применения agile-разработки
Совместная деятельность и прозрачность процесса разработки позволяет очень быстро находить оптимальные варианты выхода из затруднений.
Особую роль играет в данном случае руководителя проекта. Он не нацелен на то, чтобы отдавать распоряжения и требовать их точного исполнения. Его роль – лидер, определяющий вектор деятельности команды и правила ее осуществления. Весь процесс agile-управления также является очень гибким и строится по принципу адаптации к существующим задачам.
К основополагающим принципам Agile-методологии также относится обязательное разделение проекта на части. Каждая команда при этом может сосредоточить свои усилия на выполнении полученной задачи, а весь процесс разработки значительно упрощается.
ТОП-5 ПОПУЛЯРНЫХ СТАТЕЙ
Навыки и знания, полученные в процессе работы над определенным циклом, помогают членам команды повысить уровень своей компетентности, а анализ возникших ошибок исключает вероятность их повторения в ходе реализации следующих проектов.
Разбирая, что такое agile-подход, обязательно нужно упомянуть о таких значимых мероприятиях, как спринты. Это промежутки времени, находящиеся в рамках дедлайна, во время которых команда должна успеть справиться с определенными задачами. С их помощью команда может увидеть текущий результат и оценить собственные действия.
Попробуем описать данный подход на примере и разъяснить подробнее, что это такое в системе работы agile-команды. Допустим, время проекта делится на 10 спринтов продолжительностью по 10 дней каждый. То есть в течение десятидневного спринта разработчики встречаются ежедневно. Цель встречи – обсудить состояние дел и увидеть уровень достижений.
Встречи эти очень короткие – не более четверти часа. Но за это время каждый участник команды должен получить ответы на вопросы:
-
Чем я был занят вчера?
-
Что я буду делать сегодня?
-
Какие препятствия могут помешать моей эффективной работе?
Все это дает возможность контролировать происходящее, определять стадию разработки для каждого члена команды, заранее устранять возможные трудности и препятствия на пути к конечному результату. Если сформулировать в нескольких словах, что такое внедрение agile-методологии, то нужно указать необходимость соблюдения следующих условий:
- Четкое понимание значения проекта.
- Активное взаимодействие команды с клиентом.
- Пошаговая процедура выполнения действий.
- Нацеленность на конечный результат.
- Небольшая численность каждой рабочей подгруппы (7-9 участников).
Сегодня менеджмент-проекты с поддержкой agiel чаще всего реализуются в IT-сфере. Но уже можно отметить наличие положительного опыта применения этой системы в бизнесе, обучении и других деловых сферах. Гибкое управление выбирают в качестве основы своей деятельности многочисленные фирмы и государственные структуры.
Методы управления проектами с использованием agile-методологии применяются правительствами Нигерии и Новой Зеландии, Пенсионным фонд Норвегии, компанией – разработчиком ПО Return Path, компанией – производителем кондитерских изделий Oreo, крупнейшей IT-компанией Hewlett-Packard, ПАО «Сбербанк» и другими правительственными и бизнес-структурами.
Поскольку методы менеджмента проектов каждая организация выбирает в соответствии со своими задачами, существует большое количество вариантов управления проектами на основе agile. Изучить особенности этих методов также важно, как понять суть методологии.
Преимущества и недостатки agile
Как у любой другой методологии, у agile есть свои положительные стороны и недостатки, о которых обязательно нужно иметь представление. Прежде всего отметим наличие большого количества достоинств.
Самое главное из них – гибкость. Применение этой методологии исключает необходимость строго соблюдать последовательность операций на каждом этапе деятельности. Ее задача заключается в том, чтобы в любой момент перестроить работу под запросы и пожелания потребителя конечного продукта.
Наличие в agile-подходе принципа спринт-этапов позволяет регулярно контролировать качество продукта в процессе его создания и практически исключает возможность возникновения дефектов на выходе.


