65.9K
CodeProject 正在变化。 阅读更多。
Home

成功软件需求的秘诀

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.60/5 (21投票s)

2007年5月23日

CPOL

7分钟阅读

viewsIcon

32940

尽管大多数公司都以某种形式进行需求管理,但通常对为什么需要创建需求以及所需的详细程度缺乏理解。让我们看看在严格的截止日期下改进需求流程的一些秘诀。

引言

尽管大多数公司都以某种形式进行需求,但通常对为什么需要创建需求以及应包含在需求中的详细程度缺乏理解。

软件始终是为了满足客户的需求而创建的。客户可以是内部客户、外部客户,甚至可以是公众。详细的需求对于确保程序正确且完整地满足客户的需求至关重要。

详细的需求使初始开发更容易、更快捷,因为开发人员确切地知道应该开发什么,而无需猜测要实现的功能,也不需要通过在开发过程中创建需求来延迟开发。为开发人员提供准确的需求还将导致开发结束时返工更少,因为利益相关者的需求最初已得到正确实现,而不是通过反复试验才得出。

项目经理可以使用详细的需求来创建准确的时间表并向客户提供正确的估算。这确保了利益相关者完全了解开发所需的时间,以便他们可以调整项目范围或在必要时主动添加资源。

最后,测试人员可以在开发进行的同时使用需求来创建测试计划,而不是等到开发完成后。需求为他们提供了有关程序将做什么的信息,因此在程序功能应该是什么方面,开发人员和测试人员之间就不会发生争执。高质量的需求还会描述可能需要额外测试的故障路径。

尽管高度详细的需求使未来阶段的开发更容易,但由于客户或市场条件施加的时间限制,这并非总是可能的。考虑到这一点,让我们看看在严格的截止日期下改进需求流程的一些秘诀。

秘诀 #1 – 包含用例

用例从最终用户使用程序的角度以及程序如何响应用户输入来审视需求。最简单的说,用例可以被认为是一个戏剧,其中最终用户是一个参与者,程序是另一个参与者。这两个参与者然后进行对话,解释参与者之间的交互。更复杂的场景可以有额外的参与者,包括其他程序、其他类型的用户,甚至硬件。用例已被证明非常容易阅读和理解,即使对于非技术客户也是如此。

每个用例除了“正常”交互外,还会探讨出现问题时会发生什么。对这些故障情况的探讨非常重要,因为这些情况最难编写代码,并且可能导致最多的测试。传统的需求常常忽略这些情况。让开发人员和测试人员都考虑用例中其他可能的故障会有所帮助,以便在需求中充分记录。

但是,用例并不能提供系统的完整图景。需求中还应包含技术规范,以详细说明后台发生的公式和例程。

秘诀 #2 – 使用设计工具创建屏幕原型

程序用户仅通过用户界面与程序交互,因此在需求阶段花费大量时间来确保用户界面合理、包含所有功能以及最常用的功能易于访问是有意义的。做到这一点的最简单方法是使用屏幕原型。

制作屏幕原型的各种方法,从简单地用纸笔绘制界面到使用 Visual Basic 等高级语言构建“可运行”原型,后者允许快速屏幕设计。然而,这些极端方法各有严重的缺点。纸笔原型不允许用户与原型交互,并且更难更改。“可运行”原型(使用 Visual Basic 等编程语言完成)可能会让客户认为程序几乎已完成,开发不应花费很长时间,或者它可能让客户认为对原型的更改成本很高,使他们不愿意提出改进程序的必要建议。

在这两个极端之间是屏幕设计应用程序,它们允许您绘制屏幕并模拟屏幕之间的交互。高质量的原型设计工具允许您输入示例数据,并允许用户通过按下按钮在屏幕之间移动,以便他们轻松理解界面及其功能。大多数原型设计工具以 HTML 格式生成最终输出,因此即使客户不在需求开发所在的同一个办公室,也可以轻松共享。

在寻找原型设计工具时,请务必选择一个足够易于使用的工具,以便您可以在客户在场的情况下轻松地制作屏幕原型。这将使您能够集思广益并及时进行屏幕更改。原型设计工具应已定义通用控件,以维护设计标准并提高屏幕的外观。能够为每个屏幕输入示例数据可以让客户查明可能不正确的地方。

秘诀 #3 – 直接与最终用户合作

在设计新应用程序或修改现有应用程序时,最终用户拥有的直接经验是无可替代的。最终用户可以立即提供关于您设计的反馈,指出不方便或不正确的功能。他们还有助于确保所有控件都逻辑放置,以最高效地使用系统。

使用交互式原型设计工具允许您引导用户浏览界面,甚至允许他们直接与原型进行交互,以便他们可以快速提出改进建议。在开发用例时,引导用户浏览用例以确保用例经过深思熟虑,并且所有功能都在用例和原型中得到捕获是一个好主意。

秘诀 #4 – 进行迭代需求开发

创建需求时,分阶段进行开发很重要。例如,您可能希望在第一次会议中进行程序的总体布局并创建更高级别的用例,以了解整体需求。在下一次会议中,您可以专注于每个关键功能,以确保用例中定义了所有正常路径,并进一步完善原型。在下一次会议中,您可以尝试定义所有可能发生的错误条件,并根据需要更新原型。最后几次会议应审查之前的所有工作,以确保所有需求都清晰完整。在每个阶段,您都不应害怕修改前一个步骤中完成的工作,因为正确处理需求最终将节省成本更高的开发和测试阶段的时间。

秘诀 #5 – 对需求文档实施变更控制

花了大量时间生成清晰的需求,因此确保所有需求文档都包含在您的变更控制系统中非常重要。这包括用例、屏幕原型、技术规范以及用于定义需求的任何其他文档。

结论

在本文中,我们探讨了各种秘诀,以使您的需求流程取得成功,并确保您的客户在严格的截止日期下对最终程序感到满意。在您的下一个项目开始时,请确保您拥有成功的需求迭代的适当工具,包括原型设计程序、编写用例的工具以及版本控制程序。这些工具不一定很昂贵,它们将有助于正确处理您的需求并控制您的计划。

历史

  • 2007 年 5 月 23 日:首次发布
© . All rights reserved.