基本概念
项目
项目是通过一定的流程,由一系列协同和受控的活动组成,项目的目标是满足特定需求,并受时间成本和资源的约束。需求管理服务通过对项目的过程和结果进行管理,达成项目的既定目标。
Scrum
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。
Scrum团队中主要包括三个角色,分别是产品负责人、开发团队和Scrum Master,负责维护过程和任务。产品负责人代表利益所有者,开发团队包括了所有开发人员。
Scrum是为管理软件开发项目而开发的,同样也可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums。
Backlog
Backlog在软件开发场景,可以理解为是待开发工作项池,根据不同的场景,可以加上不同的限定语,如产品Backlog,代表产品待开发的工作项池,如迭代Backlog,代表某个迭代待开发的待办工作项池。
- Product Backlog(产品列表):根据用户价值进行优先级排序的高层需求。
- Sprint Backlog(冲刺订单):要在冲刺中完成的任务的清单。
发布
在IPD-系统设备类、IPD-独立软件类项目中, 发布特指“发布计划”,发布计划是一个版本逻辑的概念,包含多个待交付的IR,发布中IR下的子需求可以通过不同的迭代计划多次分批上线。
迭代
迭代是迭代增量式开发过程,弥补了传统瀑布式开发的一些不足,通常被认为具有更高的成功率和生产率。
特性树
特性树是产品全量特性的汇总。 主要用途是聚焦产品价值,将客户市场和研发串联收起来。特性树由特性集(一组系统特性能力的集合)和系统特性共同组成。
系统特性(SF:System Feature)
系统特性是产品主要卖点和销售亮点的描述,会随着产品增长持续迭代优。
- IPD系统设备类项目:SF还可以按照层级关系新建不同类型的子需求,依次为:SF > IR > SR > AR。
- IPD独立软件类项目:SF还可以按照层级关系新建不同类型的子需求,依次为:SF > IR > US。
史诗 ( Epic )
在敏捷开发过程中,Epic是一种工作项类型,通常用来定义一系列非常宏观的场景或规划,而且通常开发工作量比较大,需要继续分解为更细粒度的工作项来安排迭代开发交付。
特性需求 (FE: Feature )
特性需求仅在IPD-自运营软件/云服务、及Scrum项目中存在,用于描述可以给客户带来价值的产品功能,向上承接Epic,向下分解Story,Feature通常持续数个星期,需要多个迭代完成交付。
用户故事( US: User Story )
用户故事是一种工作项类型,是从用户的角度来描述用户需要的功能,一个好的用户故事通常包括:
- 角色:谁要使用这个功能。
- 活动:需要完成什么样的功能。
- 价值:为什么需要这些功能,对于用户的价值是什么。用户故事通常建议在一个迭代内可以交付。用户故事有时也被简称为Story。
原始需求(RR:Raw Requirement)
原始需求(RR)是来自公司内、外部客户的,以客户视角描述的原始问题或者原始诉求。客户需求属于原始需求的一种类别。此类需求需要RMT/RAT分析评审后做出决定。
初始需求(IR:Initial Requirement)
初始需求(IR)是站在内外部客户/市场角度,以准确的语言(完整的背景、标准的格式)重新描述的需求。IR来自于如下两部分:
- 原始需求经过RMT/RAT分析决策后产生。
- 直接由产品规划产生(包括系统特性分解)。
在增量版本开发中,因系统特性已经稳定,版本的增量需求,主要由IR承载。
系统需求(SR:System Requirement)
系统需求(SR)是站在研发视角,描述系统对外呈现的、可测试的全部功能需求和非功能需求。其中功能需求是对系统提供的功能的场景化的具体要求,非功能需求是对系统的成本、全局质量属性(主要是DFX)、技术限制等非功能性方面的具体要求。
分配需求(AR:Assigned Requirement)
分配需求(AR)是根据基层组织分工不同,以可交付的视角,由SR进一步分解分配到子系统/模块的功能或非功能需求。
缺陷(Bug)
在项目管理(尤其是敏捷开发或软件项目管理)中,缺陷(Bug)是指产品或系统中存在的错误、故障或不符合预期功能的问题,它会导致系统无法正常运行或产生非预期的结果。
任务(Task)
任务是为了完成某个目标而产生的活动,通常为过程性的工作,是研发生产中的最小工作单元。