Учебники

Экстремальное программирование — дополнительные функции

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

Петли обратной связи

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

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

Следующая таблица иллюстрирует события обратной связи и продолжительность обратной связи.

Обратная связь Событие Длительность обратной связи
Парное программирование секунд
Модульное тестирование минут
Разъяснения среди Команды и с Заказчиком часов
Прогресс В день
Приемочное тестирование дней
Планирование итерации Недели
Планирование релиза Месяцы

Управление проектом

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

Тем не менее, эти действия включают требования управления проектом.

  • Планирование релиза

    • Область действия определяется пользовательскими историями в карточках историй.

    • Оценки — это оценки историй, которые могут быть в историях.

    • Вехи доставки фиксируются планами выпуска.

    • Релиз делится на итерации.

  • Планирование итерации

    • Истории вдуваются в задания в карточках задач.

    • Оценки являются оценочными заданиями.

    • Распределение задач осуществляется путем балансировки коэффициента нагрузки по команде.

    • Принятие задачи — обязательство и ответственность команды.

  • отслеживание

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

    • Производительность с точки зрения оценки задач из фактического времени для реализации, выполненной на уровне разработчика.

    • Отслеживание дефектов

Планирование релиза

Область действия определяется пользовательскими историями в карточках историй.

Оценки — это оценки историй, которые могут быть в историях.

Вехи доставки фиксируются планами выпуска.

Релиз делится на итерации.

Планирование итерации

Истории вдуваются в задания в карточках задач.

Оценки являются оценочными заданиями.

Распределение задач осуществляется путем балансировки коэффициента нагрузки по команде.

Принятие задачи — обязательство и ответственность команды.

отслеживание

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

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

Отслеживание дефектов

Экстремальное программирование — отраслевой опыт

Из проектов экстремального программирования, выполняемых в отрасли, есть определенные знания, полезные для команд.

Уроки из практики XP

В следующих разделах вы получите представление об этих уроках.

  • Простой дизайн — простой дизайн эффективен, прост в сборке и обслуживании.

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

  • Коллективное владение — каждый гордится своим хорошим кодом. Работая вместе, каждый гордится кодом каждого.

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

Простой дизайн — простой дизайн эффективен, прост в сборке и обслуживании.

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

Коллективное владение — каждый гордится своим хорошим кодом. Работая вместе, каждый гордится кодом каждого.

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

Scaling Extreme Программирование

Первоначально экстремальное программирование считалось эффективным в небольших командах, с размером команды до 12-16 разработчиков.

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

Документация

Экстремальное программирование не против какой-либо документации. Он поощряет документирование того, что требуется, когда это требуется и только до требуемой и достаточной детализации. Это может отличаться от проекта к проекту, и от проекта зависит размер документации. Тем не менее, практика экстремального программирования не допускает пропуск документации.

Преимущества применения XP

Экстремальное программирование оказывается полезным при применении в —

  • Среды, которые очень неопределенны

  • Внутренние проекты

  • Совместные предприятия

Среды, которые очень неопределенны

Внутренние проекты

Совместные предприятия

Недостатки применения XP

Экстремальное программирование оказывается невыгодным, когда —

  • Среды большие и сложные.

  • Требования хорошо поняты.

  • Клиент находится на расстоянии или недоступен.

Среды большие и сложные.

Требования хорошо поняты.

Клиент находится на расстоянии или недоступен.

Заблуждения XP

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