简介
此原则阐明了平衡经常冲突的业务和项目干系人需要的重要性,以及在这些需要得到满足时平衡定制开发与资产重用的重要性。
|
|
好处
|
-
按业务和用户需要调整应用程序
-
减少定制开发
-
优化业务价值
|
模式
|
-
定义、理解业务和用户需要,并为其划分优先级
-
对项目和需求划分优先级,并将需求与软件性能耦合;
-
明白可以利用的资产是什么;
-
按用户需要平衡资产重用
|
反模式
|
-
完全记录项目开始时的准确需求,强制项目干系人接受需求
-
协商对需求的任何更改,每个更改都可能增加项目的成本或工期,
-
事先确定需求,以降低利用现有资产的能力,
-
主要执行定制开发。
-
设计系统,使其仅满足最具权威的项目干系人的需要。
|
|
讨论
例如,大多数项目干系人都倾向于让应用程序严格执行他们希望的操作,同时将应用程序开发成本和进度时间减到最少。但是,这些优先方面经常会冲突。另一个示例为,如果我们利用打包应用程序,则可以一个较低的价格、更快交付解决方案,但是必须权衡许多需求。相反,如果选择从头构建应用程序,则它可能通过自己的愿望清单来处理所有的需求,但是预算和项目完成日期就会超出可行限度。
使用组件可大大降低交付一组特定功能的成本并减少其进度安排。在很多情况下,我们必须在某些功能或技术需求上作出妥协,诸如平台支持、性能或占用空间(应用程序的实际大小)。
要能够平衡需求,必须首先有效地管理需求,如支持材料:需求管理中所述。不必发出编程团队来处理需求列表中的元素,只需了解业务和项目干系人的需要,并对其划分优先级。这说明要捕获业务流程并将其链接到项目和软件功能,以使我们可以有效地划分项目和需求的优先级,并按照对增加的应用程序和发展的项目干系人需要的理解来修改优先级。这还说明需要客户或客户代表参与到项目中,以确保了解他们的需要。
同时,还需要将开发活动侧重于项目干系人的需要。例如,通过利用用例推动的开发和以用户为中心的设计,开发流程能在项目进行期间适应项目干系人需要的发展,从而用于更改业务以及进一步理解对于业务和最终用户真正重要的功能。
最后,需要知道哪些资产可用,并平衡资产重用和项目干系人需要。
资产包括旧的应用程序、服务、可重用组件和模式等。在许多情况下,资产重用可降低项目成本。重用经证明的资产通常意味着新应用程序的质量更高。缺点在于,在许多情况下我们必须在资产重用和满足用户需要之间做出权衡。重用组件可降低一个功能 80%
的开发成本,但同时也只能处理 75% 的需求。因此,有效重用需要不断地平衡资产重用和不断发展的项目干系人需要。
|