您的软件开发生命周期数据模板
您的软件开发生命周期数据模板
这是我们针对软件开发生命周期的通用流程挖掘数据模板。使用我们针对特定系统的模板以获得更具体的指导。
选择特定系统- 用于全面分析开发项目的标准化属性。
- 实现端到端 SDLC 可见性需跟踪的关键活动和流程步骤。
- 适用于任何软件开发系统的灵活起点指南。
软件开发生命周期属性
| 名称 | 描述 | ||
|---|---|---|---|
| 事件开始时间 EventStartTime | 记录开发项中特定活动或事件发生的精确时间戳 (timestamp)。 | ||
| 描述 事件开始时间(Event Start Time)标志着一项活动开始的确切日期和时间。它为单个 case 中的所有 event 提供时间顺序,这对于准确重建流程流至关重要。 timestamp 是所有基于时间的 Process Mining 分析的基础。它们用于计算关键绩效指标,如周期时间、等待时间以及活动之间的处理时间。分析 timestamp 有助于定位瓶颈、衡量流程效率并了解开发生命周期中不同阶段的持续时间。例如,“代码已提交审查” 与 “代码审查已完成” 之间的时间可以揭示评审流程中的延迟。 为何重要 此时间戳 (timestamp) 对于正确排序事件以及计算所有基于时间的指标(如周期时间和瓶颈)至关重要。 获取方式 可在记录开发工作项变更的 event log、审计追踪或历史记录表中找到。 示例 2023-10-26T10:00:00Z2023-10-27T14:35:10Z2023-11-01T09:15:00Z2023-11-05T16:21:45Z | |||
| 开发项目 ID DevelopmentItemId | 单个工作单元(如功能、Bug 或用户故事)的唯一标识符,在流程中作为 case 标识符。 | ||
| 描述 开发项目 ID(Development Item ID)是贯穿整个软件开发生命周期的唯一标识每个 case 实例的主键。每个 ID 代表一项独立的工作(如用户故事、任务或 Bug 修复),从其创建到最终解决或部署。 在 Process Mining 分析中,此属性对于重建每个工作项的端到端历程至关重要。它支持工具将所有相关活动(如 “开发已开始”、“代码审查已完成” 和 “已部署至生产环境”)链接成一个连贯的流程。通过分析单个开发项目的生命周期,有助于识别与特定工作相关的偏差、延迟和返工循环。 为何重要 这是追踪每个开发工作项从开始到结束完整生命周期所必需的基础 case 标识符。 获取方式 通常位于软件开发管理系统的主要工作项或问题追踪表中。 示例 STORY-1024BUG-8192TASK-4096EPIC-512 | |||
| 活动名称 ActivityName | 工作项在开发生命周期中某一点发生的特定 event 或任务的名称。 | ||
| 描述 活动名称(Activity Name)描述了开发流程中特定的步骤或状态变更。这些活动构成了流程图中的节点,代表关键里程碑,如 “项目已获准开发”、“代码已提交审查” 或 “QA 测试已完成”。 此属性对于将流程流向可视化并理解 event 顺序至关重要。通过分析不同的活动,团队可以识别最常见的路径、发现流程偏差并衡量在各个阶段花费的时间。它构成了瓶颈分析、返工检测以及针对目标流程模型进行合规检查的基础。 为何重要 它定义了流程中的步骤,支持开发 workflow 的可视化和分析。 获取方式 通常源自状态变更日志、event 流或与开发工作项相关的审计历史表。 示例 开发已开始代码审查已完成QA 识别出返工已部署至生产环境 | |||
| 最后数据更新 LastDataUpdate | 指示此流程的数据最后一次从源系统刷新的时间戳。 | ||
| 描述 最后 data 更新(Last Data Update)属性记录了 data 最近从源系统提取或更新的日期和时间。这清晰地指示了 data 的实时性和相关性。 此信息对于确保分析和 dashboard 基于当前信息至关重要。利益相关者可以一目了然地看到流程视图的更新程度,从而增强对所得洞察的信心。它是用于管理 data 流水线和安排 data 刷新的关键元数据。 为何重要 指示 data 的实时性,确保分析对于决策而言是及时且相关的。 获取方式 该值通常由数据提取、转换和加载 (ETL) 流水线生成并存储。 示例 2024-05-20T08:00:00Z2024-05-21T08:00:00Z | |||
| 源系统 SourceSystem | 提取流程数据的系统,例如 Jira、Azure DevOps 或 GitHub。 | ||
| 描述 源系统 (Source System) 属性识别记录开发生命周期数据的原始应用程序或平台。这在多工具协作的环境中尤为有用,例如使用 Jira 进行问题追踪,使用 GitLab 进行源代码管理。 在分析中,指定源系统有助于数据验证并为流程数据提供背景。它支持对不同系统中管理的流程进行对比分析,并确保数据解读的准确性,因为不同系统的字段名称和流程惯例可能有所不同。此外,它还可用于将分析范围缩小至特定工具的数据集。 为何重要 提供关于 data 来源的背景信息,这对于 data 验证以及涉及多个集成系统的分析至关重要。 获取方式 这通常是在数据提取过程中添加的静态值,用于识别记录的来源。 示例 Jira SoftwareAzure DevOpsGitLabServiceNow DevOps | |||
| 事件结束时间 EventEndTime | 表示活动完成的时间戳 (timestamp),用于计算单个活动的执行时长。 | ||
| 描述 事件结束时间(Event End Time)标志着一项活动的结束。虽然许多流程步骤被记录为开始和结束时间相同的即时 event,但某些活动具有可衡量的持续时间。例如,“代码审查” 活动可能具有明确的开始和结束时间。 此属性对于计算特定任务的实际处理时间至关重要,能将其与闲置或等待时间区分开。通过对比事件开始时间和事件结束时间之间的持续时间,分析人员可以衡量在增值活动上投入的精力。这支持更精细的资源利用分析,并有助于识别哪些任务消耗了最多的实际工作时间。 为何重要 支持计算单个活动的实际处理时间,将其与等待时间区分开,从而更清晰地了解投入的精力。 获取方式 可以从 event log 中找到,或者通过获取同一工作项在序列中下一个活动的 timestamp 来推算。 示例 2023-10-26T18:30:00Z2023-10-27T15:00:10Z2023-11-01T11:45:00Z2023-11-05T16:21:45Z | |||
| 分配给 AssignedTo | 当前负责该开发项的用户或团队成员。 | ||
| 描述 该属性识别负责完成当前步骤或整个工作项的个人或小组。在整个生命周期中,负责人可能会多次变更,反映了开发人员、QA 测试人员和评审人员等不同角色之间的交接。 分析负责人 (Assigned To) 属性是理解团队工作量、交接效率和协作模式的关键。它允许筛选流程图以查看特定人员或团队的工作,有助于识别特定资源的瓶颈 (bottleneck)。基于负责人之间交接的社交网络分析可以揭示沟通鸿沟或过于复杂的协作结构。 为何重要 它支持分析资源工作量、交付频率和协作模式,帮助优化团队效率。 获取方式 可在工作项或 issue 记录中找到,通常在项目的历史或审计日志中进行跟踪。 示例 jane.doe@example.comjohn.smithQA Alpha 团队平台工程部 | |||
| 团队名称 TeamName | 负责该工作项的开发团队名称。 | ||
| 描述 该属性识别负责交付开发项的具体团队、小组或部门。在大型组织中,工作通常分布在多个专业团队中,如“前端”、“后端”、“移动端”或“平台组”。 按团队名称 (Team Name) 进行分析可以实现团队间的绩效对比和最佳实践分享。它有助于回答诸如“哪个团队的周期时间最短?”或“是否某个团队的返工比其他团队更多?”等问题。这种分析可以揭示影响整体交付绩效的工作流 (workflow)、技能组合或资源可用性方面的差异,为有针对性的流程改进提供契机。 为何重要 支持不同团队间的绩效基准测试,帮助识别最佳实践和待改进领域。 获取方式 通常与分配的用户关联,或者是项目或工作项记录中的直接字段。 示例 凤凰团队核心服务移动端应用小组Data Science | |||
| 开发项目优先级 DevelopmentItemPriority | 开发项目相对于其他项目的重要程度或紧急程度排名。 | ||
| 描述 优先级 (Priority) 属性表示工作项在业务或技术上的紧迫程度。通常设置为“高”、“中”或“低”,帮助团队决定后续工作的优先级。 在流程挖掘中,优先级是一个强大的分析维度。它允许团队检查高优先级项目是否确实比低优先级项目处理得更快。通过比较不同优先级的周期时间,可以揭示流程是否遵循了业务优先级。如果高优先级项目频繁延迟,则可能预示着规划、资源分配或工作流 (workflow) 设计存在问题。 为何重要 帮助验证高优先级工作在流程中的流转速度是否更快,并识别不成比例地影响关键项目的瓶颈。 获取方式 大多数开发管理系统中工作项或 issue 记录上的标准字段。 示例 最高高中低最低 | |||
| 开发项目状态 DevelopmentItemStatus | 开发项目在其 workflow 中的当前或历史状态,例如 “新建”、“进行中” 或 “已关闭”。 | ||
| 描述 开发项目状态(Development Item Status)代表工作项在特定时间点的状态。活动名称捕捉的是状态变更的 event,而此属性捕捉的是状态本身。这对于分析 event 发生时的工作状态非常有用。 此属性通常用于创建活动名称,但也可以提供额外背景信息。例如,分析状态字段可以对项目在特定状态(如 “Blocked” 或 “等待评审”)中停留的时长进行持续时间分析。理解在非生产状态下花费的时间对于识别系统性延迟和提高流转效率至关重要。 为何重要 它支持分析在不同状态下花费的时间,帮助识别延迟以及在非增值状态(如 “Blocked”)中花费的时间。 获取方式 可在工作项或 issue 记录的主字段中找到,并在其历史日志中进行跟踪。 示例 新建进行中已解决已结案审核中 | |||
| 开发项目类型 DevelopmentItemType | 开发项目的分类,例如 Bug、功能(Feature)、用户故事(User Story)或任务(Task)。 | ||
| 描述 该属性对所执行工作的性质进行分类。不同类型的工作项通常遵循不同的流程路径,且绩效预期也不同。例如,“Bug”可能需要快速的热修复流程,而“功能 (Feature)”则遵循标准的开发和测试周期。 利用该属性,分析师可以比较不同类型工作的流程流向和绩效。这有助于回答诸如“我们的 Bug 修复流程是否比功能开发流程更快?”或“技术债项目是否经历了更多返工?”等问题。它是数据分段的基本维度,有助于获得更具体、更具操作性的洞察。 为何重要 支持对比不同工作类别的流程和绩效,揭示特定开发类型的效率低下问题。 获取方式 大多数开发管理系统中工作项或 issue 记录上的标准字段。 示例 BugFeature用户故事技术债任务 | |||
| 项目名称 ProjectName | 开发项目所属的项目、代码库或产品名称。 | ||
| 描述 项目名称 (Project Name) 通过对属于特定产品、方案或代码库的工作项进行分组来提供上下文背景。不同项目之间的开发实践和周期时间可能存在显著差异,例如遗留系统与全新的从零开发 (greenfield) 应用就完全不同。 该属性支持对组织内不同部门的开发流程进行高层级的汇总和对比。通过按项目筛选分析,管理者可以评估每项开发工作的健康状况和效率。这对于理解流程绩效如何受到项目特定背景和技术环境的影响也至关重要。 为何重要 支持按产品或项目对流程分析进行细分,揭示与项目背景相关的绩效差异。 获取方式 工作项或 issue 记录上的标准字段,或者是 Git 等系统中的代码库名称。 示例 客户门户网站改造第四季度安全更新Mobile App v3.0API Gateway | |||
| 创建人 Creator | 最初创建或报告该开发项的用户。 | ||
| 描述 创建者(Creator)属性标识了发起该工作项的人员。这可能是创建用户故事的产品经理、记录 Bug 的 QA 测试人员,或者是报告客户问题的客服人员。 分析工作项的创建者可以深入了解工作的来源。例如,终端用户报告的大量 Bug 可能表明最近发布的版本存在质量问题。它还可以通过将创建者与下游的返工或延迟相关联,来分析初始需求的清晰度和质量。 为何重要 帮助识别工作的发起者,通过分析了解需求、Bug 或功能请求的来源。 获取方式 工作项初始创建记录中的标准字段,例如 “Reporter” 或 “Author”。 示例 product.manager@example.comqa.tester1s.chenautomation_bot | |||
| 开发项目严重程度 DevelopmentItemSeverity | 表示 Bug 或 issue 对系统或终端用户的影响。 | ||
| 描述 严重程度(Severity)不同于优先级(Priority),它衡量的是问题的技术影响,而优先级衡量的是修复的紧急程度。例如,极少访问页面上的错别字可能是低严重程度和低优先级,而关键 data 损坏问题则是高严重程度和高优先级。 此属性对于质量分析至关重要,尤其是在分析 Bug 修复流程时。它支持团队评估是否有效地优先处理了最严重的问题。通过分析不同严重程度等级的周期时间,企业可以确保关键系统问题得到快速解决,从而最大限度地减少对客户的影响。 为何重要 支持分析团队如何根据技术影响有效处理问题,确保关键问题得到及时解决。 获取方式 开发管理系统中的标准字段,常见于 “Bug” 或 “Incident” 类型的工作项。 示例 1 - 紧急2 - 高3 - 中4 - 低 | |||
| 计划发布 PlannedRelease | 计划部署该项目的目标软件版本、发布版本或产品增量。 | ||
| 描述 计划发布 (Planned Release) 属性将开发项与特定的交付计划或版本关联。这通常用于发布规划,以便将功能和修复补丁进行打包,实现协同部署。 通过计划发布维度进行分析,有助于评估发布过程的可预测性和可靠性。通过对比计划发布日期与实际部署日期,您可以追踪准时交付率。此外,它还能辅助范围管理,帮助团队了解特定发布版本的工作流向,从而及时发现可能影响交付时间表的潜在风险或延迟。 为何重要 将开发工作与交付计划联系起来,支持分析准时交付率和发布的可预测性。 获取方式 敏捷规划和开发工具中的标准字段,例如 “Fix Version”、“Target Release” 或 “Iteration Path”。 示例 版本 2.5.12024 年第三季度发布Sprint 23Hotfix-2024-10-28 | |||
| 返工指标 ReworkIndicator | 一个识别属于返工循环活动的标记,例如未通过的 QA 测试或代码审查。 | ||
| 描述 返工标识 (Rework Indicator) 是一个派生的布尔或分类属性,用于标记属于返工循环的事件。这通常通过流程回流来识别,例如从“QA 测试”退回至“开发中”,或者出现了如“QA 发现返工”等特定活动。 该属性对于质量和效率分析极具价值。它可以直接计算返工率,并找出流程中产生返工最多的环节。通过筛选返工活动,团队可以进行根因分析,了解为何质量问题未能及早发现。减少返工是提升开发速度和产品质量的关键杠杆。 为何重要 直接量化返工,让团队能够衡量其发生频率、分析原因并跟踪质量随时间的改进情况。 获取方式 通常在数据转换过程中通过识别流程中的回溯循环或特定的失败相关活动名称派生而来。 示例 truefalse | |||
软件开发生命周期活动
| 活动 | 描述 | ||
|---|---|---|---|
| QA 测试已完成 | 表示开发项目已成功通过所有质量保证(QA)检查。从 QA 的角度来看,该功能现在被认为是功能正确且稳定的。 | ||
| 为何重要 这是一个主要的质量门禁,也是进入用户验收测试或部署前的关键里程碑。它确认了该项目已准备好进入生命周期的最终阶段。 获取方式 通常根据状态变更推断得出,例如从主要测试状态变为“准备 UAT”、“QA 已批准”或“准备发布”。 捕获 识别项目状态从测试状态进入后续批准状态的 timestamp。 事件类型 inferred | |||
| 代码已合并 | 获批的代码更改被正式集成到主代码库中(例如 main 或 develop 分支)。此操作通常在成功完成代码审查和自动化检查后进行。 | ||
| 为何重要 这是一个关键的集成点,确认某个功能的开发工作已完成并已合入。它是进入正式测试和部署阶段前的关键里程碑。 获取方式 这是一个从版本控制系统中捕获的核心显性事件,在拉取请求 (PR) 或合并请求 (MR) 完成合并时记录精确的时间戳 (timestamp)。 捕获 使用拉取请求或合并请求事件日志中的合并时间戳 (timestamp)。 事件类型 explicit | |||
| 已部署至生产环境 | 标志着开发项目相关的代码已成功部署到生产环境。该功能现已对终端用户开放。 | ||
| 为何重要 这是最终的价值交付里程碑。衡量到此事件为止的时间对于理解交付周期 (lead time) 以及组织向客户交付价值的能力至关重要。 获取方式 通常作为来自持续部署(CD)流水线或发布管理工具的明确 event 捕获。也可以从最终状态变更为 “已发布” 或 “完成” 来推断。 捕获 使用生产部署任务或发布记录中的成功完成时间戳 (timestamp)。 事件类型 explicit | |||
| 开发已开始 | 此活动表示开发人员已开始处理该项目。它标志着从等待状态向活跃的编码和实现阶段的转变。 | ||
| 为何重要 这是衡量“首次响应时间”和增值工作真正开始的关键里程碑。它有助于区分排队等待时间与实际开发时间。 获取方式 通常从状态变更为 “进行中” 或 “活动” 来推断。也可以从该项目相关的首次代码提交或分支创建来推导。 捕获 获取状态首次变更为 “进行中” 的 timestamp,或者是首个相关代码提交的 timestamp。 事件类型 inferred | |||
| 开发项目已关闭 | 代表工作项的最终行政关闭,确认包括部署和部署后验证在内的所有活动均已完成。该项目后续不再有工作任务。 | ||
| 为何重要 作为主要的结束 event,此活动标志着成功项目的生命周期终结。这对于计算从创建到关闭的总周期时间至关重要。 获取方式 从变更为最终终止状态(如 “已关闭” 或 “完成”)推断,通常伴随解析结果字段的设置。 捕获 使用最终状态变更为“已关闭”或“已完成”状态的时间戳 (timestamp)。 事件类型 inferred | |||
| 开发项目已创建 | 此活动标志着开发生命周期的正式开始。它代表了在管理系统中对新任务、Bug、功能需求或其他工作单元的初始登记。 | ||
| 为何重要 作为主要的启动 event,它对于计算整体 case 持续时间和分析流入的工作量至关重要。它为衡量整个开发周期时间提供了基准。 获取方式 该事件捕获自开发管理系统中的主要记录(如问题、工单或工作项)的创建时间戳 (timestamp)。 捕获 使用主要开发项记录或其审计历史中的创建日期字段。 事件类型 explicit | |||
| QA 测试已开始 | 标志着正式 QA 测试阶段的开始。专门的测试人员或 QA 团队开始针对新开发的功能执行测试用例。 | ||
| 为何重要 此活动专门标记生命周期中的测试阶段。分析该阶段的持续时间和结果对于了解测试效率和整体产品质量至关重要。 获取方式 最常见的是从开发管理系统中的状态变更推断,例如将项目移动到 “QA 测试中” 或 “测试中”。 捕获 识别项目状态首次变更为指定测试状态的 timestamp。 事件类型 inferred | |||
| QA 识别出返工 | 表示在 QA 测试期间发现了缺陷,需要将项目发回开发团队进行修正。这代表了流程中的循环或返工。 | ||
| 为何重要 追踪返工是流程挖掘 (Process Mining) 进行质量分析的基础。该活动的高频出现通常预示着开发质量问题、需求不明或单元测试不足。 获取方式 通过观察流程流向中向后的状态转换来推断,例如从 “QA 测试中” 回到 “进行中”,或者通过创建新的关联 Bug 来推断。 捕获 获取从测试状态变回开发状态的状态变更 timestamp。 事件类型 inferred | |||
| UAT 已开始 | 代表用户验收测试的开始。在此阶段,业务利益相关者或终端用户验证功能,确保其符合需求和预期。 | ||
| 为何重要 此活动衡量业务验证的开始。分析 UAT 阶段有助于了解开发输出与业务需求之间的匹配程度。 获取方式 通常从开发管理工具中状态变更为 “In UAT” 或 “用户验收测试” 等状态来推断。 捕获 获取变更为指定 UAT 状态的 timestamp。 事件类型 inferred | |||
| UAT 已批准 | 此活动表示业务利益相关者在用户验收测试后正式批准了更改。这是项目部署前的最终业务签收。 | ||
| 为何重要 这是从业务角度看的最终质量门禁。它确认了开发的功能交付了预期价值,是确保生产版本发布信心的先决条件。 获取方式 从 UAT 状态到后续批准状态(如 “准备发布” 或 “UAT 完成”)的变更中推断。 捕获 获取表示 UAT 已成功完成的状态变更 timestamp。 事件类型 inferred | |||
| 代码审查已完成 | 代表同行评审流程的完成,提交的代码已获批准。这标志着代码符合要求的质量和功能标准。 | ||
| 为何重要 衡量代码提交与评审完成之间的时间有助于识别同行评审过程中的瓶颈。这是团队协作和交付效率的关键指标。 获取方式 从版本控制系统中 pull 或 merge request 的明确审批 event 中获取。也可以从开发管理工具中的状态变更中推断。 捕获 使用相关拉取请求或合并请求的最终批准时间戳 (timestamp)。 事件类型 explicit | |||
| 代码已提交审查 | 表示开发人员已完成初步编码,并正式提交更改以供同行评审。这通常通过创建 pull request 或 merge request 来完成。 | ||
| 为何重要 此活动标志着初始编码阶段的结束和质量保证反馈循环的开始。这对于分别分析开发周期和评审周期至关重要。 获取方式 通常是从集成的版本控制系统中捕获的显性事件,例如拉取请求或合并请求的创建时间戳 (timestamp)。 捕获 使用与开发项关联的拉取请求 (PR) 或合并请求 (MR) 的创建时间戳 (timestamp)。 事件类型 explicit | |||
| 开发项目已取消 | 表示开发项目已取消,将不会完成或部署。这是一个提前结束流程的终止状态。 | ||
| 为何重要 这一替代性的结束事件对于分析无效劳动和理解工作为何被中途放弃至关重要。过高的取消率可能意味着规划或优先级设置存在问题。 获取方式 从变更为终止状态(如 “取消”、“拒绝” 或 “不做”)推断,通常伴随特定的解析结果。 捕获 获取项目状态变更为取消状态且解析结果已相应设置时的 timestamp。 事件类型 inferred | |||
| 自动化构建成功 | 确认包含新更改的源代码已由自动化构建流水线成功编译和打包。这验证了集成代码的技术完整性。 | ||
| 为何重要 构建成功是核心的质量关口。跟踪这些 event 有助于监控持续集成(CI)流程的健康状况,确保有缺陷的代码不会流转到测试人员手中。 获取方式 由持续集成或构建自动化工具明确记录。这些 event 通常会关联到触发它们的特定代码提交或 pull request。 捕获 从 CI/CD 流水线日志中获取成功构建任务的完成 timestamp。 事件类型 explicit | |||
| 项目已获准开发 | 代表开发项目的正式批准或完善,确认其定义清晰且开发人员可以开始工作。这通常在 backlog 整理或规划会议之后进行。 | ||
| 为何重要 此里程碑有助于区分项目在积压工作 (backlog) 中停留的时间与其变为可执行状态的时间。分析批准前的持续时间可以揭示规划和优先级排序中的潜在瓶颈 (bottleneck)。 获取方式 通常通过开发项记录的状态或阶段字段变更来推断,例如从“新建”或“积压”变更为“准备开发”或“已批准”。 捕获 识别项目状态首次变更为批准或就绪状态的 timestamp。 事件类型 inferred | |||