8Manage PM:如何做好项目需求管理
项目需求是为了确保项目成功或竣工而必须完成的条件或任务。项目需求清楚地表明需要完成的工作,目的是将项目资源与企业目标结合起来。因为项目需求为产品的愿景、范围、成本和进度奠定了基础,最终瞄准的必须是成品的质量和性能。每个利害关系人将会理解需求,并对最终产品抱有切实的期待。所以, 项目需求管理 很重要。
编写需求的方法有很多:从传统的需求文档到更敏捷的方法,比如用户故事、测试驱动开发(TDD)和验收测试驱动开发(ATDD)等。这些方法都受益于可测试需求原则的遵循。
用户故事
用户故事是作为目标而编写的需求,使用的语言避开了专业术语,并对最终用户有意义。用户故事简短,通常采用以下格式:作为[用户角色],我希望/需要[功能],这样[目标]。例如:“作为寻找产品的客户,我希望在两者间做出选择,在列表中还是在网格中查看可用产品的列表,这样我就能对可用产品进行比较。”
顾名思义,将需求写成用户故事会将重点放在用户或客户上。就本身而言,以用户故事形式撰写的需求没有足够的信息可供测试。用户故事应包含验收准则,这样团队就能知道用户故事何时“完成”。
测试驱动开发(TDD)
在TDD中,需求被写为单元测试。单元测试在编码之前执行,往往容易失败,因为单元测试所描述的代码还不存在。然后,为了让测试用例通过,代码被编写或重构,测试再次执行,确保测试用例通过,随后进行必要的重构。
这种方法有时被称为开发者测试,这不仅是因为该测试由开发人员执行,而且还因为在开发周期中测试所发生的位置。不过,测试人员在TDD中能够发挥重要作用。测试人员可以与开发者一同创建更好的单元测试,应用边界值分析、等价类划分和风险分析等技术,帮助确保进行必要的集成和工作流程测试。TDD测试规范应是应用程序文档的重要组成部分。
验收测试驱动开发(ATDD)
在ATDD中,用户故事及其随附的验收准则成为测试,用于向客户展示应用程序按预期工作。验收测试通常由三人团队协作编写,包括用户代表、开发者和测试人员。为确保团队中每个人都能理解,这些测试用“业务领域”术语而非技术术语编写。
ATDD中的工作流程类似于TDD:首先,编写用户故事,然后进行验收测试。随后,实现用户故事,然后团队重复验收测试,确定测试用例通过。最后,完成所需的重构。对于一个团队而言,同时实践TDD和ATDD是有可能的。
项目需求管理工具
8Manage PM项目管理工具内置需求跟踪和变更控制功能。在整个开发周期中,该功能能够使项目团队轻松跟踪需求,确保万无一失。此功能还使所有利害关系人了解变更影响,共同努力,实现项目所需变更和可预测性的适当平衡。
以上就是确保需求可测试的策略,但最重要的策略是,确保在需求定义过程的早期包含测试人员和用户代表。尽管可测试需求使自动化测试变得更加容易,但核心目标是确保整个团队对需求有清晰的理解。http://www.8manage.cn/