生成可扩展且可定制的与位置无关的敏捷交付模型的制作方法

文档序号:21043500发布日期:2020-06-09 20:48阅读:86来源:国知局
生成可扩展且可定制的与位置无关的敏捷交付模型的制作方法

优先权声明

本申请要求在2018年11月30日提交的第201821045379号印度专利申请的优先权。

本文中的公开内容总体涉及分布式敏捷(agile)团队模型,并且更具体地,涉及用于生成可扩展且可定制的与位置无关的敏捷交付模型的系统和计算机实现的方法。



背景技术:

敏捷是一种方法,通过该方法,当客户要求价值时,团队可以比竞争对手更快、更好地交付该价值,从而以可持续、安全和高质量的方式满足客户的需求。遵循“敏捷宣言(theagilemanifesto)”中体现的敏捷的价值观和原则,会形成小的敏捷开发团队,成员通常少于10人。团队在短时间框架内通常在几周内与业务部门紧密合作,以提供功能增量。团队通过多次迭代来增强或完善功能。敏捷提倡人性化的工作方式,包括简洁性、小团队、实验和相互同理。敏捷的一个关键催化剂是小团队中所有成员同地协作。敏捷原则之一明确要求同地协作,“不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈”。

自《敏捷宣言》发布以来已有17年以上。如今的组织工作方式发生了明显变化。公司规模不断扩大,甚至遍布不同的大陆/时区。许多大型企业在世界各地都有各种技能娴熟的专业人员,他们需要协作来开发组织能力。因此,对于许多企业而言,所有敏捷团队同地协作并不现实。



技术实现要素:

本公开的实施例呈现技术改进作为对本发明人在传统系统中认识到的一个或多个上述技术问题的解决方案。

一方面,提供了一种处理器实现的方法,用于生成可扩展且可定制的与位置无关的敏捷交付模型,该方法包括以下步骤:通过一个或多个硬件处理器接收与一个或多个敏捷项目账户有关的数据,其中,接收步骤包括:一次性植入与一个或多个敏捷项目账户有关的标头属性;并接收与一个或多个敏捷项目账户有关的性能参数的定期更新;通过一个或多个硬件处理器在知识元库(knowledgerepository)中注册一个或多个敏捷项目账户,以用于设置初始主数据和接收定期更新;通过一个或多个硬件处理器利用所接收到的数据更新知识元库,其中更新步骤包括:异步处理接收到的数据,其中该处理包括解析其中包含的键值对,并且其中键(key)是字段,值对应于标头属性和性能参数;在通过应用程序编程接口(api)发送值以更新知识元库之前对值进行验证;基于经验证的值动态构建查询语言语句集合;并且执行查询语言语句集合,以使用经验证的值来更新知识元库;通过一个或多个硬件处理器使用经验证的值来训练一个或多个机器学习模型;以及通过一个或多个硬件处理器使用可视化建模技术交互地生成潜在的与位置无关的敏捷交付模型,其中,通过以下步骤交互地生成潜在的与位置无关的敏捷交付模型:在接收到标头属性时,自动注册新的项目账户,其中,至少一些标头属性用作用于生成新的与位置无关的敏捷交付模型的约束;动态地向用户呈现基于调色板的用户界面,该用户界面包括多个预配置的元模型、可选组件及其互连;基于对多个预配置的元模型中的一者的用户选择性实例化来显示最小可选组件集合;并且响应于每次对所选组件的拖放,动态更新遵从性指示符,从而通过优化管理约束来生成对应潜在的与位置无关的敏捷交付模型,其中,遵从性指示符指示对敏捷原则的遵从程度;以及将至少具有用户定义的敏捷原则最小遵从程度的潜在的与位置无关的敏捷交付模型识别为新的与位置无关的敏捷交付模型。

