2012年1月10日,星期二11:00

验证需求文档

撰写者

“形式遵循功能。” 这个著名的报价有时归因于美国雕塑家Horatio Greenough,但实际上它是由美国建筑师Louis Sullivan创造并声名远播的。 我读过《 广管局时代 文章“使您的文档风格令人眼花!乱!” (1)。 在体系结构方面,本文介绍了业务需求文档(BRD)的“形式”。 我同意作者们对提高BRD的“形式”的意见,几乎为此发表了评论。 但是,关于BRD的“功能”,我还有很多要讲的,我发现自己有动力写一篇“跟进”文章(反向双关语)。 需要明确的是,在BRD中的“形式”之前,必须先解决“功能”。 本文提供了有关验证已记录需求的最佳实践的清单,该最佳实践本质上是BRD的“功能”。

Verifying 和 Validating

关于在项目结束时进行测试期间验证和验证解决方案的说法很多。 一个示例是用于测试的V模型(2)。 本质上,在此模型中,系统分析人员将验证针对规范的解决方案,然后业务分析师/利益相关方将对解决方案进行验证,以使其符合书面和已批准的要求(假设采用瀑布式方法)。

  • 验证回答了以下问题:“解决方案构建正确吗?”
  • 验证回答了以下问题:“建立了正确的解决方案吗?”

但是,在项目的分析阶段可以提早提出相同的问题。

  • 验证回答了以下问题:“要求正确吗?”
  • 验证回答了以下问题:“是否规定了正确的要求?”

说明要求的文档最佳做法

