# &#x20;基本概念

### 项目管理

&#x20;         项目指为了达到一个目标，组织人力、物力等资源，有计划的去完成它所进行的工作。

&#x20;         ONES 项目可以从研发维度和业务线维度进行管理，两者在系统的使用中没有明显的差别，得益于 ONES 精心设计的组件，您可以在项目中管理任何维度下的所有工作，应用 ONES 提供的标准项目管理模板：

* 敏捷式：可以轻松实现迭代管控、需求分配、缺陷管理等核心研发工作，通过各类报表实时掌控项目进度状况。
* 瀑布式：可以轻松实现项目阶段规划、 里程碑计划、WBS工作分解等项目管理工作，通过甘特图实时掌控项目进度状况。
* 通用模板：简单易用的通用任务处理模板，适用于诸如个人安排等活动管理。

### 敏捷模式

&#x20;         敏捷 (Agile) 是一种快速应对需求变化的开发模式，它强调快速验证，通过短期冲刺的方式，快速根据用户反馈**迭代**产品。

&#x20;         ONES 提供了敏捷全角色、全流程的管理方案，囊括了 Scrum Kanban 等多种优秀实践。通过「项目角色」对参与项目的成员进行分组和权限管理。在敏捷项目中，系统管理员可建立产品负责人、敏捷教练、团队成员三种角色，应用到实际项目团队中，配置不同角色不同的管理和查看项目、工作项类型等权限。项目成员亦可拥有多个角色，便于跨职能协同与管理。

* 迭代（Sprint）：它是 Scrum 的核心，循环了一个持续交付产品的流程，该流程会在短期内完成收集反馈、研发、总结问题到下个迭代等一系列动作，旨在降低项目的风险和成本，提高研发效率；
* 看板（kanban）：作为一个可视化的工具，将研发工作的实施情况直观的展示给所有成员，有效驱动项目的完成；
* 产品负责人（Product Owner）：负责管理产品 Backlog，代表客户意愿和项目全体干系人利益；
* 敏捷教练（Scrum Master）：负责管理 Scrum 流程，去除影响团队交付冲刺目标的障碍，屏蔽外界对开发团队的干扰；
* 团队成员（Scrum Team）：负责开发软件、交付产品小组；