另一方面,提供了一种用于生成可扩展且可定制的与位置无关的敏捷交付模型的系统,该系统包括:一个或多个数据存储设备,其可操作地耦合到一个或多个硬件处理器,并且配置为存储被配置为由一个或多个硬件处理器执行以下操作的指令:接收与一个或多个敏捷项目账户有关的数据,其中,数据通过以下操作接收:一次性植入与一个或多个敏捷项目账户有关的标头属性;并接收与一个或多个敏捷项目账户有关的性能参数的定期更新;在知识元库中注册一个或多个敏捷项目账户,以用于设置初始主数据和接收定期更新;通过以下操作利用所接收到的数据更新知识元库:异步处理接收到的数据,其中该处理包括解析其中包含的键值对,并且其中键是字段,值对应于标头属性和性能参数;在通过应用程序编程接口(api)发送值以更新知识元库之前对值进行验证;基于经验证的值动态构建查询语言语句集合;并且执行查询语言语句集合,以使用经验证的值来更新知识元库;使用经验证的值来训练一个或多个机器学习模型;以及使用可视化建模技术交互地生成潜在的与位置无关的敏捷交付模型,其中,通过以下操作交互地生成潜在的与位置无关的敏捷交付模型:在接收到标头属性时,自动注册新的项目账户,其中,至少一些标头属性用作用于生成新的与位置无关的敏捷交付模型的约束;动态地向用户呈现基于调色板的用户界面,该用户界面包括多个预配置的元模型、可选组件及其互连;基于对多个预配置的元模型中的一者的用户选择性实例化来显示最小可选组件集合;并且响应于每次对所选组件的拖放,动态更新遵从性指示符,从而通过优化管理约束来生成对应潜在的与位置无关的敏捷交付模型,其中,遵从性指示符指示对敏捷原则的遵从程度;以及将至少具有用户定义的敏捷原则最小遵从程度的潜在的与位置无关的敏捷交付模型识别为新的与位置无关的敏捷交付模型。

又一方面,提供了一种包括非暂时性计算机可读介质的计算机程序产品,该非暂时性计算机可读介质中实现有计算机可读程序,其中,计算机可读程序在计算设备上执行时,使该计算设备:接收与一个或多个敏捷项目账户有关的数据,其中,数据通过以下操作接收:一次性植入与一个或多个敏捷项目账户有关的标头属性;并接收与一个或多个敏捷项目账户有关的性能参数的定期更新;在知识元库中注册一个或多个敏捷项目账户,以用于设置初始主数据和接收定期更新;通过以下操作利用所接收到的数据更新知识元库:异步处理接收到的数据,其中该处理包括解析其中包含的键值对,并且其中键是字段,值对应于标头属性和性能参数;在通过应用程序编程接口(api)发送值以更新知识元库之前对值进行验证;基于经验证的值动态构建查询语言语句集合;并且执行查询语言语句集合,以使用经验证的值来更新知识元库;使用经验证的值来训练一个或多个机器学习模型;以及使用可视化建模技术交互地生成潜在的与位置无关的敏捷交付模型,其中,通过以下操作交互地生成潜在的与位置无关的敏捷交付模型:在接收到标头属性时,自动注册新的项目账户,其中,至少一些标头属性用作用于生成新的与位置无关的敏捷交付模型的约束;动态地向用户呈现基于调色板的用户界面,该用户界面包括多个预配置的元模型、可选组件及其互连;基于对多个预配置的元模型中的一者的用户选择性实例化来显示最小可选组件集合;并且响应于每次对所选组件的拖放,动态更新遵从性指示符,从而通过优化管理约束来生成对应潜在的与位置无关的敏捷交付模型,其中,遵从性指示符指示对敏捷原则的遵从程度;以及将至少具有用户定义的敏捷原则最小遵从程度的潜在的与位置无关的敏捷交付模型识别为新的与位置无关的敏捷交付模型。

根据本公开的实施例,标头属性包括与敏捷项目账户所有者、行业、客户敏捷成熟度、投资组合、地理位置、团队规模、团队角色、功能域、通信链接、协作技术和工程成熟度相关联的数据。

根据本公开的实施例,可选组件采用以下中的至少一些的形式:包括团队角色的标头属性、包括产品列表(backlog)和冲刺列表的工件、与地理位置相关联的时区、包括持续集成(ci)和应用程序生命周期管理(alm)的工具使能器。

根据本公开的实施例,性能参数包括发布频率、速度、功能质量、结构质量和生产后缺陷。

根据本公开的实施例,一个或多个机器学习模型基于算法、用例、输入、解决方案、输出或可追溯性。

根据本公开的实施例,新的与位置无关的敏捷交付模型采用基于所选组件的图形的形式,并且其中,地理位置用作节点,标头属性用作节点属性,通信链接用作边缘。

根据本公开的实施例,一个或多个处理器还配置为执行以下至少一项:使用经训练的一个或多个机器学习模型来发起对新的与位置无关的敏捷交付模型的评估,以输出新的与位置无关的敏捷交付模型的性能参数集合,其中,性能参数指示新的与位置无关的敏捷交付模型的优化程度;并且使用回归方法或最近邻方法,在与一个或多个敏捷账户对应的一个或多个敏捷交付模型中,为新的与位置无关的敏捷交付模型输出最佳匹配。

