
Это не ошибка, а функция!
Разработчики-контрактники
как-то получили массу отчетов об ошибках от людей,
тестировавших последнюю версию систему, которую они только что поставили кли-
енту. Разработчики были в недоумении - система успешно прошла все их собствен-
ные проверки. После обстоятельного изучения проблемы, выяснилось, что клиенты
тестировали новое ПО, сверяясь с устаревшей спецификацией требований. То, что
тестеры в отчетах называли ошибками, на самом деле оказалось функциями. (В
обычной ситуации это просто шутка, из тех, что любят
программисты.}
Масса уси-
лий была потрачена
впустую,
поскольку тестеры неправильно представляли себе по-
ведение системы. Им понадобилось много времени, чтобы переписать тесты в соот-
ветствии с последней версией спецификации и повторно протестировать продукт, а
все из-за контроля версий.
Каждая версия документа требований должна содержать историю
переработки, где указываются внесенные изменения, дата каждого из
них, лицо, внесшее изменение, а также причина. Возможно, следует
добавлять номер версии к названию каждого отдельного
требования,
который можно последовательно увеличивать при модификации тре-
бований, например
Print.ConfirmCopies-1,
Простейший механизм управления версиями — именовать вручную
каждую версию спецификации требований к ПО согласно соглашению.
Попытка различать версии документов
по
дате изменения или дате
пе-
чати часто приводит к ошибкам и неразберихе; я не рекомендую их ис -
пользование. Несколько
команд,
в которых я работал, успешно приме -
няли такое соглашение: первая версия любого нового документа назы-
вается «Версия 1.0, набросок 1». Следующий черновик называется
«Версия
1.0,
набросок 2». Автор последовательно увеличивает номер
наброска при каждом изменении и так до тех пор, пока документ не бу-
дет утверждена базовая версия документа. Тогда название меняется
на «Версия 1.0, утвержденная». Следующие версии называются «Вер-
сия
1.1,
набросок 1» при небольшом изменении или «Версия 2.0, на-
бросок 1» при значительном изменении. (Разумеется, термины «не-
большой» и «значительный» субъективны или, по крайней мере,
зави-
сят от контекста.) При применении этой схемы ясно различаются
наброски и версии базового документа, однако необходимо
соблю-
дать строгий порядок в ведении документации.
Если вы сохраняете
требования
в текстовом редакторе, вы можете
отследить коррективы с помощью режима изменений текста. Эта
функция выделяет внесенную правку, зачеркивая удаленные фрагмен-
ты, подчеркивая добавленные и помечая вертикальными линиями на
Глава 18. Принципы и приемы управления требованиями к ПО 347