УМП Технологические подходы к разработке ПО 30
часто называют инспектированием кода, однако было показано, что инспектирование
достигает наилучших результатов, если начинается как можно раньше, еще задолго до по-
явления текста программ.
Принцип инспектирования может быть обобщен четырьмя правилами.
• Вскрытие дефектов. Из инспектирования намеренно исключается исправ-
ление дефектов. Процесс исправления предоставлен автору. Во время ин-
спектирования ни минуты времени не должно быть потрачено на обсужде-
ние способов исправления дефекта. Все обсуждения должны проходить по-
сле окончания инспектирования.
• Участие коллег. Инспектирование проводится внутри группы разработчи-
ков программного обеспечения и не предполагает вовлечения отношений
начальник — подчиненный. Инспектируется текущая работа, а не способно-
сти ее автора. Автор несет ответственность только за конечный продукт, то-
гда как инспектирование проводится до того, как работа сдана. Однако ра-
бота, представленная автором для инспектирования, должна быть лучшим
вариантом, но ни в коем случае не черновиком. Было бы пустой тратой ре-
сурсов группы искать, находить и описывать дефекты, которые автор, при-
ложив некоторые усилия, в состоянии найти сам.
• Распределение ролей. Каждый из участников проекта берет на себя одну из
следующих ролей. При нехватке кадров один человек может выполнять сра-
зу две роли. Обычно ведущий может одновременно быть и секретарем. Од-
нако для достижения беспристрастной проверки автор не должен выполнять
никаких других ролей.
• Ведущий ответственен за правильное проведение инспектирования.
Ведущий также является инспектирующим.
• Автор несет ответственность за свою работу и за исправление всех
найденных в ней дефектов. Автор является одновременно и инспек-
тирующим.
• Секретарь отвечает за учет описания и классификацию дефектов, как
это принято в команде. Секретарь также участвует в инспектирова-
нии.
• Тщательная подготовка. Участникам инспектирования необходимо подго-
товиться к нему так же детально, как и самому автору. Инспектирования не
являются просто посиделками, докладами руководству или образователь-
ными семинарами. Инспектирующие должны работать на том же уровне де-
тализации, что и автор.
В различных источниках отмечается, что инспектирование, несмотря на большие затраты
времени экспертов и дороговизну проведения, вполне окупает себя. Если начать подсчи-
тывать стоимость инспектирования, то можно схватиться за голову, однако всегда следует
сравнивать эту стоимость со стоимостью пропущенных дефектов. В конечном итоге, все
дефекты должны быть найдены и исправлены. Если это не делается вскорости после того,
как дефект был внесен, то стоимость исправления катастрофически возрастает.
Помимо инспектирования, многие организации применяют обзоры.
Обзор — это собрание, на котором обсуждается как уже завершенная, так и текущая рабо-
та.
Примером тому является обзор, на котором может обсуждаться альтернативная архитек-
тура приложения. Хотя обзоры являются неотъемлемой частью проекта, они не требуют
такой детальной подготовки, как инспектирование. К тому же участникам обзоров, в от-
личие от ситуации с инспектированием, не надо играть никаких ролей. Тем не менее, об-
зоры необходимо проводить, причем регулярно с участием максимального возможно чис-