应当理解,前面的一般描述和下面的详细描述都只是示例性和解释性的,并且不限制本发明。

附图说明

并入本公开并构成本公开的一部分的附图示出了示例性实施例,并且与说明书一起用于解释所公开的原理。

图1示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的系统的示例性框图。

图2示出根据本公开的实施例的包括在图1的系统中的示例性功能模块。

图3示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的方法的高级流程图。

图4a至图4c示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的计算机实现的方法的示例性流程图。

图5示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的基于调色板的用户界面。

具体实施方式

参考附图描述示例性实施例。在附图中,附图标记的最左边的数字表示附图标记首次出现的附图。在方便的情况下,在所有附图中使用相同的附图标记指代相同或相似的部件。虽然本文描述了所公开原理的示例和特征,但是在不脱离所公开实施例的精神和范围的情况下,可以进行修改、改编和其他实现。旨在将以下详细描述仅视为示例性的,真实的范围和精神由所附权利要求指示。

与传统的过程繁重的方法(例如瀑布式)相比,敏捷工作方式是一种轻巧的产品开发方法。它涉及业务团队和技术团队之间的直接协作,利用丰富的交互和协作的专注于解决问题的小团队、短迭代中的自适应计划以及快速反馈的增量交付。更多企业正在转向敏捷工作方式,以提高对业务需求的响应能力。为了使敏捷的收益最大化,企业必须在整个产品开发团队中采用敏捷工作方式,而不管其职能专业知识或位置如何。此类企业敏捷的主要组成部分是通过分布式敏捷团队扩展敏捷的能力。

设计分布式敏捷团队模型的挑战在于模型不遵从敏捷原则的可能性。例如,一个团队依赖另一个团队来访问技术资源的敏捷团队分散在多位置之间的情况屡见不鲜,这违反了“给予环境和支持以完成工作”的敏捷原则。具体挑战包括:

--尽管企业已经探索了各种分布式敏捷模型,但它们依赖于专家对此类模型是否遵从敏捷原则的手动验证。

--当分布式敏捷团队规模变大或增加了更多位置时,构建分布式敏捷模型所需的专家技能无法扩展。

--分布式敏捷模型计划背后的知识并未得到系统的增强。因此,这产生局部优势,而无法在具有各种运营条件的项目/程序/企业之间复制或扩展。

--无法在修改敏捷团队结构、角色或运营特点之前模拟假设情景,从而导致重大的失败风险。

本公开的系统和方法使得能够生成可扩展且可定制的与位置无关的敏捷交付模型,如下文所述,以克服上述技术挑战。根据本公开生成的与位置无关的敏捷模型是用于分布式敏捷设计的编码方法,使得跨不同位置的敏捷团队可以在不损害敏捷原则的情况下一起工作。根据本公开,可以在现实世界场景中识别并实施正确的模型之前,模拟各种工作模型并且可以估计性能参数。

现在参考附图,更具体地参考图1至图4c,相同的附图标记在整个附图中始终表示对应的特征,示出优选实施例,并且在以下示例性系统和方法的上下文中描述这些实施例。

图1示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的系统100的示例性框图。在实施例中,系统100包括一个或多个处理器104、通信接口设备或输入/输出(i/o)接口106以及可操作地耦合到一个或多个处理器104的一个或多个数据存储设备或存储器102。一个或多个处理器104是硬件处理器,可以实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、图形控制器、逻辑电路和/或基于操作指令操纵信号的任何设备。除了其他能力之外,处理器配置为还获取并执行存储在存储器中的计算机可读指令。在本公开的上下文中,表达“处理器”和“硬件处理器”可以互换使用。在一个实施例中,系统100可以在各种计算系统中实现,例如膝上型计算机、笔记本、手持设备、工作站、大型计算机、服务器、网络云等。

i/o接口106可以包括各种软件和硬件接口,例如,网页界面、图形用户界面等,并且可以促进各种网络n/w和协议类型内的多种通信,包括有线网络(例如lan、电缆等)和无线网络(例如wlan、蜂窝或卫星)。在实施例中,i/o接口可以包括一个或多个端口,用于将多个设备彼此连接或连接到另一服务器。

存储器102可以包括本领域中已知的任何计算机可读介质,包括例如易失性存储器(诸如静态随机存取存储器(sram)和动态随机存取存储器(dram))和/或非易失性存储器(诸如只读存储器(rom)、可擦除可编程rom、闪存、硬盘、光盘和磁带)。在实施例中,系统100的一个或多个模块(102a至102c)可以存储在存储器102中。

