Снова об экстремальном программировании

Наталия Елманова

Основная идея XP

Основные принципы XP

Человеческий фактор

Немного личных впечатлений

 

Поводом для написания данной статьи стал организованный в конце апреля компанией RUSSEE семинар изобретателя экстремального программирования (eXtreme Programming, XP) Кента Бека. Идея экстремального программирования не нова — ей уже почти десять лет, но в последнее время этой идее уделяют все более серьезное внимание не только руководители проектов, но и поставщики различного инструментария для разработчиков.

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

Основная идея XP

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

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

Основные принципы XP

Помимо частого выпуска релизов, к принципам XP относятся:

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

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

Перечисленные правила следуют из более общих принципов XP, таких как:

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

Впрочем, при необходимости можно и нарушить какое-то из правил — в XP нет догм.

Человеческий фактор

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

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

Немного личных впечатлений

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

 

В начало В начало

КомпьютерПресс 6'2006


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует