软件需求规范是‘must have’ 文档之一,对于业务和技术团队同样重要。
SRS 充当technical team 的基础文档,为任何高级或低级技术规范(包括解决方案架构)做准备。我不会在技术方面添加更多内容,因为这不是这个问题。
现在,当涉及到业务,尤其是协议时,SRS 进行通信并充当两个业务之间的安全桥梁。这概述了消费者对完整软件的期望以及服务提供商同意提供的内容。这意味着,双方都可以进行谈判和谈判。
理想情况下,当我们准备 SRS 时,我们会包含诸如 product scope, business function, area of coverage, future direction 之类的点,并且列表会不断增加。该文档稍后由产品所有者和最终用户等利益相关者‘signed’。这个agreement gives both parties a structured understanding of their responsibilities。
因此,对我来说,如果没有 SRS 草案版本,就不太可能启动任何项目。
最后,我想谈谈软件开发过程。如您所知,我们有一些开发流程,我们遵循这些流程来简化我们的软件开发生活。例如:Waterfall, VModel, RUP, URUP, Agile are some of them.
不考虑任何特定流程,只要能提供以下;
- 端到端软件开发的愉快旅程,它是
管理。
- 能够调整和适应不断变化的业务需求。
如果客户改变主意会发生什么?
客户应在开发过程中change 他们的想法。这种变化在不同的过程中得到不同的解决。对于waterfall,任何重大变更或额外需求都必须经过变更需求管理流程。这将帮助您沟通和量化时间和成本。对于agile,我们必须添加/更新/优先考虑用户故事,然后是其影响、成本等。
在一个公认的答案中,它在敏捷中被称为‘no upfront SRS’。我更喜欢将其改写为‘no complete SRS upfront’。这意味着,由于业务性质,现在不太可能拥有完整的 SRS。但这并不意味着没有 SRS。
总之,当您与外部客户打交道时,SRS 必须是您的“必备”文件。因此,您在组织中遵循哪个流程并不重要。