图2示出根据本公开的实施例的包括在图1的系统中的示例性功能模块。建模单元102a用作用户输入的接口,并维护敏捷交付模型的状态。建模单元102a主要包括最佳拟合引擎、模型状态控制器和模型元库。根据本公开,模型状态控制器实时跟踪敏捷交付模型的状态,并与最佳拟合引擎、模型元库和下文所述的知识库(knowledgebase)102b协作。最佳拟合引擎是配置为从知识库102b获取决策规则的无状态规则引擎。在实施例中,模型元库配置为存储敏捷交付模型的状态。根据本公开,模型元库是关系数据库或面向图形的数据库。

知识库102b是包括与一个或多个敏捷项目账户有关的历史数据的组织知识的综合知识库,以评估敏捷交付模型的适用性,推荐最佳状态,并提供分析所需的智能(下文描述的步骤212)。在实施例中,知识库102b包括知识元库(repository)、知识服务提供器和自动推断更新器。自动推断更新器是一种自学习机制,其不断轮询知识元库并重新组织来自新兴模式的推断。自动推断更新器是一种刷新器和调整引擎,其保持知识元库的更新和正常运行。知识服务提供器包括应用程序编程接口(api)集合,其公开服务以利用知识库102b。根据本公开,知识元库可以具有面向图形的结构或面向文档的结构。

根据本公开,提供了一种数据馈送器102c,用于接收来自多个数据源的输入。数据馈送器102c配置为与多个源交互并将接收到的输入转换为知识库102b的自动推断更新器可读的格式。

图3示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的方法的高级流程图。图4a至图4c示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的计算机实现的方法200的示例性流程图。在实施例中,系统100包括可操作地耦合到一个或多个处理器104的一个或多个数据存储设备或存储器102,并且被配置为存储被配置为由一个或多个处理器104执行方法200的步骤的指令。现在将参考图3的高级流程图和图1的系统100的组件来详细说明方法200的步骤。尽管可以按顺序描述流程步骤、方法步骤、技术等,但是可以将这样的流程、方法和技术配置为以替代顺序工作。换句话说,可以描述的步骤的任何次序或顺序不一定表示要求以该顺序执行这些步骤。本文描述的流程的步骤可以以任何实际顺序执行。此外,可以同时执行一些步骤。

根据本公开的实施例,方法200包括两个部分,其中,第一部分与建立和维护知识元库有关,第二部分与识别正确的与位置无关的敏捷交付模型有关。

根据本公开的实施例,在方法200的第一部分中,一个或多个处理器104(构成知识库102b和数据馈送器102c)配置为在步骤202中接收与一个或多个敏捷项目账户有关的数据。在实施例中,接收数据的步骤202包括在步骤202a中一次性植入与一个或多个敏捷项目账户有关的标头属性,并在步骤202b中接收与一个或多个敏捷项目账户有关的性能参数的定期更新。在实施例中,标头属性包括与敏捷项目账户所有者、行业、客户敏捷成熟度、投资组合、地理位置、团队规模、团队角色、功能域、通信链接、协作技术和工程成熟度相关联的数据。在实施例中,性能参数包括发布频率、速度、功能质量、结构质量和生产后缺陷,其中,发布频率和速度可以是单个度量,而其他数据可以包括多个度量。例如,功能质量可以包括回归缺陷、系统测试缺陷等。同样,结构质量可以包括静态代码分析违规、代码复杂性等。在实施例中,可以定义两个javascript对象符号(json)数据结构(xml、csv、xls)以对敏捷交付模型进行建模。在实施例中,可以经由数据馈送器102c通过批量上传来接收数据。替代地,可以提供诸如超文本标记语言(html)的网络界面用于在线输入,其中,数据馈送器102c配置为将数据转换成期望的格式。

根据本公开的实施例,一个或多个处理器104配置为在步骤204中将一个或多个敏捷项目账户注册在知识元库中,以用于设置初始主数据和接收定期更新,更新的周期是每月、每季度等,其中节奏可以是预定义的。在实施例中,对于每个注册的一个或多个敏捷项目账户,可以通过使用发布-订阅模式将定期更新(json文件)作为电子邮件附件共享。对于html输入,可以执行对知识元库的在线更新。

根据本公开的实施例,一个或多个处理器104配置为在步骤206中使用在步骤202中接收的数据来更新知识元库。更新知识元库的步骤206可以包括,在步骤206a中,首先异步处理接收的数据(不等待上游消息清除/网络等待时间/网络故障,其中消息代理(mb)适当地处理消息)。在实施例中,处理步骤包括解析其中包含的键值对,其中键是字段,且值对应于标头属性和性能参数。在步骤206b中,在通过应用程序编程接口(api)发送值以用于更新知识库之前,对值进行验证。例如,如果接收到电子邮件附件,则可以将附件下载到指定的安全位置,然后进行验证以检查敏捷项目账户是否已注册,可以验证发送方,可以验证数据的有效值。在实施例中,如果数据有效,则可以将确认发送给发送方。替代地,可以发送拒绝接收到的数据的错误消息。然后,经验证的数据通过api发送到输入队列中,以用于更新知识元库。在步骤206c中,基于经验证的值来动态地构建查询语言语句集合。例如,当知识元库为面向图形时,可以使用诸如sparqltm、cyphertm、gremlintm等的查询语言。替代地,当知识元库面向文档时,可以使用诸如结构化查询语言(sql)、json等的查询语言。最后,在步骤206d中,执行查询语言语句集合,以用经验证的值来更新知识元库。查询语言语句的动态构建为知识元库的结构提供了灵活性。

根据本公开的实施例,一个或多个处理器104(构成知识库102b和数据馈送器102c)配置为在步骤208中使用来自步骤206的经验证的值来训练一个或多个机器学习模型。接收到的每个新数据触发知识库102b的自动推断更新器,其为自动机器学习引擎,扫描新数据并更新建模单元102a的模型元库中的一个或多个机器学习模型,从而如下所述实现以历史数据作为输入并提供性能参数作为输出的学习。在实施例中,一个或多个机器学习模型基于算法、用例、输入、解决方案、输出或可追溯性。例如,基于算法的一个或多个机器学习模型可以涉及神经网络或深度学习;基于用例的一个或多个机器学习模型可以是回归或分类;基于输入的一个或多个机器学习模型可以是监督式技术;基于输出的一个或多个机器学习模型可以是概率模型;等等。

根据本公开的实施例,在方法200的第二部分中,为新的项目账户识别正确的与位置无关的敏捷交付模型。一个或多个处理器104(构成建模单元102a)配置为在步骤210中使用视觉建模技术交互地生成潜在的与位置无关的敏捷交付模型。在接收到标头属性时,在步骤210a中,首先通过自动注册新的项目账户来交互地生成潜在的与位置无关的敏捷交付模型。根据本公开,标头属性中的至少一些用作用于生成新的与位置无关的敏捷交付模型的约束。然后,在步骤210b中,将包括多个预配置的元模型、可选组件和相关联的互连的基于调色板的用户界面动态地呈现给用户。图5示出根据本公开的实施例的用于生成可扩展且可定制的与位置无关的敏捷交付模型的基于调色板的用户界面。在实施例中,如图5所示,可选组件采用以下中的至少一些的形式:包括团队角色(产品负责人po、敏捷教练sm、开发人员dev、产品专家ps、测试人员test)的标头属性、包括产品列表(pbl)和冲刺列表(sbl)的工件、与地理位置相关联的时区(ist、cst、gmt、est)、包括持续集成(ci)和应用程序生命周期管理(alm)的工具使能器。

然后,用户实例化多个预配置的元模型中的一个,在步骤210c中,基于该元模型显示最小可选组件集合。用户可以将可选组件拖放到实例化的预配置的元模型中。响应于每次对选择的组件的拖放,在步骤210d中动态更新遵从性指示符(图5中在每个位置下方示出为条形)。对实例化的预配置的元模型进行的每次修改都会获得对应潜在的与位置无关的敏捷交付模型。根据本公开,遵从性指示符指示对敏捷原则的遵从程度。在实施例中,系统100可以具有无法避免的预确定的强制性原则。在图5的示例性实施例中,栏中有12个框,其示出了敏捷的12个原则。被违反的敏捷原则由带有十字图案的方框表示,而所遵循的原则由具有虚线图案的方框表示。可视模型因此向用户提供了对敏捷原则的遵从程度的指示,从而使用户能够进一步修改潜在的与位置无关的敏捷交付模型,以便对约束进行最佳管理。然后在步骤210e中,至少具有用户定义的敏捷原则最小遵从程度的潜在的与位置无关的敏捷交付模型可以被识别为新的与位置无关的敏捷交付模型。

