eXtreme Programming

Ноябрь 2015

Содержание

  1. Основы
  2. Практики
  3. Внедрение

История

Место XP

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

Кент Бек

Решаемые проблемы

Любая из этих проблем может привести к закрытию проекта.

Ценности ХР

Жизненный цикл

http://www.extremeprogramming.org

War Room

War Room

Task Board

Обстановка должна быть информативной.

Практики XP

Практики XP

  1. TDD
  2. Simple Design
  3. Refactoring
  4. Pair Programming
  5. Metaphor
  6. Continuous Integration
  7. Collective Ownership
  8. Coding Standard
  9. Sustainable Pace
  10. Planning Game
  11. Small Releases
  12. Customer Tests
  13. Whole Team

TDD

Простой дизайн (Simple Design)

Рефакторинг (Refactoring)

Парное программирование (Pair Programming)

Парное программирование (Pair Programming)

Парное программирование (Pair Programming)

Практики XP

  1. TDD
  2. Simple Design
  3. Refactoring
  4. Pair Programming
  5. Metaphor
  6. Continuous Integration
  7. Collective Ownership
  8. Coding Standard
  9. Sustainable Pace
  10. Planning Game
  11. Small Releases
  12. Customer Tests
  13. Whole Team

Метафора (Metaphor)

Непрерывная интеграция (Continuous Integration)

Коллективное владение (Collective Ownership)

Стандарты кодирования (Coding Standards)

40-часовая рабочая неделя (Sustainable Pace)

Практики XP

  1. TDD
  2. Simple Design
  3. Refactoring
  4. Pair Programming
  5. Metaphor
  6. Continuous Integration
  7. Collective Ownership
  8. Coding Standard
  9. Sustainable Pace
  10. Planning Game
  11. Small Releases
  12. Customer Tests
  13. Whole Team

Игра в планирование (Planning Game)

Небольшие версии (Small Releases)

Присутствие заказчика (On-Site Customer, Customer Tests)

Полная команда (Whole Team)

Внедрение

Алгоритм внедрения

  1. Обновите список проблем, которые мешают проекту быть более успешным
    • Для каждой проблемы оцените потенциальный выигрыш от ее решения
    • Оцените готовность приступить к решению каждой проблемы
  2. Выберите проблему и спланируйте ее решение
    • Она должна быть самой приоритетной, но в то же время "решаемой"
    • Составьте список из методик XP, которые будут полезны
    • Помним про взаимосвязь методик
  3. Решите проблему, применяя методики ХР
    • Последовательно внедряем отобранные методики
    • Всякий раз отводим одну или несколько итераций, чтобы они "прижились"
  4. Вернитесь на шаг 1

Вся эта работа идеально вкладывается в практику Ретроспектива из Scrum.

Контрольные вопросы

  1. Определение XP
  2. Круг решаемых проблем
  3. Ценности XP (на всех уровнях)
  4. Жизненный цикл XP проекта
  5. Рабочее окружение
  6. Практики XP
  7. Парное программирование (роли, ответственности, преимущества)
  8. Метафора: назначение практики, примеры
  9. Внедрение XP (алгоритм, важные моменты которые нужно учитывать)

Спасибо за внимание!

Вопросы?

Backup

Planning Strategy

Managing Strategy

Designing Strategy

Coding Strategy

Testing Strategy