Марина Мельник, Exigen Services — о Scrum, Distributed Scrum и Agile
Беседа с Мариной Мельник, руководителем Agile Center of Excellence компании Exigen Services о базовых особенностях применения гибкой методологии Distributed Scrum.
— Марина, для тех, кто не совсем в теме, расскажите немного об истории Agile и о Scrum-подходе.
— Agile Manifesto, «Манифест гибкой методологии разработки ПО» был выпущен в феврале 2001 года в штате Юта, США. Причиной его появления стало желание разработчиков найти альтернативу «тяжелым» практикам разработки программного обеспечения, обремененным тоннами документации. Именно таким был «метод водопада», принятый стандартом разработки в те годы.
Гибкие методики разработки использовались и ранее, но на встрече в Юте они впервые были формализованы и начали активно внедряться в широкой среде разработчиков.
В своей работе мы используем Scrum и XP — две основные методики гибкого подхода к разработке. Экстремальное программирование уделяет больше внимание инженерной стороне развития продукта, это системный подход. Методика XP сконцентрирована на процессе производства, а Scrum фокусируется на управлении и выпуске.
Многолетняя практика работы с глобальными компаниями-клиентами стала для нас отправной точкой перехода от классического Scrum к распределенному.
— А что такое классический Scrum?
— При классическом Scrum команда включает в себя от 5 до 7 человек, которые обычно находятся в одном помещении. Это называется сollocated team. Этот главный принцип озвучил Кен Швабер еще в 2001 году — команда должна базироваться в одном месте. Такие проекты, как правило, рассчитаны на небольшие узкоспециализированные приложения и длятся от двух до пяти месяцев. Поставки продукта заказчику проводятся каждые
— В чем же отличие распределенного Scrum от классического?
— Его основное отличие от классического как раз в том, что команда, вернее, команды расположены в разных центрах разработки, или даже в разных странах. Но при этом основные Agile-принципы соблюдаются.
— Зачем все так усложнять?
— При разработке сложных, крупномасштабных систем, работа над проектом может длиться до года и более, а количество разработчиков доходит до сотни. В этом случае невозможно быстро и без лишних затрат собрать collocated team, которая бы удовлетворяла всем необходимым требованиям. Нанимать новых людей в одном офисе с большой скоростью не позволяет рынок. Распределенный Scrum — прагматичный подход, позволяющий балансировать использование существующих и наем новых талантов.
— Некоторые компании стремятся к росту центров разработки, вы, судя по всему, мыслите по-другому...
— Непродуманно активный наем персонала приводит к росту так называемого «бенча», увеличению расходов на его содержание и, как следствие, малоприятным шагам по его сокращению. Мы за эффективное распределение ресурсов, бережливое производство, что в конечном итоге экономит и ресурсы заказчиков.
Мы, безусловно, набираем новых людей, но делаем это тщательно, предварительно взвесив все варианты распределения имеющихся специалистов.
— Какие еще преимущества получает компания-разработчик от использования распределенного Scrum?
— Использование такого подхода позволяет разработчикам объять почти необъятное. Располагая распределенными ресурсами и гибко комбинируя их для работы в проектах, компания может повысить уровень сложности выполняемых проектов за гибкого привлечения экспертов из разных центров разработки. Также увеличиваются шансы доступа к глобальному пулу проектов. Значительно уменьшаются риски, связанные с персоналом. В случае необходимости вы всегда можете привлечь аналогичного специалиста из другой команды или центра разработки. При грамотном управлении ресурсами значительно сокращается размер бенча, а, значит, растет прибыль компании.
— Плюсы для разработчиков очевидны. А что компания-заказчик выиграет от использования распределенного Scrum при разработке решения?
— Мы живем в мире больших скоростей и постоянных изменений. Процессы вокруг нас либо адаптируются, либо отмирают. Сейчас заказчики ПО требуют все более сложные и многофункциональные продукты, сроки проектов увеличиваются, размеры команд растут. В то же время заказчики стремятся всеми путями сократить затраты и время выхода систем в эксплуатацию. Что ж, наша задача — помогать им в этом. И распределенный Scrum является инструментом, который позволяет это реализовать.
— Какие проблемы вы могли бы назвать в организации проекта, который будет работать по методологии распределенного Scrum?
— Вопрос о наболевшем... Разница часовых поясов, что приводит к увеличению периода отклика. Языковой барьер, который сковывает, усложняет понимание, не стимулирует к общению. Амбиции членов команд: появляется какая-то соревновательная атмосфера, что затрудняет поиск оптимальных решений. Менеджерам довольно сложно правильно построить эффективную иерархию взаимодействия. Безусловно, есть проблема безопасности. Она решается технологическими методами и административными регуляторами.
Короче, много. Но мы боремся, и для того, чтобы аккумулировать наилучшие наработки и иметь возможность их успешного переиспользования, мы организовали Центр профессиональной экспертизы Agile (Agile Center of Excellence).
Также учитывая постоянно возрастающие требования проектов к квалификации персонала, одной из основных задач является постоянное обучение сотрудников.
— Как именно развиваете?
— Применять гибкие методики в процессе разработки надо учиться. Необходимо освоить все техники, чтобы иметь определенный навык и применять гибкие методики на практике. У нас существуют внутренние и внешние программы обучения. Внутренние программы направлены на обучение и развитие специалистов в области Agile, которые включат в себя тренинги, сертификации, мастер-классы и, так называемые «мосты» — виртуальные круглые столы для специалистов различных офисов.
Внешняя программа называется Exigen Agile Practices — это академическая программа обучения, целью которой является развитие у студентов и молодых специалистов знаний и навыков, необходимых IT-бизнесу в современных условиях. В ходе такого обучения можно за короткое время приобрести практические навыки по использованию Scrum.
Есть и другие программы, но они уже не относятся к распределенному Scrum.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
Найкращі коментарі пропустити