在实施例中,新的与位置无关的敏捷交付模型采用基于所选组件的图形的形式,其中,地理位置用作节点,标头属性用作节点属性,通信链接用作边缘。

根据本公开的实施例,方法200遵循3-4-5方法,用于通过在给定3维约束的情况下实例化来自一组4个预配置的元模型(图5的m1、m2、m3、m4)中的元模型,并且进一步通过5项活动使新的与位置无关的敏捷交付模型成熟,来生成新的与位置无关的敏捷交付模型。在实施例中,三维约束包括以下内容:

1.分布式团队中存在业务知识--业务知识越少,敏捷团队显著分布的可能性越低。

2.程序中存在不可协商性,例如,业务需求在一天之内发生变化且需要立即做出响应的极大波动--程序中不可协商性越高,敏捷团队显著分布的可能性越小。

3.存在共同的基本敏捷工作方式--缺乏共同的最小工作框架限制了跨位置分布团队的能力。在整个组织中应用敏捷的一致性越高,实现分布式敏捷团队的可能性越高。

根据3-4-5方法,在示例性实施例中,基于对3维约束的分析,4个预配置的元模型(m1、m2、m3、m4)为:

1.模型m1:本地--一个团队,其中整个团队实际上/虚拟地位于同一位置。敏捷开发团队成员(dev)需要产品负责人(po)进行大量工作以了解业务需求。

2.模型m2--最少分布--位于两个不同位置的两个敏捷团队。每个团队都是一个完整的敏捷开发团队。产品负责人与其中一个团队实际/虚拟地位于同一位置。要求不存在po的位置处的一些敏捷开发团队成员具有基本的业务知识,以理解po阐明的业务需求。团队利用共同的敏捷事件相互运作。

3.模型m3--显著分布--位于多个位置的多个敏捷团队。每个团队都是一个完整的敏捷开发团队。每个团队中的一些敏捷开发团队成员具有良好的业务洞察力,根据po阐明的业务需求,不仅能够理解,而且可以编写低级需求规范。po与其中一个团队实际/虚拟地位于同一位置。团队利用共同的敏捷事件相互运作。图5是模型m3的示例性说明。

4.模型m4--完全分布--位于多个位置的多个敏捷团队。每个团队都是一个完整的敏捷开发团队。每个团队中至少有一位敏捷开发团队成员是产品专家(ps)。ps拥有足够的业务专业知识,可以根据po设定的高级指导来编写详细的业务需求。po不需要与任何团队位于同一位置。团队利用共同的敏捷事件相互运作。

在本公开的上下文中,表达“位置”或“地理位置”不仅可以指城市或国家,而且可以指基础设施或基础设施的不同楼层。因此,即使在同一建筑物的不同楼层上工作的团队也可以被认为是分布式的。但是,仅在跨位置分布敏捷团队并不符合分布式敏捷的条件。根据本公开,需要遵守以下规则以使分布式位置虚拟地位于同一位置,从而满足敏捷性要求:

规则1:团队成员需要共享至少4个小时的时区重叠。对于大多数团队来说,这自然是可能的,但团队成员在地理上相反的位置的团队除外,例如孟买vs芝加哥。在这种情况下,团队可以尝试部分轮班工作,例如从下午12点至晚上9点。

但是,不建议全班工作(一个位置的成员要改成夜班)。

规则2:确保工作场所提供基础设施,以便团队成员可以像在物理上位于同一位置(正确的协作工具)一样进行协作/交流。

规则3:建立不同位置之间的团队沟通规范(“一个团队文化”)。经验丰富的教练或协调员需要带领所有团队解决潜在的棘手情况,例如由于书面语言造成的误解,共同事件中屡屡缺席一些团队成员,令人反感的行为,选择正确的沟通方式时的错误,对评估、设计、决策方面意见的分歧等。所有团队成员都需要建立规范来处理此类异常。

再次,根据本公开,位于同一位置并不意味着一个敏捷团队。根据本公开,敏捷团队满足两个条件:

条件1:所有团队成员都需要共享共同的工作目标,例如“创建产品目录页面”。

条件2:所有团队成员都需要全天紧密合作,至少每天同步三次。

因此,尽管所有成员都位于同一位置,但有可能在一个项目中拥有一个或多个敏捷团队。

