Каждое приложение или содержащая ПО система имеет
пользова-
телей, которые полагаются на нее, как на средство улучшения их жиз
ни. Время, которое тратится на выяснение потребностей
пользовате
лей
:
представляет собой высокоэффективную инвестицию в успех
проекта. Если разработчики не записывают требования, с которыми
заказчики уже согласились, как могут они удовлетворить этих заказчи
ков? Даже требования к ПО, не предназначенного для
коммерческой:
использования, следует хорошо понять. Например, библиотеки ПО
компоненты и инструменты, созданные для внутреннего
применение
разработчиками.
Зачастую невозможно полностью определить требования до
пред
варительного
конструирования.
В этом случае действуйте итеративно
и
постепенно: разрабатывайте одну порцию требований за
раз,
обяза
тельно дождитесь ответной реакции заказчика, прежде чем
приступат.,
к следующему циклу. У вас не будет оправдания, если вы начнете пи-
сать код до того, как просмотрите требования перед следующим
ша
гом. Итерации при кодировании стоят гораздо дороже, чем при
разра-
ботке
концепций.
Люди иногда впустую тратят время, отведенное на написание тре-
бований, но этот этап не самый сложный. Самое трудное —
выявит:.,
эти требования. Первоначально написание требований
представляв
-
собой процесс выяснения, разработки и расшифровки данных.
Четкое
понимание требований к продукту дает вам уверенность, что ваша
ко-
манда работает
над
теми проблемами, над которыми нужно, и приду-
мает лучшее их решение. Требования позволят вам расставить при-
оритеты в работе и оценить ресурсы, которые понадобятся. Не
зна^,
что собой представляют требования, вы не сможете определить мо-
мент окончания проекта, установить, достигнуты ли цели, или выбрать
компромиссное решение, когда придется сужать границы проекта.
Никаких предположений в требованиях
Я недавно имел дело с группой разработчиков, которая применяла доморощенные
инструменты разработки ПО, в том числе и редактор исходного кода. К
сожалению,
ни один из них не записал, что инструмент должен позволять пользователям печа-
тать код, хотя пользователи без сомнения предполагали, что это будет именно так.
Разработчикам приходилось вручную переписывать исходник, чтоб просмотреть код.
Если вы не записываете даже подразумеваемые и предполагаемые
требования,
не удивляйтесь, если продукт не будет
отвечать
ожиданиям пользователей. Перио-
дически спрашивайте: «Что мы
предполагаем?",
чтобы постараться извлечь на по-
верхность эти спрятанные мысли. Если вы заметите какое-то предположение при
Глава
1.
Особенности разработки требований к ПО
15
2-2437