Экстремалы наступают

Ли Коупланд

Ли Коупланд,
Еженедельник "Computerworld", №44, 2001 год

В корпорации приходит экстремальное программирование

Как завершить разработку проектов в отведенные сроки, уложиться в заложенный бюджет и при этом свести к минимуму число программных ошибок? Пытаясь решить эти задачи, компании все чаще обращают внимание на новый метод проектирования, получивший название "экстремального программирования". Однако участники конференции Object-Oriented Programming, Systems, Languages and Applications 2001 пришли к выводу, что в условиях жесткой конкурентной борьбы в большинстве компаний предпочитают постепенный переход к подобным технологиям разработки, отказываясь от единовременного и полномасштабного их внедрения.

Пять лет назад эту методологию впервые внедрил программист Кент Бек, являвшийся руководителем проекта Chrysler Comprehensive Compensation (C3). Проект состоял в переписывании приложения расчета зарплаты в корпорации Chrysler. Экстремальное программирование предусматривало участие клиентов в разработке наряду с командой программистов, совместное использование технологии кодирования, объединение разработчиков в пары, автоматизацию тестирования устройств и постоянную корректировку кода с целью его дальнейшего упрощения.

"Сегодня некоторые группы разработчиков приложений для корпорации DaimlerChrysler в США и Германии по-прежнему прибегают к экстремальному программированию", - отметил архитектор портала и Web-приложений крупнейшего автомобилестроительного предприятия Кристиан Веге. Однако, по словам Веге, в DaimlerChrysler применяются лишь отдельные элементы концепции экстремального программирования, в частности, тщательное тестирование устройств и реализация проектов небольшими командами разработчиков. Остальные принципы экстремального программирования, в том числе и разработка парами, как правило, не находят применения, потому что члены большинства коллективов программистов находятся далеко друг от друга, а создание приложений поручается внешним организациям.

"Корпорации все чаще обращаются к новым технологиям, чтобы получить максимальную отдачу при минимальной численности групп программистов. При этом такие группы оказываются способны создавать продукты, не уступающие более сложным распределенным приложениям, - заметил аналитик компании Forrester Research Крис Дайел. - При проектировании новых типов приложений, в частности Web-служб, потребность в хорошо структурированном коде возрастает, и 'срезать углы' здесь невозможно".

Сотрудники развлекательного канала Noggin придерживались технологии экстремального программирования, запуская в эксплуатацию интерактивный Web-сайт, на котором демонстрировались ранее записанные телевизионные программы. В реализации этого проекта принимала участие команда разработчиков компании CodeFab.

"Мы разделили один большой проект на множество маленьких, - пояснил вице-президент Noggin по вопросам программирования и выпуска новых продуктов Кенни Миллер. - Я опасался, что столь масштабное начинание будет погребено под тяжестью собственного веса. Экстремальное программирование позволило нам двигаться вперед постепенно".

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

"Само название 'экстремального программирование' уже привносит определенные сложности, - заявил независимый консультант Джеймс Нокс. - Большинство менеджеров, услышав этот термин, полагают, что к ним данная технология не имеет никакого отношения. Им представляется, что в слове 'экстремальное' заложен чересчур радикальный смысл".

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

Работать по-новому

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

Экстремальное программирование предполагает 12 основных методов разработки, в том числе:

  • группы разработчиков подготавливают небольшие фрагменты кода и быстро внедряют их в практику;
  • парное программирование: два разработчика работают вместе на одном рабочем месте;
  • предоставление клиентам на сайте всех необходимых средств для участия в разработке проекта;
  • пазрабатываемый код становится коллективной собственностью всех программистов, которые могут вносить в него изменения.

Метод быстрого моделирования строится на нескольких базовых концепциях, таких как:

  • создание простого информационного наполнения;
  • частое тестирование кода;
  • использование нескольких архитектур.