根据本公开,通过在分配给项目的团队内添加更多的敏捷团队,利用与位置无关的敏捷交付模型来实现扩展。敏捷团队可以在不同位置工作,而无需在物理上位于同一位置,但是,虚拟地位于同一位置的规则需要敏捷团队遵循。上面描述的预配置的元模型(m1、m2、m3、m4)是使用此团队概念构建的。

在示例性实施例中,根据3-4-5方法,用于使新的与位置无关的敏捷交付模型成熟的5个活动为:

1.在分布式位置建立业务知识,以便敏捷开发团队成员可以在对po的依赖更少的情况下工作。

2.配置团队以利用时区差异。敏捷团队需要跨时区的最小重叠,以实现有效的协作。计划校准团队的工作时间,以确保可持续的工作节奏,以便当一个团队下班回家时,另一团队接手工作以继续进行。团队可以根据一组事实(例如每日进度阻止程序)来决定重叠的程度。

3.计划“一个团队”文化和正确的协作工具--企业中的团队共享共同的敏捷实践。他们还在计算资源(数据设置、部署等)上享有类似的特权,从而使来自任何位置的团队都可以享有同等的授权。协作使能器可以包括完全实现“虚拟上位于同一位置”的工具,例如视频会议、共享白板等。

4.同步并增加冲刺(sprint)周期和发布周期的自动化流程--选择正确的冲刺周期来满足业务需求并与发布周期同步。正确水平的devopstm自动化和工程实践可以改善工作流程,而无需团队之间的相互和外部依赖。

5.计划跨位置的正确工作分布,以最大程度地减少团队之间的依赖关系,并最大程度地增加外流。

根据本公开的示例性3-4-5方法,将开发团队与po之间的依赖关系视为儿童与母亲之间的依赖关系。没有足够业务了解的团队是依赖于母亲(po)的孩子。在m1(完全位于同一位置)模型中就是这种情况。该方法逐渐减少了这种依赖性。例如,在m2中,团队可以充分了解业务,以便他们可以快速理解po阐明的业务需求。在m3中,团队甚至可以在不依赖po的情况下得出详细的需求。这增加了po的可用性,并且使po能够支持更多团队。

自从《敏捷宣言》公布以来,协作技术今天已经演进了很多。根据本公开,有效的和无效的分布模型的知识、它们的运营特点、关于选择正确的分布模型的知识、在建立正确的参数方面的知识和经验、上下文业务知识和处理时区重叠已被用来生成可扩展且可定制的与位置无关的敏捷交付模型。

根据本公开的实施例,一旦识别了新的与位置无关的敏捷交付模型,则用户可以选择评估所识别的模型的性能。相应地,一个或多个处理器104配置为在步骤212中使用经训练的一个或多个机器学习模型(在步骤208中)来发起对新的与位置无关的敏捷交付模型的评估,以输出新的与位置无关的敏捷交付模型的性能参数集合。根据本公开,性能参数指示新的与位置无关的敏捷交付模型的优化程度。性能参数集合为用户提供了在现实世界场景中实施时所识别的模型将如何运行的指示。如果一个或多个性能参数与历史模型相比显示出更好的值,则可以在建模单元102a的模型元库中更新新的与位置无关的敏捷交付模型的架构,以供将来参考。在实施例中,可以对构成性能参数集合的不同性能参数执行多次传递(批处理),以计算例如发布频率、速度、功能质量、结构质量、生产后缺陷等的值。用户可以使用性能参数来进行各种资源利用方面的更改,或者可以针对用户生成的新的与位置无关的敏捷交付模型进行规划,以提高、修改或平衡计算出的性能参数。

根据本公开的另一实施例,一旦识别了新的与位置无关的敏捷交付模型,则可以在步骤214中将其与建模单元102a的模型元库中的一个或多个敏捷交付模型进行比较并且可以使用回归方法或最近邻方法输出最佳匹配,以使用户能够将新的与位置无关的敏捷交付模型与由不同敏捷模型实施方式设置的基准进行比较,并利用可驱动高性能的最佳实践实施方式。

因此,根据本公开的系统和方法,成功地实现与位置无关的敏捷交付团队的三个方面:评估组织的业务专业知识分布、工作性质和敏捷成熟度;选择正确的敏捷交付模型来满足组织的需求;并且不断提高敏捷团队的敏捷能力,以获得本公开提供的与位置无关的敏捷交付模型的益处。

