4

我已经阅读并接受了很多关于在瀑布式环境中收集正式需求的知识:花费数月时间研究用例,将它们转化为规范,并最终交付一个没有人想要的臃肿的垃圾软件。

我现在从事的项目有一些特点:利益相关者是学者,开发团队非常小(2-3 FTE),总体时间框架很短(3-9 个月),利益相关者非常灵活关于产品的最终形状。(他们要求 A、B 和 C,但得到 A、X 和 Z - 没问题。)我们通常会定期接触利益相关者,如果有限的话:比如每周 1 小时。

以上的一些后果:

  • 我们需要在与利益相关者面谈的 10 小时内完成编码,通常更少。
  • 我们可以在整个过程中继续收集需求
  • 范围非常灵活。时间和预算是固定的,但范围是当我们用完时间时完成的任何事情。

显然我们使用的是敏捷方法,但是因为团队成员是非常动态的,例如,没有真正的机会来建立一个可靠的 Scrum 流程。

在我担任 PM/客户联络员的角色中,我养成了收集电子表格(Google Docs)的需求,其类别如下:

  • “我们现在可以实施”(我们认为我们已经足够了解它了,它是定义
  • “需要更多细节/研讨会”
  • “低优先级”(通常是一位用户曾经提到过的东西,但我们从那以后就没有听说过)
  • “要继续讨论的大特性”(一个重要的新特性集,特别是与其他东西的集成。通常这些会很好,但我们只是不知道我们是否能及时完成它——在这种情况下,我们不应该开始。)

我的“方法论”没有解决的问题,我很想听听以下方面的建议:

  • 及早发现阻碍因素 - 找出严重限制我们选择平台/技术/解决方案/...的需求
  • 构建和安排未来的需求收集会议,以便我们知道在遇到不确定性迷雾之前我们可以在某个功能集上工作多长时间。
  • 知道某件事是否具有足够高的优先级,它肯定会被淘汰(如果不是,就不要再花时间调查它了)
  • 管理相互依赖的特征集
  • 管理可以不同程度开发的功能(例如,以 30% 的成本获得 80% 的收益——我们如何知道是否应该花费另外 70%?)
  • 管理选择(在一种情况下,我们是实现身份验证机制 X 还是 Y - 两者都做没有太大的好处,但两者都有很大的不确定性)
  • 依赖关系:通常,在我们了解用户对 X 的反应之前,开始实施 Y 是没有意义的。
  • 问题跟踪器中“需求”和“问题”之间的关系。您是否只是将所有内容都放入跟踪器中,并在您了解更多问题时不断更新问题,可能会拆分或合并它们?

所以 - 我很想听听其他人如何处理这些问题。搜索“需求工具”没有任何用处 - 只是一堆企业桌面 CASE 工具。

4

2 回答 2

1

这似乎是我们遇到的同样问题。我们使用问题跟踪器 (bugzilla) 来处理问题和需求。这在新模块的初始开发过程中效果很好。但是,如果您必须在半年后更改某些功能或扩展模块的功能,那么您所拥有的只是一个完全非结构化的大量问题和需求列表。

此外,在问题或要求的讨论线程中提供了大量信息。这意味着需要阅读大量文本来获取大部分信息。

因此,事后在结构化文档(word)中重写需求似乎是迄今为止我唯一的解决方案。

于 2012-02-17T16:00:39.243 回答
1

在我看来,您需要与利益相关者/业务/客户进行更多互动,以便 1. 优先考虑功能和 2. 为 UAT 创建测试计划,以便您知道何时可以停止添加功能。

灵活的范围是可以的,只要你可以说有一组核心功能是必不可少的并且会让用户满意。你说项目在你没时间的时候就完成了。那为什么还要做什么呢?也许您可以缩小范围,直到您知道绝对必要的功能是什么,如果用户对此感到满意,请不要费心添加更多功能。

于 2012-02-07T05:00:51.057 回答