Главная | FAQ по 1C + SQL | FAQ по 1С | Разработка ПО | Управление проектами | Литература | Экстремальное программирование | Статьи | Скачать | Ссылки | Прочее

 

Экстремальное программирование (eXtreme Programming, XP)

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

Методики экстремального программирования

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

Литература по экстремальному программированию

 

 

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

Многие методики экстремального программирования я использую в своей работе.

Мое постижение экстремального программирования началось с прочтения книги

основателя этой методики Кента Бека "Экстремальное программирование".

Книга написана простым и понятным языком. Надо сказать что мне она очень понравилась.

Книга призвана помочь вам принять взвешенное решение о том, надо ли использовать XP

в вашем собственном проекте или нет. Вторая цель данной книги - помочь тем из вас,

кто уже использует XP - лучше понять эту методику.

Итак, что же такое экстремальное программирование (eXtreme Programming, XP)?

 

 

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

 

Экстремальное программирование эффективно применяется:

- в проектах, над которыми может работать от двух до десяти программистов;

- в проектах с постоянно изменяющимися требованиями;

- в проектах с высокой степенью риска;

- при заранее заданных сроках сдачи проекта;

 

Методика XP существенно снижает риски разработки программного обеспечения:

- Изменение характера бизнеса - в рамках XP цикл работы над очередной версией программы существенно укорачивается

- Несоответствие решаемой проблемы - в рамках XP заказчик является составной частью команды, которая работает над проектом.

- Смещение графика - XP предлагает использовать очень короткие сроки выпуска каждой очередной версии.

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

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

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

- Текучка кадров - XP предлагает программистам брать на себя ответственность самостоятельно определять объем работы и время, необходимое для выполнения этой работы.

 

 

Методики экстремального программирования

 

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

 

Методики:

1. Игра в планирование (planning game) - быстро определяют перечень задач (объем работ), которые необходимо реализовать в следующией версии продукта. Для этого рассматриваются бизнес-приоритеты и технические оценки. Если со временем план перестает соответствовать действительности, происходит обновление плана.

2. Небольшие версии (small releases) - самая первая упрощенная версия системы быстро вводится в эксплуатацию, после этого через относительно короткие промежутки времени происходит выпуск версии за версией.

3. Метафора (metaphor) - это простая общедоступная и общеизвестная история, которая коротко описывает, как работает вся система. Эта история управляет всем процессом разработки.

4. Простой дизайн (simple design) - в каждый момент времени система должна быть спроектирована так просто, как это возможно. Чрезмерная сложность устраняется, как только ее обнаруживают.

5.Тестирование (testing) - программисты постоянно пишут тесты для модулей. Для того, чтобы разработка продолжалась, все тесты должны срабатывать. Заказчики пишут тесты, которые демонстрируют работоспособность и завершенность той или иной возможности системы.

6. Переработка (refactoring) - программисты реструктурируют систему, не изменяя при этом ее поведения. При этом они устраняют дублирование кода, улучшают коммуникацию, упрощают код и повышают его гибкость.

7. Программирование парами (pair programming) - весь разрабатываемый код пишется двумя программистами на одном компьютере.

8. Коллективное владение (collective ownership) - в любой момент времени любой член команды может изменить любой код в любом месте системы.

9. Непрерывная интеграция (continuous integration) - система интегрируется и собирается множество раз в день. Это происходит каждый раз, как завершается решение очередной задачи.

10. 40-часовая неделя (40-hour week) - программисты работают не более 40 часов в неделю. Это правило. Никогда нельзя работать сверхурочно две недели подряд.

11. Заказчик на месте разрабоки (on-site customer) - в состав команды входит реальный живой пользователь системы. Он доступен в течение всего рабочего дня и способен отвечать на вопросы о системе.

12. Стандарты кодирования (coding standards) - программисты пишут весь код в соответствии с правилами, которые обеспечивают коммуникацию при помощи кода.

 

 

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

В Интернете существует немало интересных статей, посвященных экстремальному программированию. Здесь представлены одни из самых полезных и необходимых для изучения XP:

 

 

Дополнительная литература по теме >>>

 

 

2000-2015

denis2001 @ pisem.net
http://thebeautiful.narod.ru

 

 

Hosted by uCoz