CN109978392B - 敏捷软件开发管理方法、装置、电子设备、存储介质 - Google Patents
敏捷软件开发管理方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN109978392B CN109978392B CN201910247692.2A CN201910247692A CN109978392B CN 109978392 B CN109978392 B CN 109978392B CN 201910247692 A CN201910247692 A CN 201910247692A CN 109978392 B CN109978392 B CN 109978392B
- Authority
- CN
- China
- Prior art keywords
- story
- spindle
- volume
- mass
- ball
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种敏捷软件开发管理方法、装置、电子设备、存储介质,敏捷软件开发管理方法包括:建立基于二极纺锤体结构的数据结构,在所述数据结构中:使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点;将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;建立所述纺锤丝的质量、体积的量化规则;基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则;采集敏捷软件开发中各用户故事的执行数据;按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据。本发明提供的敏捷软件开发管理方法及装置量化并直观地展示敏捷项目的开发过程。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种敏捷软件开发管理方法、装置、电子设备、存储介质。
背景技术
敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调技术团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。
Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程。Scrum在英语是橄榄球运动中列阵争球的意思。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。Scrum之间的合作称为“Scrum ofScrums”。
“看板”是一种生产管理系统,由1940年代的丰田汽车公司发明。名称源自日文“看板”。在软件开发过程,可以使用用“看板卡”(经常为即时贴)来执行看板。这些卡片不是作为提高生产量的信号,而是用于记载生产数量和标记生产过程。在虚拟看板系统中,会使用虚拟看板卡。在软件开发中,我们采用虚拟看板系统来限制在制品。
用户故事(英语:User story)是软件开发和项目管理中的常用术语。主旨是以日常语言或商务用语撰写句子,是一段简单的功能表述。以客户或使用者的观点撰写下有价值的功能、引导、框架来与使用者进行互动,进而推动工作进程。可以被认为是一种规格文件,但更精确而言,它代表客户的需求与方向。以该用户故事来反应对象在组织内的其工作职责、范围、需要进行的任务等。用户故事在敏捷软件开发方法中用来定义系统需要提供的功能和实现需求管理。
现有敏捷软件开发方法中,通常一个用户故事拆解成为一个或多个角色的一个或多个任务。多任务之间可能存在前置或后置的依赖拓扑关系。不同的用户故事所产生的多角色多任务的依赖拓扑关系可能不同。这种拓扑关系可能是串行,并行或乱序。因此较难制定一种或几种固定的拓扑关系以及对应的任务处理流程和角色分工。
敏捷软件开发团队在一个常规里程碑时间周期的工作产出数量和效率难以统一量化。现有的故事点数的量化单位和方法较难选择实际合理的参照体系,较难在团队内部成员和团队之间达成一致理解和标准,并且不同的用户故事的点数较难估算。
基于以上两点,团队运作效率难以衡量,从而难以发现团队运作中存在的问题,以及难以优化和提升团队运作效率。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种敏捷软件开发管理方法、装置、电子设备、存储介质,以量化并直观地展示敏捷项目的开发过程。
根据本发明的一个方面,提供敏捷软件开发管理方法,包括:
建立基于二极纺锤体结构的数据结构,在所述数据结构中:
使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点;
将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;
建立所述纺锤丝的质量、体积的量化规则;
基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则;
采集敏捷软件开发中各用户故事的执行数据;
按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据。
可选地,所述纺锤丝的质量量化为单个角色执行该纺锤丝映射的子任务所需的时间;
所述纺锤丝的体积量化为完成该纺锤丝映射的子任务的所需的时间。
可选地,所述故事球的质量量化为该故事球两个极点之间的所有纺锤丝的质量总和;
所述故事球的体积量化为该故事球两个极点之间的所有纺锤丝的体积总和;
所述故事球的密度量化为该故事球的质量除以该故事球的体积;
所述故事球的集合容积量化为:一个团队在一个里程碑周期时间范围内,开始并完成的故事球数量除以该团队人数与里程碑周期时间天数的乘积。
可选地,所述按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据包括:
按所述基于二极纺锤体结构的数据结构以二维数组或树状结构储存并可视化显示所述执行数据。
可选地,还包括:
设定所述纺锤丝的质量、体积及所述故事球的质量、体积、密度、集合容积中的一个或多个标准值;
当按所述基于二极纺锤体结构的数据结构储存的执行数据与所述标准值之间产生偏差时,根据偏差情况提供提示信息,所述提示信息预先设置或根据历史执行数据确定。
可选地,多个所述纺锤丝的质量、体积及所述故事球的质量、体积、密度、集合容积中每一项的项的均值或中位数作为该项的标准值。
可选地,还包括:
按预定周期更新按所述基于二极纺锤体结构的数据结构储存并可视化显示的所述执行数据。
根据本发明的又一方面,还提供一种敏捷软件开发管理装置,包括:
建立模块,用于建立基于二极纺锤体结构的数据结构,在所述数据结构中:
使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点;
将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;
建立所述纺锤丝的质量、体积的量化规则;
基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则;
采集模块,用于采集敏捷软件开发中各用户故事的执行数据;
储存模块,用于按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明的优势在于:
简化了敏捷软件开发流程中的团队运作数据跟踪记录的数量和维度,简化了用户故事的多角色多任务作业的拓扑依赖关系,使用更简单直观的量化方法反映团队运作的产出和效率。提出更加简单直观的团队运作优化参考数据和方法。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的敏捷软件开发管理方法的流程图。
图2示出了根据本发明实施例的故事球的示意图。
图3示出了根据本发明实施例的敏捷软件开发管理装置的示意图。
图4示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
图5示意性示出本公开示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了解决现有技术的缺陷,为了量化并直观地展示敏捷项目的开发过程,本发明提供一种敏捷软件开发管理方法、装置、电子设备、存储介质。
本发明借鉴生物学的植物细胞有丝分裂的二极纺锤体结构,将一个用户故事映射为一个细胞,称为故事球(英语:StoryBall),将一个用户故事的开始时间点和结束时间点映射为纺锤体的两个极点。开始时间点是指该用户故事拆分成子任务后,子任务的最早开始时间点。结束时间点是指该用户故事拆分成子任务后,子任务的最晚结束时间点。结束的标志是该用户故事通过了完整的测试验收,可以交付给用户。将多角色多任务的每一项工作事务映射为细胞中连接两个极点的纺锤丝。将多角色多任务之间的前置后置依赖拓扑关系简化为互不干涉的并行拓扑关系。以此形成一套数据模型。
首先参见图1,图1示出了根据本发明实施例的敏捷软件开发管理方法的示意图。敏捷软件开发管理方法包括如下步骤:
步骤S110:建立基于二极纺锤体结构的数据结构。
如图2所示,在所述数据结构中:使一个用户故事映射为一个故事球200,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点201及202,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点。将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝203。建立所述纺锤丝203的质量、体积的量化规则。基于所述纺锤丝203的质量、体积建立所述故事球200的质量、体积、密度及集合容积的量化规则。
具体而言,所述纺锤丝的质量量化为单个角色执行该纺锤丝映射的子任务所需的时间;所述纺锤丝的体积量化为完成该纺锤丝映射的子任务的所需的时间。所述故事球的质量量化为该故事球两个极点之间的所有纺锤丝的质量总和;所述故事球的体积量化为该故事球两个极点之间的所有纺锤丝的体积总和;所述故事球的密度量化为该故事球的质量除以该故事球的体积。所述故事球的集合容积量化为:一个团队在一个里程碑周期时间范围内,开始并完成的故事球数量除以该团队人数与里程碑周期时间天数的乘积。
进一步地,一个故事球等价于一个用户故事的完整作业事务。英语简称1StoryBall=1Userstory’s Tasks。一个故事球的二极纺锤体结构中,一极等价于一个用户故事的任务作业起始时间点。另一极等价于该用户故事的任务作业完成时间点。
一个故事球中(连接二极点)的纺锤丝等价于一个角色人员的一项任务作业。纺锤丝的粒度定义是:该角色的该任务可以独立完成,并与其他任务之间有明确的工作区分,即不同任务可由不同角色或不同人员承担,并行执行完成并交付给后续流程节点。当多个纺锤丝之间存在明确的单一前置或后置依赖关系,并且需要由同一个人员执行,此时可以将其合并为同一个纺锤丝。如果合并后的耗时较长,例如大于1天(8工作小时),建议不合并。
纺锤丝的质量量化为其代表的单个角色单个任务执行所需的时间,单位包括但不限于天,小时,分钟。即该子任务的工作量。
故事球的质量量化为其代表的用户故事所包含的纺锤丝质量总和。即其所有子任务的工作量总和。
在物理学中,重量(英语:Weight)等于质量乘以重力加速度。在本发明中,重力加速度变量不存在,因此定义:故事球的重量数值等价于质量数值。
纺锤丝的体积(英语:Volume)量化为其所代表的作业任务完成所需的时间,单位包括但不限于天,小时,分钟。体积与质量的数值差异在于,体积包含了由于各种原因产生的空闲等待时间。即体积数值总是大于等于质量数值,质量数值的最大值理论上无限逼近体积数值。这里的偏差是指一项任务的实施过程中的内部和外部依赖产生的空闲等待时间。
故事球的体积(英语:Volume)量化为其所代表的用户故事所包含的纺锤丝体积的总和。
故事球的密度(英语:Density)量化为故事球的质量除以故事球的体积。根据前述定义可知,密度数值的最大值理论上无限逼近1.0。当初始估算工作量与实际工作量产生偏差时,需要修正相关原始数据,以实际工作量数据为准进行计算。
团队的用户故事球的集合容积(英语:Bulk)的标准单位量化为一个团队在一个里程碑周期时间范围内,开始并完成的故事去数量除以该团队人数与里程碑周期时间天数的乘积,再乘以一人与一个工作日的乘积。计算得到的数字若为1,即称为1Bulk。即TotalCellperOneManDay,此处英语缩写定义为B。
团队的用户故事球的集合容积的量化标准单位可以按如下方式定义:一个团队在一个里程碑周期时间范围内开始并完成的故事球数量除以该团队人数与里程碑周期时间的乘积,再乘以十人与十工作日的乘积,计算得出的数字若为1,即称为1HundredBulk,即TotalCellperHundredManDay,英语缩写定义为HB。根据上述定义推理可得1HB=100B。
例如:假设一个团队10人,一个里程碑周期是两周,共十个工作日,开始并完成十个故事球,团队故事球集合容积的标准值是10Cell/(10Man*10Day)*(1Man*1Day),等于0.1B。10Cell/(10Man*10Day)*(10Man*10Day),等于10HB。
步骤S120:采集敏捷软件开发中各用户故事的执行数据。
步骤S130:按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据。
具体而言,所述按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据包括:按所述基于二极纺锤体结构的数据结构以二维数组或树状结构储存并可视化显示所述执行数据。
二维数据表格结构,举例如下:
根据前文内容的方法和公式计算可得:
故事球1的质量=6;
故事球1的体积=6;
故事球1的密度=1.0;
故事球2的质量=6;
故事球2的体积=9;
故事球2的密度=0.667;
该团队的该里程碑的故事球集合容积=2/(3*5),约等于0.133 B,换算可得13.3HB。
所有数据的计算基于实际消耗的工作量,而不是预估工作量。
纺锤丝的数量代表一个故事球的可分解和并行执行程度,随着用户故事的不同而不同,另一方面也代表一个团队运作的成熟度。例如,在传统常规软件开发方法中,一般分解为编程实现和功能测试验证两个纺锤丝,然后根据需要再分解为不同技术栈的编码实现纺锤丝(例如用户界面设计,客户端,服务端,数据库等)。在常见的测试驱动开发(英语:Test-driven development,缩写为TDD)方法中,故事球一般分解为方案设计(包括架构设计,接口设计,测试方法设计),测试数据制造,测试用例实现,功能编程实现,自动化测试用例验证运行,功能验证执行。其中测试工作一般优先于功能编程实现工作,形成前置后置依赖拓扑关系。因此能够固化分解的纺锤丝数量会比传统软件开发方法多。根据DevOps(英文Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发应用程序/软件工程)方法,鼓励定义一个故事球的纺锤丝数量标准值包含:技术方案设计,测试方案设计,测试数据准备,测试用例实现,代码单元测试,代码自动化测试,灰度发布/部署执行和监控。团队决策者可以基于此数据模型,定义团队成熟度的不同等级。
纺锤丝的质量代表执行一项连续的工作所用的时间。合理粒度定义为4小时至8小时,即半天至一天。小于该粒度的工作,一般认为过于碎片化零散化,大于该粒度的工作,一般认为分解不够细致。
故事球的质量(重量)代表一个用户故事的可分解执行粒度,理论上越小越好。
故事球的体积代表一个用户故事所拆分成具体作业任务后的执行情况的时间长短。根据不同的用户故事的特点,团队成员共同讨论并制定其常规标准大小。实际运作中,当故事球体积与常规标准体积大小的偏差值越小,即表明该用户故事的粒度设计和执行实现情况越合理,反之偏差值越大,即表明该用户故事的粒度设计和执行实现情况越差。
故事球的密度,代表该用户故事的实现过程中,由于各种原因,所产生的空闲等待的时间消耗。密度数值越大,空闲等待时间越少,表明该用户故事的实现运作效率越高。
故事球集合容积代表一个团队的整体运作效率。容积越高,表示里程碑周期内完整交付产出的成果越多。
在量化故事球的体积时,提出2种变体状态:紧缩状态和膨胀状态。
紧缩状态等于故事球前述标准计算方法。可反映团队中技术栈组成,或人员水平组成结构存在的问题。例如开发人员与测试人员比例失调,导致紧缩状态下,故事球后期耗时较长的问题。
膨胀状态是故事球在时间范围上的数据最大化场景。举例如下:
一个故事球分解为3条纺锤丝,每条纺锤丝实际耗时1天,在默认计算方式,即紧缩状态下,该故事球的重量=3,体积=3,密度=1.0。
假设该故事球的3条纺锤丝的执行时间分为两种。
第一种,3条纺锤丝在同一天完成,数值计算在紧缩状态和膨胀状态下,同上。
第二种,3条纺锤丝依次在第一天,第二天,第三天执行完成,体积数值计算在紧缩状态下同上,但在膨胀状态下等于9,即3角色3天。此时密度=0.33。
第三种,3条纺锤丝依次在第一周,第二周,第三周的周一完成,体积数值在紧缩状态下同上,但在膨胀状态下等于45,密度约等于0.067。
根据该案例可知,紧缩状态用于反映纺锤丝任务作业的执行效率。膨胀状态用于反映纺锤丝之间的依赖情况,以及故事球对外部依赖的情况。
此外,本发明还可以提出一种补充定义:破损球。即一个用户故事原计划在一个里程碑周期内完成交付,但实际未完成,需要顺延到下一个里程碑周期继续执行。破损球的数量和质量反映了团队整体的连续完整交付的能力和效率。
在本发明的一个具体实现中,可使用常见的CURD(创建Create、更新Update、读取Retrieve和删除Delete)数据管理系统实现。整体架构设计分为三层:用户界面层,逻辑处理层,数据存储层。用户界面层可使用现有HTML+CSS+Javascript技术,实现数据可视化界面。逻辑处理层实现用户操作行为的处理工作,从数据存储层读取数据供用户界面层展示,以及将用户界面层的用户操作变更数据更新至数据存储层。数据存储层实现所有数据的持久化存储。
现有敏捷软件开发系统通常都含有“看板”,GTD(TODO待启动事项,Doing进行中事项,Done已完成事项。),Metric数据汇总统计报表等功能。
以常见的GitLab系统为例。
在GitLab系统的项目管理相关功能部分,“看板”称为Board功能,默认含有4个分类:BACKLOG待定池,TODO已规划待开始,Doing进行中,Closed已完成。并可自由增删修改分类。
用户故事称为Issues功能,用于任务分解,人员角色分配,里程碑周期归类,开始时间和结束时间记录,耗时计算等。
团队运作数据统计功能称为Graphs,用于将数据可视化展示为网页形式的用户界面内容。
该数据模型所需采集的数据是现有GitLab系统的数据的子集,因此可以与现有系统结合,仅需关联模型所需数据。具体实现可使用GitLab系统现有的扩展插件接口定义和对第三方扩展网络接口,调用所需数据即可。
再使用现有HTML+CSS+Javascript技术,制作供用户访问浏览的可视化数据图表,并展示数据量化结果数值。并可利用GitLab系统现有的扩展插件接口,将可视化数据的网络访问链接或网页内容直接关联至GitLab系统中。
在实施敏捷软件开发方法的团队中,基于现有系统工具记录团队人数和里程碑周期时间。每个里程碑周期开始日期,记录故事球明细和数量。使用“看板”方法,物理实体或电子看板工具均可,团队成员或指定人员每日更新记录故事球的分解纺锤丝的明细,开始时间,结束时间。以二维数据表格或树形结构存储记录所有数据。在里程碑周期结束日期,统计整体故事球质量和数量,计算故事球集合容积。根据本数据模型,计算所有数据,并依次得出团队运作效率情况,发现存在的问题。再决策出优化方法。
以上仅仅是本发明的具体实现方式,本发明并非以此为限制。
本发明还提供一种敏捷软件开发管理装置,图3示出了根据本发明实施例的敏捷软件开发管理装置的示意图。敏捷软件开发管理装置300包括建立模块310、采集模块320及储存模块330。
建立模块310用于建立基于二极纺锤体结构的数据结构,在所述数据结构中:使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点;将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;建立所述纺锤丝的质量、体积的量化规则;基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则。
采集模块320用于采集敏捷软件开发中各用户故事的执行数据。
储存模块330用于按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据。
在本发明提供的敏捷软件开发管理装置中,简化了敏捷软件开发流程中的团队运作数据跟踪记录的数量和维度,简化了用户故事的多角色多任务作业的拓扑依赖关系,使用更简单直观的量化方法反映团队运作的产出和效率。提出更加简单直观的团队运作优化参考数据和方法。
图3仅仅是示意性的示出本发明提供的敏捷软件开发管理装置,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。本发明提供的敏捷软件开发管理装置可以由软件、硬件、固件、插件及他们之间的任意组合来实现,本发明并非以此为限。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述敏捷软件开发管理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述敏捷软件开发管理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图4所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述敏捷软件开发管理方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述敏捷软件开发管理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述敏捷软件开发管理方法。
相比现有技术,本发明的优势在于:
简化了敏捷软件开发流程中的团队运作数据跟踪记录的数量和维度,简化了用户故事的多角色多任务作业的拓扑依赖关系,使用更简单直观的量化方法反映团队运作的产出和效率。提出更加简单直观的团队运作优化参考数据和方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (8)
1.一种敏捷软件开发管理方法,其特征在于,包括:
建立基于二极纺锤体结构的数据结构,在所述数据结构中:
使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点;
将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;
建立所述纺锤丝的质量、体积的量化规则;
基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则;
采集敏捷软件开发中各用户故事的执行数据;
按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据,
其中,所述纺锤丝的质量量化为单个角色执行该纺锤丝映射的子任务所需的时间;
所述纺锤丝的体积量化为完成该纺锤丝映射的子任务的所需的时间;
所述故事球的质量量化为该故事球两个极点之间的所有纺锤丝的质量总和;
所述故事球的体积量化为该故事球两个极点之间的所有纺锤丝的体积总和;
所述故事球的密度量化为该故事球的质量除以该故事球的体积;
所述故事球的集合容积量化为一个团队在一个里程碑周期时间范围内,开始并完成的故事球数量除以该团队人数与里程碑周期时间天数的乘积。
2.如权利要求1所述的敏捷软件开发管理方法,其特征在于,所述按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据包括:
按所述基于二极纺锤体结构的数据结构以二维数组或树状结构储存并可视化显示所述执行数据。
3.如权利要求1或2所述的敏捷软件开发管理方法,其特征在于,还包括:
设定所述纺锤丝的质量、体积及所述故事球的质量、体积、密度、集合容积中的一个或多个标准值;
当按所述基于二极纺锤体结构的数据结构储存的执行数据与所述标准值之间产生偏差时,根据偏差情况提供提示信息,所述提示信息预先设置或根据历史执行数据确定。
4.如权利要求3所述的敏捷软件开发管理方法,其特征在于,多个所述纺锤丝的质量、体积及所述故事球的质量、体积、密度、集合容积中每一项的均值或中位数作为该项的标准值。
5.如权利要求1或2所述的敏捷软件开发管理方法,其特征在于,还包括:
按预定周期更新按所述基于二极纺锤体结构的数据结构储存并可视化显示的所述执行数据。
6.一种敏捷软件开发管理装置,其特征在于,包括:
建立模块,用于建立基于二极纺锤体结构的数据结构,在所述数据结构中:
使一个用户故事映射为一个故事球,使该用户故事的开始时间点和结束时间点映射为所述故事球的两个极点,所述开始时间点为该用户故事拆分成子任务后,子任务的最早开始时间点;所述结束时间点为该用户故事拆分成子任务后,子任务的最晚结束时间点;
将所述用户故事的子任务映射为连接所述故事球的两个极点的纺锤丝;
建立所述纺锤丝的质量、体积的量化规则;
基于所述纺锤丝的质量、体积建立所述故事球的质量、体积、密度及集合容积的量化规则;
采集模块,用于采集敏捷软件开发中各用户故事的执行数据;
储存模块,用于按所述基于二极纺锤体结构的数据结构储存并可视化显示所述执行数据,
其中,所述纺锤丝的质量量化为单个角色执行该纺锤丝映射的子任务所需的时间;
所述纺锤丝的体积量化为完成该纺锤丝映射的子任务的所需的时间;
所述故事球的质量量化为该故事球两个极点之间的所有纺锤丝的质量总和;
所述故事球的体积量化为该故事球两个极点之间的所有纺锤丝的体积总和;
所述故事球的密度量化为该故事球的质量除以该故事球的体积;
所述故事球的集合容积量化为一个团队在一个里程碑周期时间范围内,开始并完成的故事球数量除以该团队人数与里程碑周期时间天数的乘积。
7.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至5任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910247692.2A CN109978392B (zh) | 2019-03-29 | 2019-03-29 | 敏捷软件开发管理方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910247692.2A CN109978392B (zh) | 2019-03-29 | 2019-03-29 | 敏捷软件开发管理方法、装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109978392A CN109978392A (zh) | 2019-07-05 |
CN109978392B true CN109978392B (zh) | 2021-08-24 |
Family
ID=67081505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910247692.2A Active CN109978392B (zh) | 2019-03-29 | 2019-03-29 | 敏捷软件开发管理方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978392B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI732380B (zh) * | 2019-12-12 | 2021-07-01 | 中華電信股份有限公司 | 敏捷式專案管理方法及伺服器 |
CN111445137B (zh) * | 2020-03-26 | 2023-05-16 | 时时同云科技(成都)有限责任公司 | 敏捷开发管理系统及方法 |
US11693702B2 (en) | 2020-04-01 | 2023-07-04 | The Toronto-Dominion Bank | Systems and methods for managing usage of computing resources |
CN112579046B (zh) * | 2020-12-14 | 2024-02-20 | 招商局金融科技有限公司 | 用户故事分析方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373644A (zh) * | 2015-05-22 | 2016-03-02 | 荆明 | 平面交通动态同步结构的构建方法 |
CN106168884A (zh) * | 2011-08-26 | 2016-11-30 | 威睿公司 | 访问对象存储系统的计算机系统 |
CN107516192A (zh) * | 2017-08-28 | 2017-12-26 | 携程旅游信息技术(上海)有限公司 | 敏捷项目的管理方法、装置、系统、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191080A1 (en) * | 2011-07-01 | 2013-07-25 | The Boeing Company | System and method for addressing assembly issues during design and assembly planning of complex systems |
US10642251B2 (en) * | 2016-04-14 | 2020-05-05 | David E Platts | Subtractive machining work center |
-
2019
- 2019-03-29 CN CN201910247692.2A patent/CN109978392B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106168884A (zh) * | 2011-08-26 | 2016-11-30 | 威睿公司 | 访问对象存储系统的计算机系统 |
CN105373644A (zh) * | 2015-05-22 | 2016-03-02 | 荆明 | 平面交通动态同步结构的构建方法 |
CN107516192A (zh) * | 2017-08-28 | 2017-12-26 | 携程旅游信息技术(上海)有限公司 | 敏捷项目的管理方法、装置、系统、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109978392A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978392B (zh) | 敏捷软件开发管理方法、装置、电子设备、存储介质 | |
CN109313739B (zh) | 用于提供工作流程的可视化的系统和方法 | |
CN1783132B (zh) | 通过工作流事务的批处理来同步运行库和应用状态 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US8458729B2 (en) | Managing and optimizing workflows among computer applications | |
US9513874B2 (en) | Enterprise computing platform with support for editing documents via logical views | |
CN111563703B (zh) | 项目管理系统、方法、计算机设备和计算机可读存储介质 | |
US10706065B2 (en) | Optimizing transformation of data | |
US20150006225A1 (en) | Project management application with business rules framework | |
EP1631002A2 (en) | Automatic configuration of network performance models | |
US9740994B2 (en) | Simulation of supply chain plans using data model | |
CN111309712A (zh) | 基于数据仓库的优化任务调度方法、装置、设备及介质 | |
Vamanan et al. | Integration of COTS software products ARENA & CPLEX for an inventory/logistics problem | |
CN116820535A (zh) | 任务处理方法、装置、计算机可读存储介质和电子装置 | |
US8639657B2 (en) | Reorganizing table-based data objects | |
Hu | Information lifecycle modeling framework for construction project lifecycle management | |
CN115471215B (zh) | 一种业务流程处理方法及装置 | |
US20100145748A1 (en) | Information technology planning based on enterprise architecture | |
US20100146002A1 (en) | Capturing enterprise architectures | |
Sureddy et al. | A framework for monitoring data warehousing applications | |
AU2015101031A4 (en) | System and a method for modelling the performance of information systems | |
CN113988707A (zh) | 风险识别方法、装置、电子设备及计算机可读存储介质 | |
US7840452B2 (en) | Application, method and process for managing part exchangeability across functional boundaries | |
Bolton et al. | Professional SQL server 2012 internals and troubleshooting | |
US9785894B2 (en) | Simulation of supply chain plans using web service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |