需求开发怎么做(开发流程和阶段详解)

seoxin 09-08 16:09 16次浏览

什么是项目需求?


项目管理知识体系(PMBPOK)将需求定义为“产品、服务或结果所必需的条件或能力,旨在满足合同或其他正式实施规范。”

项目需求的重要性和开发步骤

需求有不同的类型,让人感到混淆。项目管理知识体系对需求进行了如下分类:

▪ 业务需求——描述为什么要进行项目

▪ 利害关系人需求——描述利害关系人或利害关系人群体的需求

▪ 解决方案需求——描述满足业务和利害关系人需求的产品、服务或结果的特性、功能和特点

▪ 功能需求——描述产品的行为

▪ 非功能性需求——描述产品有效性所需的环境条件或质量

▪ 转换需求——描述从当前状态转换到期望的未来状态所需的临时功能

▪ 项目需求——描述项目需要满足的行动、过程或其他条件

▪ 质量需求——描述条件或标准,确认项目可交付成果的成功完成或其他项目需求的完成

为什么需求很重要?


想象一下,你和一个总承包商签订了建造梦想之家的合同。

这房子你想了好几年,当你拜访朋友时,你会记下他们家喜欢或不喜欢之处。或许你还有个文档,用来保存你最喜欢的照片。
你和总承包商第一次会面,讨论你对房子的需求。承包商会给你列一份清单,说明你的选项和定价。

你指定房子的大小、建筑的类型、房间的数量、结构的类型和房子的特点。
一周后,承包商会带你参观房子的交互式模型,逐步细化你的需求。几次会议后,承包商了解了你的需求。这时承包商更有可能达到你的期望。
当需求模糊时,项目就面临不能交付所需要内容的风险。至少,需求遗漏会导致返工。

这可能会对计划和预算产生不利影响。而你的客户,以及你的团队成员,将会有负面情绪。

我们如何开发项目需求?


我们可按照以下步骤开发项目需求:


1. 引出需求
如果你认为有人会简单地把项目需求交给你,那其实是极少数的幸运事件。实际上,大多数人都不知道他们想要什么,他们需要帮助。
一个好的需求分析人员(可能是项目经理、业务分析师或是业务主管)知道如何引出——提取——并验证需求。

观察过数百个项目之后,发现有熟练需求分析人员的项目面临更少的需求相关问题。

如果你是个项目经理,你没有时间或需求开发技能,请确保你有一个熟练的需求分析人员;否则,你就是在自找麻烦。
以下是引出需求的一些工具和技巧:

▪ 头脑风暴

▪ 名义群体(决策)技术

▪ 采访

▪ 文档分析

▪ 调查

▪ 需求研讨会

▪ 工作影子活动

▪ 背景图

2. 分析需求

“分析”这个词的意思是分解或详细检查某物的组成或结构。

对于软件项目,当我们从业务需求转移到用户需求,并进入详细的系统需求时,就将需求分解为更详细的细节。

一旦确定了细节,就能将这些组件合成,以满足更高层次的需求。

实际上,分析需求最强大的方法之一是构建原型或创建图表,这并不复杂。

当用户看到原型或图表时,他们可以做出他们喜欢和不喜欢的反应。

另一个用于分析的工具是环境图,它对产品进行可视化描述,例如建筑、流程或软件应用程序,以及参与者(个人、小组或其他系统)如何与之交互。

我们可以看到在流程中流入和流出的东西以及谁接收了输出。

一些组织在分析过程中优先考虑需求。

哪些特性和功能提供了最大的好处?哪些可能造成最大的风险?在敏捷项目中,我们可以在产品待办事项列表中对用户故事进行排序。

3. 记录需求

近年来出现了一种趋向,即转向更轻的需求文档和更多的协作,特别是对于敏捷项目。

记录是有好处的。当我们记录时,我们会思考和分析。当人们在未来的项目中扩展特性和功能时,拥有轻量级的文档版本作为参考也很有帮助。

业务需求通常被定义为项目章程中的目标。用户需求通常以用例或用户描述的格式捕获。

详细的软件需求经常在需求管理工具中被记录和捕获。

4. 验证需求

最后,我们讨论了需求验证,如何确保项目需求的正确性,没有缺陷/bug,并满足用户的需求。

与跨职能团队(如开发人员和测试人员)共同开展验证会议,以审查需求。

5. 结束需求

一旦团队就需求达成一致,就需要用适当的结束流程为需求建立基线。

需求管理走向何方?


与所有项目管理过程一样,你要调整需求管理流程,以满足每个项目的需求。

在项目早期,考虑你的需求处理方法,创建一个简单的需求管理计划:
▪ 你会采用传统方法,还是敏捷方法?
▪ 谁会是需求分析人员?
▪ 谁会参与引出、分析、归档和验证?
▪ 你会使用哪些工具和技术?
▪ 你会如何对需求进行优先排序?
▪ 你会如何跟踪需求(例如,从需求到设计)?
▪ 你会如何处理需求的变化?

  • 暂无推荐