每一个具有有限资源的软件项目必须理解所要求的特性、使用实例和功能需求的相对优先级。设定优先级有助于项目经理,解决冲突,安排阶段性交付,并且做出必要的取舍。
当客户的期望很高、开发时间短并且资源有限时,你必须尽早确定出所交付的产品应具
备的最重要的功能。建立每个功能的相对重要性有助于你规划软件的构造,以最少的费用提
供产品的最大功能。如果你正在做时间盒图或者进行渐增式开发,那么设定优先级就特别重
要,因为在这些开发中,交付进度安排很紧迫并且不可改变日期,你需要排除或推迟一些不
重要的功能。
一个项目经理必须权衡合理的
项目范围和进度安排、预算、人力资源以及质量目标的约
束。一个实现这种权衡的方法是:当接受一个新的高优先级的需求或者其它项目环境变化时,
删除低优先级的需求,或者把它们推迟到下一版本中去实现。如果客户没有以重要性和紧迫
性来区分它们的需求,那么项目经理就必须自己作出决策。由于客户可能不赞成项目经理所
设定的优先级,所以客户必须指明哪些需求必须包括在首发版中,而哪些需求可以延期实现。
当你有很多选择可以完成一个成功的产品时,应尽早在项目中设定其优先级。
客户和开发者都必须为设定需求的优先级提供信息。客户总是让可以给他们带来最大利
益的需求享有最高优先级。然而,一旦开发者指出费用、难度、技术风险,或其它与特定需
求相关的权衡时,客户可能会觉得他们最初所想的需求似乎变得不必要了。开发者也可能认
为在早期阶段必须先实现那些优先级较低的功能,因为它们会影响系统的体系结构。设定优
先级意味着权衡每个需求的业务利益和它的费用,以及它所牵涉到的结构基础和产品的未来
评价。
每一个需求的优先级必须写入软件需求规格说明或使用实例的说明中。为你的软件需求
规格说明建立一个规则,这样读者就可以知道分配给一个高层需求的优先级是否被其所有下
层需求所继承,或者每个用户需求是否应该有它自己的优先级属性。
本文地址:http://com.8s8s.com/it/it33715.htm