如果你不知道项目需求就很难构造一个解决方案(虽然实际上今天还有很多团队在试图这样做)。“启发”是从客户那里收集的需求的第一步。有很多技巧可用于收集需求。每一个都有其特定环境下的价值,而且在很多情况下,你需要多重技巧来从一系列不同的客户和投资人那里获得一个完整的概念。这里我们来看一些你可以采用的方法。
一、一对一面谈
最常用的收集需求的技巧就是和客户坐下来问他们需要什么。讨论应该根据你要找的需求的类型事先计划好。有很多很好的方法来计划面谈,但通常你要问无确定答案的问题以使面谈者开始说话,并随后问探索性的问题来揭示需求。
二、小组会谈
小组会谈与一对一面谈相似,除了不止一个人要谈以外——通常是两到四个。这些会谈在每个人都级别相当或者角色相同的时候会很有效。小组会谈要求更多的准备和更多的程序以便从所有参与者获取你所需要的信息。你能够在一个较短的时间内发掘出一大堆需求,如果你能使小组保持重点的话。
三、促进会议
在促进会议上,你将更大的组(五或六人)为一个共同的目标带到一起。这种情况下,你试着以比单独和每一个人会谈更快的方式从小组获得一系列共同的需求。
四、联合应用开发(JAD)
JAD会议与一般的促进会议相似。但是,小组通常会留在会议中直至会议目标完成。对于一个需求JAD会议,参与者要留在会议中直到一整套需求文档化并得到认可。
五、问卷调查
问卷调查更加非正式,而它们是从远方投资人或那些只有次要内容输入整体需求的人那里获取需求的很好工具。问卷调查还可以用来从成百上千的人里获取信息。
六、原型设计
原型设计是个相对现代的收集需求的技巧。在这种方法中,你收集初步的需求以便用来建立一个初始版本的解决方案——一个原型。你把这个拿给客户看,他看后给你另外的需求。你改程序并与客户再来一个回合。这个重复的过程持续到产品符合业务需要的临界质量或者既定次数的迭代。
七、使用案例
使用案例基本上是描述离散过程如何工作的故事。故事包括人物(演员)并且从用户的角度描述这个解决方案如何工作。使用案例可以便于为客户阐明,尽管使用案例可能需要加以提炼后加进更加具体详细的需求。
八、跟着周围的人
这一技巧在当前进程里获取信息时特别有帮助。你会发现,比如,有些人习惯于他们的日常工作而很难解释他们在做什么或为什么做。你可能需要在弄清整体概念以前看着他们开展他们的工作。有些时候,你可能还想要参与实际工作过程来获得今天业务功能运转如何的手感。
九、招标(RFPs)
如果你是一个供应商,你会通过一份RFP收到需求。这份需求列表是给你用来对比你自己的能力以确定你距离客户的需求有多接近。
十、头脑风暴
有些项目上,需求不像它们被“发现”那样地被“揭示”。换句话说,解决方案是全新的而且需要创建成一系列能被人认可的构想。在这类项目里,简单的头脑风暴可以作为起点。合适于主题的有关专家到一个房间里并开始有创造性的头脑风暴来看看解决方案可能会是什么样子。所有的想法产生以后,参与者排序选出解决方案中他们认为的最好的一个。得出的共识的最佳构想就作为初始需求。