Что AGILE-манифест означает для тестирования (QA)

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

Тестировщик » QA-блог » Обучение QA » Что AGILE-манифест означает для тестирования (QA)
на изображение что AGILE-манифест означает для тестирования (QA)

Гибкая разработка программного обеспечения

Манифест AGILE (Agile Manifesto) — декларация ценностей и принципов гибкой разработки программного обеспечения.

Гибкая разработка, в свою очередь, – это методика, направленная на снижение потерь и рисков в IT-проекте за счет того, что разработка сводится к серии коротких циклов. Такие циклы называют итерациями, они обычно длятся две-три недели. В отличие от модели «Водопад», по итогам каждой итерации надо выпустить промежуточную, но функционирующую версию ПО.

Затем эту версию надо проанализировать и усовершенствовать на следующей итерации. Такими итерациями продукт продвигается к своему финальному виду.

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

Манифест был разработан и опубликован в 2001 году организацией Agile Alliance, в которую входили 17 независимых разработчиков программного обеспечения с опытом разных методик программирования.

AGILE-манифест

Манифест очень короткий. Он включает в себя 4 ценности и 12 принципов.

Ценности AGILE:

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

При этом авторы манифеста особо подчеркивают: «Не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева».

Принципы AGILE:

  • Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
  • Изменение требований приветствуется даже на поздних стадиях разработки. AGILE-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
  • Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
  • На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
  • Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
  • Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
  • Работающий продукт — основной показатель прогресса.
  • Инвесторы, разработчики и пользователи должны иметь возможность поддерживать текущий темп бесконечно. AGILE помогает наладить такой устойчивый процесс разработки.
  • Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
  • Простота — искусство минимизации лишней работы — крайне необходима.
  • Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
  • Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы

Что дает применение AGILE в тестировании

В тестировании AGILE-подход можно переформулировать следующим образом:

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

Это меняет поведение и рабочие привычки работников:

  • Кросс-функциональная команда: тестировщики работают в полном сотрудничестве с менеджерами продуктов, разработчиками, бизнес-аналитиками, дизайнерами и др.
  • Активное участие QA в формировании требований к ПО и критериев качества.
  • QA-специалист лучше понимает ресурсы и пределы своего тестирования.
  • Тестировщики во время тестирования работают не в одиночку, а общаются с командой и задают им вопросы, чтобы прямо на месте выявлять недоработки и выяснять непредвиденные вопросы.
  • Раннее тестирование – максимально раннее.
  • Отчетность (работа с «бюрократией») – минимально необходимая.

Каковы плюсы и минусы AGILE

Плюсы
  • Больше внимания к людям, что повышает мотивацию команды;
  • Эффект самоорганизации в кросс-функциональных командах;
  • Упреждение дефектов на самой ранней стадии;
  • Анализ достаточности и необходимости проверок, движение шаг за шагом (нет «лишних движений»);
  • Минимум непредвиденных изменений
Минусы
  • Отсутствие изначальных подробного плана и инструкций по всему проекту.
  • Меньше определенности по срокам проекта.
  • Меньше возможности снизить длительность проекта за счет параллельной разработки модулей (нет полной ясности, какие функции там будут сопряжены).

Как клиент видит результат?

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

При использовании AGILE клиент может принимать участие в процессах разработки. При этом от него очень полезна и ожидаема обратная связь о каждой изготовленной в итерациях версии ПО.

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

Когда подход AGILE особенно эффективен?

Данный подход дает максимальные преимущества там, где:

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

Резюме

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

на изображение автор Андрей Куликов

Автор Андрей Куликов

Эксперт в вопросах QA, BA, AGILE/LEAN, управления персоналом.

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

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