программировании в паре.
Переоценка (reestimation) – ход во время игры в планирование, когда команда заново оценивает все оставшиеся истории, еще не реализованные в рамках текущей версии.
Переработка (refactoring) – внесение в систему изменений таким образом, что при этом поведение системы не меняется, однако улучшаются некоторые ее нефункциональные качества – простота, гибкость, понятность, производительность.
План итерации (iteration plan) – набор историй и набор задач. Программисты выбирают задачи и оценивают их.
Программирование парами (pair programming) – техника программирования предусматривает, что два человека в одно и то же время занимаются программированием одной задачи за одним компьютером, используя одну клавиатуру, одну мышь и один монитор. В ХР состав пар меняется, как правило, два раза в день.
Программист (programmer) – роль в команде ХР. Программист анализирует, проектирует, тестирует, программирует и интегрирует.
Производство (production) – фаза разработки, на которой заказчик реально использует систему для зарабатывания денег.
Ревизор (tracker) – роль в команде ХР. Ревизор измеряет текущее состояние процесса в численном выражении.
Регенерация (recovery) – ход во время игры в планирование, когда заказчик сокращает объем работ над текущей версией продукта, желая сохранить дату выпуска этой версии в случае, если либо предварительные оценки оказываются заниженными, либо скорость работы команды по тем или иным причинам снижается.
Системная метафора (system metaphor) – история, описывающая логику работы системы, которую могут рассказать любые участники проекта – заказчики, программисты и менеджеры.
Скорость команды (team speed) – количество идеальных недель программирования, которое может быть обеспечено командой за заданный промежуток календарного времени.
Тест модуля (unit test) – тест, написанный с точки зрения программиста.
Тестовый случай (test case) – набор воздействий на систему и соответствующих реакций системы. Воздействия на систему выполняются автоматически, так же автоматически выполняется проверка корректности реакций. Каждый тест должен оставлять систему в том состоянии, в котором она находилась до тестирования, благодаря этому тесты могут выполняться независимо друг от друга.
Фактор (коэффициент) нагрузки (load factor) – измеренное отношение между реальным календарным временем и идеальным временем программирования. Как правило, находится в пределах от 2 до 4.
Функциональный тест (functional test) – тест, написанный с точки зрения заказчика.
Энтропия (entropy) – тенденция системы к накоплению ошибок с течением времени и к существенному росту стоимости внесения в нее изменений.
Notes
См. книгу Э. Гамма, Р. Хельма, Р. Джонсона и Дж. Влиссидеса «Приемы объектно-ориенти рованного проектирования.Паттерны проектирования», выпущенную издательствами «Питер» и в 2001 году. – Примеч. ред.
JUnit – программная инфраструктура, предназначенная для автоматического тестирования модулей в среде Java. – Примеч. пер.
Спасибо Джону Фаваро (John Favaro) за анализ ХР с точки зрения ценовых вариаций.
Сделай самую простую вещь, которая только сможет работать. – Примеч. ред.