Что такое Agile и с чем его едят? Разбираемся вместе с Денисом Лаптовым

14 февраля, 2024  17:40

Согласно данным Techreport, около 71% компаний в США к концу 2023 года используют подход Agile. Рост интереса к данной методике связан, в том числе, с развитием отрасли информационных технологий в целом. О том, что же это такое, об опыте использования Agile и особенностях данной методологии с нами поделился Лаптов Денис — высококвалифицированный профессионал, который внедрял передовые технологии разработки в бизнес процессы многих международных компаний. 

Вы являетесь ведущим QA-инженером в IT-индустрии. Что привело вас в профессию?

Я начал работать в крупной российской компании на должности младшего специалиста по автоматизированному тестированию. По истечению пары лет стал старшим специалистом. Еще через год стал лидером команд по тестированию. Мы работали с крупными проектами в коммерческой и государственной сферах. В последствии я организовал самостоятельную и централизованную службу по тестированию внутри компании. Внедрил передовые технологии разработки и доставки тестового ПО в бизнес процессы в компании. Разработал внутренние стандарты качества ПО, основываясь на международных стандартах ISO. Проработал 6 лет в компании. Затем я стал QA-лидом, и с того времени QA и является моим основным занятием.

Не могли бы вы «расшифровать», что это за профессия — QA-инженер, и за что отвечают ваши коллеги?

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

denis-laptov-1.jpg (114 KB)

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

Думать о методологии Agile нужно как о способе создания программного продукта (то есть любого приложения, игры, онлайн-сервиса и так далее), похожем на сборку конструктора. Вместо того, чтобы делать всё сразу и надеяться, что ничего не сломается, мы создаем продукт постепенно, добавляя новые кусочки и проверяя, что после каждого добавления всё работает.

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

Agile — это целая философия с массой внутренних течений и направлений. Внутри этой системы, которая широко используется в ИТ-индустрии, но также может применяться в других областях, существуют отдельные методики и подходы. Я выделю три самых популярных: Scrum, Kanban и XP (eXtreme Programming). 

Как вы сказали, Agile — сложный, многогранный инструмент, можно даже сказать — целая система.  Расскажете о конкретных методах управления внутри самого Agile?

Во всем мире наибольшей популярностью пользуются Scrum и Kanban. Это два различных подхода к управлению проектами и разработке программного обеспечения.

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

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

denis-laptov-2.jpg (170 KB)

Работа QA-инженера в команде будет отличаться в зависимости от принятой методологии?

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

Какие стратегии тестирования вы используете в работе?

В своей работе я придерживаюсь подхода «Left shift». Он представляет собой концепцию, в соответствии с которой, тестирование становится частью различных стадий разработки того или иного продукта (а речь может идти о любой программе или приложении) на ранних этапах.

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

Вы как QA Lead проводите личные собеседования с тестировщиками? Если да, то каким критериям должен соответствовать кандидат? Что важно при выборе? 

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

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

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

Амалия Габриелян


 
 
 
 
  • Архив