
商业分析家的探索者,Karl Wiegers的第1部分,共6部分
许多年前,我的经理杰里(Jerry)参加了与一位名叫史蒂夫(Steve)的客户的讨论,以探讨他对新应用程序的要求。会后,杰里指出,我对史蒂夫的询问相当积极。他是对的。我还没有意识到我一直在极力敦促史蒂夫在某些方面下定决心,并告诉我他到底想要什么。幸运的是,当我联系史蒂夫道歉时,很显然他并没有受到冒犯。尽管如此,我们的讨论可能感觉像是对史蒂夫的询问,而不是对他要我们建造的东西的询问。这不是业务分析师采取的最佳策略。
引起需求的另一种极端方法是BA仅仅记录客户所说的话,然后将这些信息传递给开发人员。这也不是很好。与生活中的大多数事物一样,适当的行为介于可能的极端之间。
需求启发是一个探索和发现的过程,而不仅仅是收集(这就是为什么我不谈论“收集需求”的原因),BA是指导。广管局需要认识到客户将无法在单个研讨会或讨论中提出所有要求。他们甚至可能都不知道他们的实际需求。当参与者在高级概念和特定细节之间来回移动时,启发需要多个周期的细化,澄清和调整。
但首先,要避免的一些问题
在需求讨论中,您可以问的最糟糕的问题是“您想要什么?”第二个最糟糕的问题是“您的要求是什么?”没有人知道如何回答这些问题。客户和其他启发参与者可能不会同意广管局对“需求”一词的含义的理解。当客户试图真诚地回答这些问题时,他们通常会产生大量随机的想法,但仍然很重要。
我在一些培训班中已经观察到了这一点,其中小部分学生在名为“自助餐厅订购系统”的示例项目中进行了实践要求启发研讨会。这些小组正在尝试学习如何使用用例来探索用户需求。每个组中的一个成员扮演着将使用该系统订购餐点的用户的角色。一些小组从问这个学生开始,“你想要什么?”因为这是他们习惯于启动需求讨论的方式。他们通常会收到如下响应:
- 我需要能够通过信用卡或工资扣除来支付。
- 我希望能够为午餐会议订购团体餐。
- 该系统必须在家中和工作场所均可使用。
- 我必须提交我的饭菜交付说明。
- 我不需要支付任何运费。
- 承包商可以点餐还是只点员工餐?
- 我希望至少提前一周订购餐点。
- 如果我可以轻松地重新订购过去某个时间点的同一餐,那就太好了。
- 我可以一顿饭获得营养信息吗?
这些无疑是重要的思想和观念。但是,当被问到“你想要什么?”时研讨会的参与者倾向于以没有组织结构的随机顺序散播这些思想。这使广管局和客户都很难知道信息的含义,处理的方式,存储的位置以及接下来要讨论的内容。采取这种方法的学生团体总是在随机输入的海洋中挣扎。相反,那些较早掌握用例方法的小组会更快地取得进展。 BA的一项重要技能是安排对话并提出问题,这些问题将引导有启发性的参与者以有组织的方式逐步进行细化。
广管局应记住他作为中立调解人的角色。我们都会通过自己的偏见,偏好,经验和热键问题来过滤听到的信息。避免提出引导客户同意您自己意图的主要问题。另外,请避免仅仅因为客户的想法与您自己的观点不一致而否定客户的想法。我曾经观察到一个有60个参与者的“客户之声”研讨会,我的一位咨询客户进行了该研讨会,以探讨对主要新产品的需求。车间负责人是负责产品的高级经理。他对项目的发展方向有很强的见解,并毫不犹豫地将讨论引向预定的结果。这对于参加者来说是令人沮丧的,如果主持人已经知道答案将是什么,他们就会觉得自己在浪费时间。
在本系列的下一部分中,我将探讨一些有助于满足业务需求的问题。这些要求定义了组织开展项目的业务目标,定义了产品愿景,并实现了范围定义和管理。
本系列文章描述了广管局在启发式讨论中可能考虑询问的一些问题,以及应避免的问题。文章改编自我的书 有关软件要求的更多信息:棘手的问题和实用建议 (微软出版社,2006年)。关于讨论任何类型项目需求的经典问题的经典资源是 探索要求:设计之前的质量 由Donald Gause和Gerald Weinberg撰写(多塞特大厦,1989年)。 Roxanne Miller在书中还提出了数百个问题,以帮助BA提出需求。 寻求软件需求 (MavenMark图书,2009年)。
不要忘记在下面留下您的评论。
卡尔·威格斯 是Process Impact的首席顾问,www.ProcessImpact.com。他的兴趣包括需求工程,项目管理,同行评审和流程改进。他最近的一本书是一本关于人生课程的回忆录,标题为 沙子上的明珠:小规模的遭遇如何导致强有力的教训。