在分析阶段,最佳做法是与利益相关者确认需求,以确保利益相关者同意(规定的正确需求);通常,这需要业务赞助商对此进行签名。 但是,在验证需求之前,业务分析师需要与其他业务分析师进行验证(要求正确无误)。 以下是进行此验证的问题清单。 每个问题后均附有最佳实践理性。 请注意,没有给出问题的顺序。实际上,问题是同时考虑的。

    • 效益估算 - 每个流程改进或软件需求是否都提供业务价值?  合理的:  需要在业务案例中引用和要求利益。 项目收益通常基于流程变更,而不是软件的实施。 软件通常是允许更改流程的工具。 另请参阅需求可追溯性。
    • 测量(领先和落后指标) - 是否测量了流程改进和/或软件要求(条件)?  合理的: 测量对于支持收益(AS-IS和TO-BE流程之间的差异)至关重要。 流程所有者根据领先指标(流内指标)调整流程,以确保落后指标(流程最终结果)符合预期。 注意,可以通过流程图,UML模型或业务流程建模和表示法(BPMN)对流程改进进行建模。 另请参阅功能分解-条件。
  • 过渡过程(实施需求) - 是否记录了过程或软件更改实施过程中的特殊注意事项? 合理的: 尤其是对于旧版系统,在执行替换系统时必须执行一次性任务,例如文件转换。 另外,可以分阶段实施过程改变。 (即,并行运行旧版和替换版系统)。
  • 特征分解 - 是否通过分离功能,条件和关联的业务规则将功能分解(分析)为最简单的组件?  合理的: 功能是在项目愿景和范围内确定的高层业务需求。 分解功能并将其分为功能和条件可以提供详细的解决方案要求以及相关的业务规则。 
    • 能力- 每个功能都需要分解为一个或多个系统功能(即读取,存储,接收,计算,传输),解决方案开发人员应该关注它们,因为它们反映了内部系统的工作或法规,业务和用户的需求。 通过消除所有连接(和/或)来简化功能。 这些功能称为功能需求,可以写为用户故事,声明性声明或用例。 每种能力都需要用积极的语气(避免使用否定性)和动词来表达,例如:
      • 必须/必须(强制性)
      • 应该/可能(可选)
      • 将(由现有或将来的系统提供)
    • 条件 - 每个功能都可以由一个或多个系统条件组成,并且基础结构开发人员会感兴趣,因为它们反映了整个系统支持的特征。 这些条件称为非功能性要求,并记录为声明性声明。 请注意,非功能性要求与功能性要求同样重要。 非功能性示例包括:
      • 性能 –哪些数据需要在线以及什么访问响应时间
      • 容量 –需要容纳多少用户/交易
      • 可扩展性 –系统的增长预测是什么(即数据,用户,交易)
      • 可用性 –何时需要访问系统
      • 安全 –谁需要访问(创建,读取,更新,删除)数据
      • 易用性 –需要哪些特性来确保高质量的用户体验
      • 资料保留 –需要保留哪些数据以及保留什么时间
      • Backup 和 recovery –需要复制哪些数据以及以什么频率复制
      • 灾难恢复 –如果服务长时间中断,系统需要什么应急计划?
      • 训练 –用户需要什么培训
      • 文献资料 –维护系统需要什么文件
    • 商业规则 - 解决方案要求是否根据需要参考一项或多项业务规则? 每个规则是否独立定义和编号? 合理的: 业务规则是约束解决方案要求的义务,解决方案测试人员会感兴趣,因为它们反映了测试的输入标准。 为了允许业务规则独立于解决方案要求而进行更改,需要对其进行唯一标识以供参考。  Rule examples are:
      • 定义 –唯一术语,单词或短语(即词汇表或数据字典)的含义
      • 关系 –两个或多个术语之间的链接(即,实体关系图)
      • 计算方式 –用于得出信息的公式
      • –由事件引起的数据鉴定(即状态图)
      • 范围 –定义术语的有效值
      • 授权书 –访问或对数据执行操作所需的权限
      • 健康)状况 –业务规则可能适用的情况(即决策表,决策模型)
      • 触发 –如果满足特定条件,则导致活动或消息
  • 细节- 是否详细描述了能力和条件(即,谁,什么,在哪里,何时以及以什么频率/数量)? 合理的: 为了充分测试解决方案,需求需要提供所需的质量等级。   注意需求可以通过用户故事,声明或用例来记录。
  • 需求依存关系- 是否记录了需求依赖性? 合理的: 为了实现业务利益,可能需要相互依赖。 依赖关系也可能不在项目范围内(即现有系统或其他项目)。
  • 需求数据- 是否记录了每个需求所需的数据? 是否定义了数据以及如何创建,读取,更新和删除(CRUD)?  合理的: 解决方案要求包括功能,条件及其使用的数据。 词汇表,实体关系图和CRUD表可用于此目的。
  • 需求单- 需求是否按业务价值(收益,风险,优先级等)排序? 合理的: 在确定开发的技术订单时,开发团队将以此订单为基准。  请注意,出于技术或资源原因,开发团队可能会提出不同的订单。 
  • 需求可追溯性- 需求是否与愿景和范围中定义的原始引用功能相关联(向前和向后)?  合理的: 可追溯性是维护范围的风险迁移策略。 如果需求不能追溯到功能,则范围已扩展。 项目的目的是在项目范围内提供解决方案-无需“镀金”。 而客户服务的目标是超越期望–“赞叹”客户。    
  • 需求问责制- 每个需求是否都有所有者来确保利益相关者的支持和足够的信息以进行变更管理?  合理的: 需要对需求进行签名批准,以表明对解决方案需求及其所带来好处的承诺。
  • 概要

    该清单提供了以下问题 校验 文件要求的“功能”遵循最佳实践。 一旦确定了“功能”,就可以将“表格”作为验证的第二步。 请注意,在需求验证之后,需要进行利益相关者验证和系统分析可行性审查。

        1. 验证回答了以下问题:“是否按照最佳实践正确构建了产品或服务。”
        2. 验证涉及到利益相关者确认“根据业务需求正在构建正确的产品或服务”。
        3. 可行性正在评估“在项目约束内存在可以实施需求的技术”。

    在获得项目发起人的批准以继续进行开发之前,需要完成以上三个步骤。 稍后在解决方案测试期间,将对技术规范进行类似的验证,并对要求进行验证。 如本文开头所述,这假定使用瀑布方法开发了BRD。 请注意,敏捷软件开发方法不会产生BRD。 在每次迭代结束时(2)的测试过程中都要进行敏捷方法的验证和确认。 

    发布脚本

    在这一点上,我想我会尝试读懂一些读者的想法。 “亲爱的,上面的清单意味着很多努力。”  Yes, it does. 也许这就是为什么它被称为“工作”的原因。  请记住,测试中40%到60%的错误可以追溯到BRD文件记录不充分(3)。 我们使用最佳实践来降低发生这种情况的风险。 因此,文档编制工作量需要基于风险。 几乎引用莎士比亚的《哈姆雷特》 – 记录或不记录,这是一个风险问题。

    不要忘记在下面留下您的评论。


    参考文献

        1. Nario的Spariosu和Patti的Rueffer(2011),“用您的文档风格使他们眼花!乱!” www.batimes.com
        2. 马克·蒙特莱昂(Monteleone),马克(2011年),“敏捷开发测试V模型的提案” www.modernanalyst.com
        3. Standish小组,《混沌编年史》, www.standishgroup.com

    马克·蒙特莱昂 持有学士学位物理学和硕士Texas A的计算机科学专业&M University. 他获得了项目管理学院(PMI®)的项目管理专业人员(PMP®),国际商业分析学院(IIBA®)的认证业务分析专业人员(CBAP®),ScrumMaster(CSM)的认证。由Scrum联盟认证的Scrum产品所有者(CSPO),并由BPMessentials在BPMN中认证。 他拥有乔治华盛顿大学商学院的项目管理高级硕士学位(GWCPM®)和业务分析师证书(GWCBA®)。 马克是Monteleone Consulting,LLC的总裁。

    马克·A·蒙特里昂

    蒙特莱昂先生 持有学士学位物理学和硕士Texas A的计算机科学专业&M University. 他获得了项目管理学院(PMI®)的项目管理专业人员(PMP®),国际商业分析学院(IIBA®)的认证业务分析专业人员(CBAP®),ScrumMaster(CSM)的认证。由Scrum联盟认证的Scrum产品所有者(CSPO),并由BPMessentials在BPMN中认证。 他拥有乔治华盛顿大学商学院的项目管理高级硕士学位(GWCPM®)和业务分析师认证(GWCBA®)。 马克是Monteleone Consulting,LLC的总裁,可以通过电子邮件与他联系- [email protected].

    ©BA Times.com 2020

    麦格雷戈徽标白色网站