![SCRUM 迭代经典流程](https://2853388421-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwaVKD2ubnvih41lKK_%2F-M6cFGEd8FUZdaFY67HK%2F-M6cckQf93S0pKyKeNbL%2Fimage.png?alt=media\&token=8fed566d-5986-497f-b759-0924e9e49459)

### 瀑布模式

&#x20;         瀑布模型（Waterfall Model）是将项目以一种流水线的方式分阶段完成的管理方法，需要在每个阶段完成验收后才能进入下个阶段。通常将软件的生命周期划分为需求、设计、开发、测试、部署和运维六个基本阶段。适用于有明确的项目需求、要求稳定安全、对快速响应能力和弹性架构要求较低、有丰富的行业实践经验的 IT 项目 &#x20;

![](https://2853388421-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwaVKD2ubnvih41lKK_%2F-M6dFMeNO60qFL54mNW8%2F-M6dJm6S1zlT0hWiasM7%2Fimage.png?alt=media\&token=fc787ab8-0593-41a1-9987-a82e97abb596)

&#x20;         ONES 作为行业专家，基于项目管理专业化知识和最佳实践帮助企业系统和高效落地项目管理过程和框架，支撑瀑布项目生命周期管理，为项目立项、项目规划、项目执行、项目监控和项目收尾全过程提供最佳实践。帮助企业计划和控制项目范围、进度、成本和质量，保障项目研发管理过程更加标准化、透明化、可视化，提高项目研发效率和交付质量。

* 项目阶段（Phase）：是一组具有逻辑关系的项目活动的集合，通常以一个或多个可交付成果的完成为结束；
* WBS（Work Breakdown Structure）：
  * 在项目计划过程中，以可交付的成果为导向，为项目内的工作进行分组，归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义；
  * WBS是项目计划过程的核心管理工具，是制定进度计划、资源需求、成本预算、风险管理计划、采购计划和控制项目变更的重要基础；
* 里程碑（Milestone）：里程碑一般是完成阶段的工作标志，标志着上一个阶段的结束和下一个阶段的开始。通过里程碑项目经理可以为下一步工作作出决策，准确评估任务和工作量；
* 交付物（Deliverable）：是为完成某一过程、阶段或项目而必须交付的任何独特、可验证的产品、成果或提供服务的能力。最终的成果需要经过管理者，甚至客户评审与验收；
* 基线（Baseline）：是项目管理中的一个重要概念，当一个（或一组）配置项（比如：进度计划、范围、预算等）在项目生命周期的不同时间点上通过正式评审并进入受控状态后，就形成了基线；
* 资源：一般指用于执行任务或项目所需要的任何东西，例如人员、设备、软件等；
* 变更：是指为适应项目运行过程中与项目相关的各种因素的变化，保证项目目标的实现而对项目计划进行相应的部分变更或全部变更，并按变更后的要求实施项目。

### DevOps

&#x20;         DevOps 是「Development」和「Operations」的合成词，表示在软件产品交付的过程中，将研发、运营、质量管控等不同性质的团队运用流程紧密结合，发挥 1+1>2 的效果。DevOps 是一种理念、文化和实践，影响着应用全生命周期，在开发、交付、运维的不同阶段，融入所有人进行协作，创造出一个理想的交付环境，从而可以提供更优质的产品。

![](https://2853388421-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwaVKD2ubnvih41lKK_%2F-MYNWBKkQ66qGe2p0aIT%2F-MYN_g0gQ2o2v-4BHSnr%2Fimage.png?alt=media\&token=8f4f8b24-3d7f-4b3b-b6f0-6e307f3fdf1a)

&#x20;         ONES 能帮助团队在应用周期的各个阶段实现 DevOps，各阶段相互依赖，无缝衔接。目的是实现持续集成与交付管理，强调「部署流水线」、「自动化」、「团队合作」、「可重复」、「可视化」等关键词。

* 持续集成(CI)：软件开发的过程中，开发人员经常将代码更改合并到主代码分支中。持续集成采用自动测试，每次提交新代码时都会运行该测试，因此可以保障主分支中的代码总是安全稳定的。
* 持续交付(CD)：是将新的应用程序版本频繁自动化地部署到生产环境中。通过自动化部署所需的步骤，团队可以减少部署时可能出现的问题，并实现更频繁的更新。
* 持续部署：持续部署是指当研发个人交付的代码通过评审之后，自动部署到生产环境中。持续部署是持续交付的最高阶段。即所有通过了一系列的自动化测试的改动都将自动部署到生产环境。

&#x20;         当同时采用以上做法时，其过程称为 CI/CD，囊括了完全自动化代码提交到生产部署之间的所有步骤。在开发环节专注于构建代码，加快部署新代码过程的速度并降低风险。达到更敏捷、更高效的目的。

### 工作项

&#x20;         ONES“工作项”是指任何类型或规模的单一工作条目，从创建到完成，可以追踪它的生命周期。软件团队开发的功能、 HR 的待办事项等，都是可以被称作工作项。

* 需求：通常来说，为实现一个用户诉求，我们会创建一条需求来跟进，例如：“用户需要在项目中管理项目文档”；<br>
* 任务：项目跟进或者需求处理的过程中，要完成许多的任务，我们可以创建任务来跟进，例如“招聘一名产品经理”“周五前完成需求评审”；<br>
* 缺陷：如果产品功能有问题，我们可以创建缺陷来跟进，例如“在创建任务时页面加载过慢”

### 工作项工作流

&#x20;         工作流表示工作项从创建到完成需要流转的路径，工作流程既可以简单点使工作易于完成，又能按需定制复杂的流转路径。ONES 针对不同的工作提供了流转模板，便于管理员轻松开展各类工作，直到引导用户掌握高阶玩法，即根据业务需要配置更加复杂的工作流。

* 需求：未激活 ＞ 已确认 ＞  已计划 ＞ 设计中 ＞ 研发中 ＞ 测试中 ＞ 待发布 ＞ 已发布 ＞ 关闭；
* 缺陷：测试提交 ＞ 已确认 ＞ 修复中/挂起 ＞ 已修复＞ 待回归 ＞ 回归通过/回归不通过 ＞ 关闭；
* 任务：未开始 ＞ 进行中 ＞ 已完成。

### 敏捷看板

&#x20;         看板（Kanban）是当下采用敏捷和精益开发方法的热门工具，源于丰田，其核心价值包括：①可视化的工作项流程，在项目中需求、缺陷的推进中产生看板信息，同时价值增效，在完成价值增效后，可以对推进过程受阻频繁的环节加以优化，这是看板的核心价值之一；②每日站会中使用看板可以对团队的效率进行长效优化，这可以解决第一点遇到的问题。举例说明，在看板中基于故事点展开的流程往往是对应研发、测试等具体的负责人，上下游的人员在排查出问题后可以及时核查流程的合理性或者提出优化办法，甚至可以对难点增派资源；③可控的度量范围，设定了泳道后所有的工作将围绕故事点展开，在具体的工作项中将对具体的完成标准进行定义，并且提供交流、串联的途径，可以完整覆盖该需求所有的开发环节以提高质量和效率；④可以有效度量研发速率，敏捷看板的燃尽图可以对故事点的完成和工时的燃尽进行有效展示，做到结果可衡量，变化可控，提高团队的开发信心。

![](https://2853388421-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwaVKD2ubnvih41lKK_%2F-M9SkjlhJUweoMTJx6Yv%2F-M9SppC5g78RLkK5Iy7p%2Fimage.png?alt=media\&token=0236ac0a-2524-4aef-b42d-fc1266440e20)

* 工作项看板视图：基于父工作项，配合工作项流程定义看板栏，实现工作的可视化监控；
* 敏捷看板：支持基于关联&父子任务泳道、灵活筛选以适配更多需求场景、支持燃尽图等速率监控需求、支持多看版关联等。

### 燃尽图

燃尽图是用于体现剩余工作量的工作图表，由横轴（X）和纵轴（Y）组成，横轴表示时间，纵轴表示剩余工作量，其中虚线为基线，表示期望的工作进度。

![](https://2853388421-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LwaVKD2ubnvih41lKK_%2F-MAALxGFXZ3ArJCvTnuD%2F-MAAM1JLxmTYcLyDOLFM%2Fimage.png?alt=media\&token=e0aee9c7-c16b-4a53-95e8-93991422e778)

当剩余工作量高于基线时，则表示进度偏紧急，可能无法准时完成目标。当剩余工作量低于基线时，则表示进度较为乐观，甚至可能于周期内提前完成工作量。
