Способность к изменениям
Какие изменения могут потребоваться в программном продукте в будущем? Какие изменения маловероятны (а, следовательно, вам не нужно обеспечивать их простое внесение в будущем)?
Производительность
Какую производительность должен обеспечивать продукт?
Емкость
Сколько пользователей будет одновременно работать с системой? Какой объем данных система должна хранить для своих пользователей?
Экосистема
Как система будет взаимодействовать с другими системами в экосистеме, в которой она будет развернута?
Модульность
Как задача написания программного продукта делится на рабочие задания (модули) – и особенно модули, которые могут разрабатываться независимо друг от друга, при этом легко и точно дополняя потребности друг друга?
Удобство построения
Может ли программный продукт строиться в виде набора компонентов, реализуемых и тестируемых независимо друг от друга? Какие компоненты можно позаимствовать из других продуктов, а какие придется приобретать у внешних поставщиков?
Технологичность
Если продукт существует в нескольких версиях, то как он может разрабатываться в контексте линейки продуктов, с использованием общности версий? По какой стратегии должны разрабатываться продукты, входящие в линейку (Weiss and Lai 1999)? Какие капиталовложения потребуются на создание линейки программных продуктов? Какую предполагаемую прибыль принесет разработка разных продуктов, входящих в линейку?
В частности, возможно ли начать с разработки минимально полезного продукта, а затем разрабатывать дополнительные продукты линейки посредством добавления (и удаления) компонентов без изменения ранее написанного кода?
No related posts.