InfoWorld, США

Одно из главных преимуществ методов скорого программирования заключается в том, что они позволяют работать очень быстро

Корпорация IBM, несомненно, входит в число старейшин ИТ-отрасли, но это не мешает ей оставаться одним из лидеров по внедрению нового поколения методик скорого (agile) программирования.

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

«Скорое программирование — мощный импульс развития отрасли, — считает Скотт Эмблер, менеджер по вопросам скорой разработки группы IBM Rational Software. — Мы занимаемся этим уже какое-то время, но раньше у нас не было возможности обсудить, что работает, а что нет».

В некоторых подразделениях IBM скорое программирование применяется уже более пяти лет, отметил Майкл Максимильен, научный сотрудник IBM Almaden Research Center. К примеру, этот подход используется для разработки и обновления сайта IBM.com.

Эмблер убежден, что скорое программирование позволяет создавать более качественные программы.

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

«Вы получаете программное обеспечение, которое соответствует меняющимся требованиям ваших заказчиков», — сказал он.

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

Барри Боэм, профессор программной инженерии из Университета Южной Калифорнии, согласен с утверждением о гибкости скорого программирования.

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

Практические методы скорого программирования на дадут разработчикам упустить возможности, которые могут возникнуть на рынке, пока вы ждете изменения требований в проектах, реализуемых на основе другой модели программирования. Так считает Лори Вильямс, доцент университета Серверной Каролины. При скором программировании разработчикам не приходится прежде, чем приняться за работу, ждать, когда требования будут окончательно утверждены.

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

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

Еще одно препятствие, с которым сталкивается скорое программирование, — это численность групп программистов. Идеальная группа разработчиков, занимающихся скорым программированием, состоит из 7-10 человек, однако над некоторыми проектами национального масштаба работает по 4 тыс. разработчиков, и методы скорого программирования здесь неприменимы.

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

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