评估组织:如果某个位置缺乏业务专业知识,则将需要更多的专业知识才能为那里的敏捷团队提供支持。随着团队成员积累经验,他们可以积累业务知识,使他们既更有价值又更有能力作为分布式组织的一部分进行工作。首先,与位置无关的敏捷团队可以专注于既不紧急又不波动的工作。如果两者兼而有之,或者存在不可商议的约束(例如,夜间修理、当日范围变更或监管要求),或者需要持续接触po,则最好尽可能地与位于同一位置的团队合作。当团队相对不熟悉敏捷方法时,需要将团队置于同一位置。对敏捷文化(尤其是在领导层中)有共同的了解,这表明该组织可以利用与位置无关的敏捷交付团队获得成功。

选择正确的敏捷交付模型:如上所述,在实施例中,可以选择一个预配置的元模型(范围从应该置于同一位置的团队到可以在高度分布式布置中有效的团队),以用于组织敏捷团队。

在现实世界场景中观察到的实现与位置无关的敏捷交付模型的一些优势包括:使分布式企业敏捷,通过从可用的预配置的元模型中选择合适的模型而利用每周五天的覆盖范围的24小时来使企业生产率更高,并通过与位置无关的多个团队共享技能来加强优势。

通过使基于上述3-4-5方法的5项活动的新的与位置无关的敏捷交付模型成熟,提高敏捷团队的敏捷能力。

书面描述在此描述了主题,以使本领域的任何技术人员能够实现和使用实施例。主题实施例的范围由权利要求书限定,并且可以包括本领域技术人员想到的其他修改。如果此类其他修改具有与权利要求的字面语言没有不同的相似元素,或者如果它们包括与权利要求的字面语言无实质不同的等效元素,则意图将这些其他修改包含在权利要求的范围内。

应当理解,除了其中具有消息的计算机可读模块之外,保护的范围还扩展到这样的程序;当程序在服务器或移动设备或任何合适的可编程设备上运行时,这种计算机可读存储装置包含用于实现该方法的一个或多个步骤的程序代码模块。硬件设备可以是可以被编程的任何种类的设备,包括例如任何种类的计算机,例如服务器或个人计算机等,或其任何组合。该设备还可以包括可以是例如硬件装置的模块,例如专用集成电路(asic)、现场可编程门阵列(fpga)或硬件和软件装置的组合,例如asic和fpga,或者至少一个微处理器和至少一个其中装有软件模块的存储器。因此,该模块可以包括硬件模块和软件模块。本文描述的方法实施例可以以硬件和软件来实现。该设备还可以包括软件模块。替代地,实施例可以实现在不同的硬件设备上,例如,使用多个cpu。

这里的实施例可以包括硬件和软件元件。以软件实现的实施例包括但不限于固件、驻留软件、微代码等。由本文描述的各种模块执行的功能可以以其他模块或其他模块的组合来实现。为了本描述的目的,计算机可用或计算机可读介质可以是可以包括、存储、传送、传播或传输供指令执行系统、装置或设备使用或与其结合使用的程序的任何装置。

阐述了所说明的步骤以解释所示出的示例性实施例,并且可以预期,正在进行的技术开发将改变执行特定功能的方式。在此呈现这些示例是出于说明而非限制的目的。此外,为了便于描述,在这里已经任意定义了功能构件的边界。只要适当执行指定的功能及其关系,就可以定义其他边界。基于本文所包含的教导,替代方案(包括本文所述的等同物、扩展、变化、变型等)对于本领域技术人员而言是显而易见的。这样的替代方案落入所公开的实施例的范围和精神内。同样,词语“包括”、“具有”、“含有”和“包含”以及其他类似形式在含义上是等同的,并且以无限制的方式开放,因为在这些词语中的任何一个之后的一个或多个项目并不意味着是该项目的详尽列举或仅限于所列项目。还必须注意,如本文和所附权利要求书中所使用的,单数形式的“一个”、“一种”和“该”包括复数指代,除非上下文另外明确指出。

此外,在实现与本公开一致的实施例中,可以利用一个或多个计算机可读存储介质。计算机可读存储介质是指可以在其上存储可由处理器读取的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储由一个或多个处理器执行的指令,包括用于使处理器执行与本文描述的实施例一致的步骤或阶段的指令。应将术语“计算机可读介质”理解为包括有形物品,并且排除载波和瞬态信号,即,是非暂时性的。示例包括随机存取存储器(ram)、只读存储器(rom)、易失性存储器、非易失性存储器、硬盘驱动器、cdrom、dvd、闪存驱动器、磁盘以及任何其他已知的物理存储介质。

旨在将本公开和示例仅视为示例性的,所公开的实施例的真实范围和精神由所附权利要求指示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1