В России появились курсы по экстремальному программированию, организованные в Москве и Екатеринбурге Учебным Центром компании Naumen (www.naumen.ru). Что же представляет собой данная методика программирования и как она может быть вообще полезна, я попросил рассказать Андрея ИВАНИЦКОГО, директора Центра.
- Андрей, объясните, пожалуйста, что
такое экстремальное
программирование? Какую выгоду оно
может принести IT-компании?
- Экстремальное программирование (Extreme Programming, XP) - это методика разработки программного обеспечения небольшой сплоченной командой программистов в условиях неясных или часто меняющихся требований заказчика и жестких временных рамок. Методика была разработана Кентом Беком и впервые опробована на практике в ходе внутреннего программного проекта фирмы "Крайслер" в 1996 году. С той поры она получила широкое признание, была испытана в ходе множества проектов. В интернете есть множество сайтов с информацией по XP, основным является www.xprogramming.com.
XP представляет собой неформальную методику, то есть дает четкие практические рекомендации, проверенные опытом. Они охватывают весь процесс разработки программного обеспечения (управление требованиями, проектирование, управление проектом, планирование и разработку), но при этом учитывают особенности процесса разработки и "человеческий фактор" - то, что часто упускается из виду формальными методиками. К наиболее часто упоминаемым правилам относятся парное программирование (два программиста работают за одним компьютером) и написание тестов для кода перед написанием самого кода. Однако правила XP этим не ограничиваются. Есть еще вовлечение заказчика в процесс разработки, совместное владение кодом и многое другое. Правила не являются догмой и могут применяться по отдельности, но применение их в совокупности дает синергетический эффект, придающий команде проекта новое качество.
В целом, внедрение XP в компании снижает риски программных проектов, улучшает их управляемость, повышает качество продукта.
- Как проходит обучение на курсах по XP-программированию?
- Проводимые нами курсы "XP для менеджеров" и "XP для программистов" проходят только очно (это никоим образом не говорит о недостатках дистанционной формы вообще), дистанционная форма не предусмотрена. Связано это с особенностями самой методики XP, одной из основных ценностей которой являются коммуникации, то есть непосредственное, свободное взаимодействие между участниками XP-команды, одним из которых является инструктор. В идеале, команда должна находиться в одной комнате, оборудование которой не затрудняет общения.
Обучение на "XP для программистов" проходит в виде так называемых XP-сессий, в ходе которых участники в полном соответствии с методикой проводят разработку реального программного продукта - пишут истории, планируют, пишут тесты, производят рефакторинг и т.д. В случае корпоративного обучения, то есть обучения команды программистов из одной компании, это может быть составная часть реального проекта компании. То есть обучение будет максимально приближено к реальным нуждам компании.
Участники курса "XP для менеджеров" знакомятся с рекомендациями, которые дает методика XP по управлению рисками программных проектов, планированию, взаимодействию с заказчиком, управлению качеством, персоналом, получат практические рекомендации по внедрению XP в своих организациях. Этот курс также может быть полезен для представителей заказчика и поможет избежать взаимного непонимания.
- Есть ли в СНГ еще организации, занимающиеся обучением такой методике?
- Нам такие компании не известны, хотя за рубежом тренинги по XP проводятся. Мы считаем, что это положение пора исправить, и готовы поделиться с коллегами своим опытом в этой области.
- Сколько специалистов по данному направлению планируется обучать каждый год?
- Мы не планируем сейчас какого-либо конкретного числа специалистов, обучающихся по данному направлению. По окончании 2003 года можно будет строить планы на 2004 год.
- Могут ли белорусские IT-специалисты записаться на курсы?
- Безусловно, могут! При достаточном интересе со стороны ваших специалистов мы можем проводить выездное обучение. А при большом числе специалистов из одной компании предусмотрены скидки.
Беседовал Павел БАДЯЛИК