Концепция требований к проекту (или системный проект) должна быть «живым» документом, чтобы было легче его использовать и пересматривать. Следует сделать концепцию официальным каналом изменения функций так, чтобы проект всегда имел достоверный, соответствующий современному состоянию документ. Лидер должен нести персональную ответственность за концепцию, регулярно (вместе с командой) оценивать состояние дел и готовить отчеты и запросы, способствующие этим действиям. Процесс отслеживания спецификаций требований к ПС должен помогать убедиться, что концепция надлежащим образом реализуется в детализированных требованиях к компонентам ПС. Руководство процессом контроля за изменениями должно гарантировать, что перед тем, как разрешить внесение существенных изменений в систему, производится оценка рентабельности поступивших предложений (см. лекцию 16).
Проекты, как правило, инициируются с объемом функциональных возможностей, значительно превышающим тот, который разработчик может реализовать, обеспечив приемлемое качество при заданных ресурсах. Тем не менее необходимо ограничиваться, чтобы иметь возможность предоставить в срок достаточно целостный и качественный продукт. Существуют различные методы задания очередности выполнения (приоритетов) требований и понятие базового уровня — совместно согласованного представления о том, в чем будут состоять ключевые функции системы как продукта проекта — понятие состава требований, задающих ориентир для принятия решений и их оценки.
Если масштаб проекта и сопутствующие требования заказчика превышают реальные ресурсы, в любом случае придется ограничиваться в функциях и качестве ПС. Поэтому следует определять, что обязательно должно быть сделано в версии программного продукта при имеющихся ресурсах проекта. Для этого придется вести переговоры. Нельзя ожидать, что данный процесс полностью решит проблемы масштаба и требований к ПС. Но такие шаги окажут заметное воздействие на размеры проблемы, позволят разработчикам ПС сконцентрировать свои усилия на критически важных подмножествах требований и функций и, в несколько приемов, предоставить высококачественные системы, удовлетворяющие или даже превосходящие основные ожидания пользователей. Привлечение заказчика к решению проблемы управления масштабом и функциями повышает взаимные обязательства сторон, способствует росту взаимопонимания и доверия между заказчиком и разработчиками. Имея достаточное определение функций продукта (концепцию) и сократив масштаб проекта до разумного уровня, можно надеяться на успех в следующих фазах или версиях проекта.
На основе выполненных оценок трудозатрат рекомендуется определять базовый уровень для каждой версии концепции требований, используя атрибут «номер версии», достигнуть соглашения с заказчиком относительно масштаба, а также принять жесткие решения по масштабу версии. Итеративная разработка и управление изменениями, используя базовый уровень, позволяет контролировать, что все предложенные функции записаны и ничего не потеряно. Целесообразна система управления запросами на изменения требований, чтобы фиксировать все изменения и гарантировать, что они поступают через эту систему в совет по контролю за изменениями. На всех этапах развития спецификации требований к ПС следует задавать полный набор характеристик функционального и конструктивного поведения программного продукта и подробные прецеденты для основных функций системы.
В требованиях должны быть полно и сжато зафиксированы потребности пользователей в таком виде, чтобы разработчик мог построить удовлетворяющее их ПС и его компоненты. Кроме того, требования должны быть достаточно конкретными, чтобы можно было определить, когда они удовлетворены. Зачастую именно разработчики обеспечивают эту конкретизацию. Существуют различные возможности организации и документирования этих требований. Вся разработка должна вытекать из требований, а все спецификации ПС и компонентов должны найти отражение в процессах и продуктах разработки. Сложный программный комплекс следует пересматривать и обновлять на протяжении всего жизненного цикла проекта.
Do'stlaringiz bilan baham: |