迭代式开发中用户故事流转的方法、装置、介质及设备与流程
未命名
09-08
阅读:92
评论:0

1.本技术涉及计算机技术领域,尤其涉及一种迭代式开发中用户故事流转的方法、装置、存储介质及电子设备。
背景技术:
2.迭代式开发也被称为迭代增量式开发或者迭代进化式开发,是一种与传统的瀑布式开发不同的软件开发过程。进行迭代式开发时,整个开发工作被组织为一系列的短小的、固定长度的小项目,这些小项目被称为用户故事。每个用户故事的开发过程包括开发与测试两大阶段。在一次迭代中可以完成部分用户故事的开发,也即完成全系统的一部分功能或业务逻辑的开发工作。然后再通过客户的反馈来细化需求,并开始新一轮的迭代。
3.目前,迭代式开发进行过程中,用户故事的开发顺序一般为看板上的认领顺序,当某个用户故事开发完成后,若与它上层关联的其它用户故事未完成开发,则会导致此用户故事无法及时测试,从而导致测试任务间断性无任务,或者间断性任务堆积,从而使得迭代进程受阻,降低了迭代式开发的效率。
技术实现要素:
4.为了解决现有技术存在的上述问题,本技术提供了一种迭代开发中用户故事流转的方法、装置、存储介质及电子设备,提升了迭代式开发的效率。
5.第一方面,本技术提供了一种迭代式开发中用户故事流转的方法,该方法包括:确定各用户故事的关联关系,所述关联关系用于指示每个所述用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事;根据所述关联关系,确定各所述用户故事的累计出度值,所述累计出度值为所述用户故事的出度值与相邻的下游节点的出度值的累计值,所述用户故事的出度值为自身的相邻的下游节点的数量;根据所述累计出度值由大至小的顺序开发各所述用户故事;根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度或测试进度,以及,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度或测试进度。
6.本技术提供的方法,首先确定迭代式开发中各用户故事的关联关系,然后根据关联关系,确定各所述用户故事的累计出度值。并根据累计出度值由大至小的顺序开发各所述用户故事,能够优先开发对于下游用户故事的测试影响最大的上游用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况,从而提升了迭代进程的流畅性,提升了迭代式开发的效率。并且在开发各用户故事的过程中,根据各所述用户故事的开发过程用时和测试过程用时,调整各所述用户故事的开发进度或测试进度,进一步提升了迭代式开发的效率。
7.在一种可能的实现方式中,根据所述累计出度值由大至小的顺序开发各所述用户故事,具体包括:按照所述累计出度由大至小的顺序,将各用户故事依次划分至以下三个处理区:第一处理区、第二区处理区和第三处理区;并依次对所述第一处理区、所述第二区处
理区和所述第三处理区中的用户故事进行开发。
8.在一种可能的实现方式中,所述根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度和测试进度,具体包括:为各所述用户故事建立开发子任务,当开发子任务对应的用户故事开始开发时将开发子任务的状态转为正在进行,且使所述开发子任务进入开发池,当对应的用户故事开发完成时将状态转为完成,当对应的用户故事被认领进行测试时,将所述开发子任务移出开发池;根据当前开发池中,各开发子任务的开发用时、各处于完成状态的开发子任务的等待认领用时、所有开发子任务的累计开发用时,以及所有处于完成状态的开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度。
9.在一种可能的实现方式中,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度和测试进度,具体包括:为各所述用户故事建立测试子任务,当测试子任务对应的用户故事开始测试时将测试子任务的状态转换为正在进行,且使所述测试子任务进入测试池,当对应的用户故事测试完成时将状态转为完成,将所述测试子任务移出测试池;根据当前测试池中,各测试子任务的测试用时,以及所有测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度。
10.在一种可能的实现方式中,各开发子任务的开发用时、各处于完成状态的开发子任务的等待认领用时、所有开发子任务的累计开发用时,以及所有处于完成状态的开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度,具体包括:增大为开发用时大于第一时间阈值的开发子任务对应的用户故事分配的开发资源,或者,将开发用时大于第一时间阈值的开发子任务对应的用户故事分解为至少两个子用户故事后,按照更新后的关联关系和更新后的各用户故事的累计出度值,为所述至少两个子用户故事分别分配开发资源;优先认领等待认领用时大于第二时间阈值的开发子任务对应的用户故事;当所有开发子任务的累计开发用时大于第三时间阈值时,增大所述迭代式开发的开发资源;当所有处于完成状态的开发子任务的累计等待认领用时大于第四时间阈值时,增大所述迭代式开发的测试资源。
11.在一种可能的实现方式中,所述根据当前测试池中,各测试子任务的测试用时,以及所有测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度,具体包括:当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且上游用户故事均已完成开发的第一用户故事时,增大为所述第一用户故事分配的测试资源;当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且存在未完成的上游用户故事的第二用户故事时,增大为所述第二用户故事的未完成的上游用户故事分配的开发资源;增大为测试用时大于第五时间阈值的测试子任务对应的用户故事分配的测试资源;当所有测试子任务的累计测试用时大于第六时间阈值时,增大所述迭代式开发的测试资源。
12.第二方面,本技术还提供了一种迭代式开发中用户故事流转的装置,该装置包括第一确定单元、第二确定单元、开发单元和监控单元。所述第一确定单元,用于确定各用户故事的关联关系,所述关联关系用于指示每个所述用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事;所述第二确定单元,用于根据所述关联关系,确定各所述用户故事的累计出度值,所述累计出度值为所述用户故事的自身出度值与相邻的下游节点的
出度值的累计值,所述用户故事的出度值为自身包括的相邻的下游节点的数量;所述开发单元,用于根据所述累计出度值由大至小的顺序开发各所述用户故事;所述监控单元,用于根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度和测试进度,以及,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度或测试进度。
13.在一种可能的实现方式中,监控单元,具体用于为各所述用户故事建立开发子任务;当所述开发子任务对应的用户故事开始开发时,将所述开发子任务的状态转为正在进行,且使所述开发子任务进入开发池;当所述开发子任务对应的用户故事开发完成时,将所述开发子任务的状态转为完成;当所述开发子任务对应的用户故事被认领进行测试时,将所述开发子任务移出开发池;根据当前开发池中,各所述开发子任务的开发用时、各处于完成状态的所述开发子任务的等待认领用时、所有所述开发子任务的累计开发用时,以及所有处于完成状态的所述开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度。
14.在一种可能的实现方式中,监控单元具体包括第一监控子单元、第二监控子单元、第三监控子单元和第四监控子单元。第一监控子单元,用于增大为开发用时大于第一时间阈值的开发子任务对应的用户故事分配的开发资源,或者,将开发用时大于第一时间阈值的开发子任务对应的用户故事分解为至少两个子用户故事,以使第二确定单元按照更新后的关联关系和更新后的各用户故事的累计出度值,进而使开发单元为所述至少两个子用户故事分别分配开发资源。第二监控子单元,用于使等待认领用时大于第二时间阈值的开发子任务对应的用户故事能够被优先认领。第三监控子单元,用于当所有开发子任务的累计开发用时大于第三时间阈值时,增大所述迭代式开发的开发资源。第四监控子单元,用于当所有处于完成状态的开发子任务的累计等待认领用时大于第四时间阈值时,增大所述迭代式开发的测试资源。
15.在一种可能的实现方式中,监控单元,具体用于为各所述用户故事建立测试子任务;当所述测试子任务对应的用户故事开始测试时,将所述测试子任务的状态转换为正在进行,且使所述测试子任务进入测试池;当所述测试子任务对应的用户故事测试完成时,将所述测试子任务的状态转为完成,并将所述测试子任务移出测试池;根据当前测试池中,各所述测试子任务的测试用时,以及所有所述测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度。
16.在一种可能的实现方式中,监控单元,还包括第五监控子单元和第六监控子单元。第五监控子单元,用于当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且上游用户故事均已完成开发的第一用户故事时,增大为所述第一用户故事分配的测试资源;以及,当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且存在未完成的上游用户故事的第二用户故事时,增大为所述第二用户故事的未完成的上游用户故事分配的开发资源。第六监控子单元,用于当所有测试子任务的累计测试用时大于第六时间阈值时,增大所述迭代式开发的测试资源。
17.在一种可能的实现方式中,开发单元具体用于按照所述累计出度由大至小的顺序,将用户故事依次划分至以下三个处理区:第一处理区、第二区处理区和第三处理区;并依次对所述第一处理区、所述第二区处理区和所述第三处理区中的用户故事进行开发。
18.第三方面,本技术还提供了一种存储介质,其上存储有程序,该程序被处理器执行
时实现所述的迭代式开发中用户故事流转的方法。
19.第四方面,本技术还提供了一种电子设备,电子设备可以是服务器、pc、pad、手机等。电子设备用于运行程序。其中,所述程序运行时执行以上任意一种实现方式所述的迭代式开发中用户故事流转的方法。
附图说明
20.图1为本技术提供的迭代式开发的看板的示意图;
21.图2为本技术实施例提供的一种迭代式开发中用户故事流转的方法的流程图;
22.图3为本技术实施例提供的一种用户故事的关联关系的示意图;
23.图4为本技术实施例提供的另一种迭代开发中用户故事流转的方法的流程图;
24.图5为本技术实施例提供的一种迭代开发中用户故事流转的装置的示意图;
25.图6为本技术实施例提供的另一种迭代开发中用户故事流转的装置的示意图;
26.图7为本技术实施例提供的电子设备的示意图。
具体实施方式
27.本发明提供的迭代式开发中用户故事流转的方法、装置、存储介质及电子设备可用于金融领域或其他领域,例如,可用于金融领域中的采用迭代式开发的方式进行软件开发的应用场景。其他领域为除金融领域之外的任意领域,例如计算机技术领域。上述仅为示例,并不对本发明提供的迭代式开发中用户故事流转的方法、装置、存储介质及电子设备的应用领域进行限定。
28.为了使本技术领域的人员更清楚地理解本技术方案,下面首先说明本技术技术方案的应用场景。
29.目前,迭代式开发由于具备更高的成功率和生产效率,越来越多的被应用于进行软件开发。进行迭代式开发时,整个开发工作被组织为一系列的短小的、固定长度的小项目,这些小项目被称为用户故事。用户故事的开发顺序一般为看板上的认领顺序。
30.参见图1,该图为本技术提供的迭代式开发的看板的示意图。
31.用户故事从最终用户或客户角度出发,目的在于阐明对象的功能,以客户或使用者的观点撰写下有价值的功能、引导或框架,进而推动工作进程。
32.迭代式开发过程中,用户故事所处的阶段可以包括:待启动阶段、开发中、测试中和完成开发。
33.待启动指用户故事还未被认领,没有开始进行开发。开发阶段可以包括定义、需求分析、设计与开发实现。测试阶段用于对开发完成的故事进行测试。当开发阶段和测试阶段均结束后,该用户故事的开发结束,处于完成开发的阶段。
34.当某个用户故事开发阶段完成并进入测试阶段后,若与它上层关联的其它用户故事未完成开发,则会导致此用户故事无法及时测试,例如用户故事7完成开发阶段进入测试阶段后,如果用户故事7的上层关联用户故事3,则由于用户故事3还未开发完成,则用户故事7的测试无法进行。此处的关联可以指本用户故事的实现需要基于上层用户故事的实现,例如基于上层用户故事输出的数据,或者需要与上层用户故事进行交互。此时,对于用户故事7的测试任务无法进行,导致需要等到用户故事3完成测试。因此,目前的用户故事的流转
方式可能导致测试任务间断性无任务,或者间断性任务堆积,从而使得迭代进程受阻,降低了迭代式开发的效率。
35.为了解决以上问题,本技术实施例提供了一种迭代式开发中用户故事流转的方法、装置、存储介质及电子设备,该方案
36.极大缓解了测试任务间断性无任务的情况,以及缓解了间断性任务堆积的情况,进而缓解了迭代进程受阻,提升了迭代式开发的效率。该方案首先确定迭代式开发中各用户故事的关联关系,然后根据关联关系,确定各所述用户故事的累计出度值。并根据累计出度值由大至小的顺序开发各所述用户故事。在开发各用户故事的过程中,根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度或测试进度,以及,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度或测试进度。利用该方法,能够优先开发上游的用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况,从而提升了迭代进程的流畅性,提升了迭代式开发的效率。
37.为了使本技术领域的人员更清楚地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
38.本技术说明中的“第一”、“第二”等用词仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
39.本技术实施例提供了一种迭代开发中用户故事流转的方法,下面结合附图具体说明。其中,用户故事的流转指用户故事在开发过程和测试过程之间的流转。
40.参见图2,该图为本技术实施例提供的一种迭代开发中用户故事流转的方法的流程图。
41.该方法包括以下步骤:
42.s11:确定各用户故事的关联关系。
43.关联关系用于指示每个用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事。
44.参见图3,该图为本技术实施例提供的一种用户故事的关联关系的示意图。
45.在一种可能的实现方式中,该关联关系可以用有向图的方式进行体现。如图2所示,对于一个用户故事,箭头指向的用户故事为相邻的下游用户故事,指向自身的箭头连接的用户故事为相邻的上游用户故事。用户故事可以仅包括相邻的下游用户故事,例如用户故事1、6、12和18。用户故事也可以仅包括上游的用户故事,例如用户故事5、10、11、14和17。
46.用户故事的上游用户故事,包括相邻的上游用户故事和非相邻的用户故事。在迭代式开发中,对于一个用户故事,如果有上游的用户故事,则一般认为所有的上游用户故事都需要在自身进行测试前完成开发,否则自身的测试无法完成。例如,对于用户故事20,在进行测试时,需要其相邻的上游用户故事19,以及非相邻的上游用户故事均完成开发,否则用户故事20的测试中可发生异常。
47.s12:根据关联关系,确定各用户故事的累计出度值。
48.对于图3所示的有向图,出度值是指某个用户故事指出的边的个数。则图3中各用户故事的出度值如下表。
49.表1:图3中各用户故事对应的出度值
50.用户故事编号671212188151319出度值2221222121用户故事编号3204916510111417出度值1122100000
51.所述累计出度值为用户故事的自身出度值与相邻下游节点的出度值的累计值,所述用户故事的出度值为自身包括的相邻的下游节点的数量。
52.下面举例说明累计出度值的计算方式。
53.用户故事5、10、11、14和17均没有下游节点,因此累计出度值均为0。
54.用户故事16仅包括一个相邻的下游用户故事17,因此用户故事16的累计出度值为1。
55.用户故事20的相邻的下游用户故事的数量为1,且包括一个非相邻的下游用户故事16,用户故事16仅包括1个相邻的下游用户故事,因此用户故事20的累计出度值为:1+1=2。
56.用户故事19相邻的下游用户故事的数量为1,为用户故事20,用户故事20的累计出度值为2,因此用户故事19的累计出度值为:1+2=3。
57.关于其他用户故事的累计出度值的计算过程在此不再一一赘述,具体可以参见下表所述。
58.表2:图3中各用户故事对应的累计出度值
59.用户故事编号671212188151319累计出度值2613131211116653用户故事编号3204916510111417累计出度值3222100000
60.s13:根据累计出度值由大至小的顺序开发各用户故事。
61.通过计算各用户故事对应的累计出度值,确定出了用户故事对于其他用户故事的影响程度,也即累计出度值越大的用户故事,其下游的用户故事的总数较多,对于其他用户故事的测试的影响概率越大。因此需要优先进行开发。
62.也即累计出度值由大至小的顺序,可以作为个用户故事的开发顺序的基准。
63.s14:根据各用户故事的开发过程用时,调整各用户故事的开发进度或测试进度,以及,根据各用户故事的测试过程用时,调整各用户故事的开发进度或测试进度。
64.其中,开发过程用时能够体现用户故事开发的用时,或者开发完成后等待被认领进行测试时的等待时间。测试过程用时能够体现用的测试用时,并且当单个用户故事的测试用时过长时,还意味着此时可能出现上游用户故事开发进度异常的情况。因此本技术实施例提供的方案,当用户故事开始开发后,通过对用户故事的开发过程用时和测试过程用时,对各用户故事的开发进度或测试进度进行调整,以提升迭代式开发的效率。
65.综上所述,该方法首先确定迭代式开发中各用户故事的关联关系,然后根据关联关系,确定各所述用户故事的累计出度值。并根据累计出度值由大至小的顺序开发各所述用户故事,能够优先开发上游中对于测试影响最大的用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况,从而提升了迭代进程的流畅性,提升了迭代式开发的效率。并且在开发各用户故事的过程中,根据各所
述用户故事的开发过程用时和测试过程用时,调整各所述用户故事的开发进度或测试进度,进一步提升了迭代式开发的效率。
66.下面结合具体的实现方式进行说明。
67.参见图4,该图为本技术实施例提供的另一种迭代开发中用户故事流转的方法的流程图。
68.该方法包括以下步骤:
69.s21:确定各用户故事的关联关系。
70.关联关系用于指示每个用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事。具体的关联关系的示意图可以参见图3所示。
71.s22:根据关联关系,确定各用户故事的累计出度值。
72.关于累计出度值的确定方式可以参见s12中的说明,在此不再赘述。
73.s23:按照所述累计出度由大至小的顺序,将用户故事依次划分至以下三个处理区:第一处理区、第二区处理区和第三处理区。
74.三个处理区的开发优先级不同,一并参见图3和表2。本技术实施例中,第一处理区包括的用户故事为6、7、12、1、2、18、8;第二处理区包括的用户故事为15、13、19、3、20、4、9、16;第三处理区包括的用户故事为5、10、11、14和17。
75.s24:依次对第一处理区、第二区处理区和第三处理区中的用户故事进行开发。
76.第一处理区的用户故事的累计出度值均较高,对于第二处理区和第三处理区的用户故事的测试影响最大,因此在开发过程中需要最先进行开发。然后开发第二处理区的用户故事,最后开发第三处理区的用户故事。进而实现优先开发上游中对于测试影响最大的用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况,
77.s25:为各用户故事建立开发子任务,并为各用户故事建立测试子任务。
78.当用户故事进入开发阶段时,对应的开发子任务将状态转换为正在进行,并且开发子任务进入开发池以被进行调度与监控。
79.当对应的用户故事开发完成时,开发子任务将状态转为完成但是此时开发子任务仍然处于开发池。当开发子任务对应的用户故事被认领进行测试时,开发子任务移出开发池。
80.当开始对认领后的用户故事进行测试时,测试子任务将状态转换为正在进行,且测试子任务进入测试池以被进行调度与监控。当对应的用户故事测试完成时将状态转为完成,测试子任务移出测试池。
81.本技术实施例中,通过对开发子任务和测试子任务进行状态监控,进而实现对于各个用户故事的流转的监控。
82.s26:根据开发池中,各开发子任务的开发用时、各处于完成状态的开发子任务的等待认领用时、所有开发子任务的累计开发用时,及所有处于完成状态的开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度。
83.本技术实施例中,通过对开发子任务的状态进行监控,进而调整各所述用户故事的开发进度或测试进度,具体调整方式如下。
84.监控开发池中单个开发子任务的开发用时,当存在开发子任务的开发用时大于第
一时间阈值t1时,在一种可能的实现方式中,可以直接增大为该开发子任务对应的用户故事分配的开发资源,以加快该开发子任务的开发进度;在另一种可能的实现方式中,可以将该开发子任务对应的用户故事分解为至少两个子用户故事后,按照更新后的关联关系和更新后的各用户故事的累计出度值,为至少两个子用户故事分别分配开发资源,进而优化用户故事的开发流程,以加快开发进度。
85.监控开发池中开发完成但是等待认领进行测试的开发子任务的等待认领时间,当存在等待认领用时大于第二时间阈值t2的开发子任务时,可以将该开发子任务对应的用户故事的认领优先级提升,以优先认领该用户故事。可以理解的是,也可以增大迭代式开发的测试资源,以使当前对其他用户故事的测试尽快完成,进而能够尽快为该待认领的用户故事分配测试资源。
86.监控开发池中所有开发子任务累计的开发用时,当所有开发子任务的累计开发用时大于第三时间阈值t3时,表明此时迭代式开发的整体开发进度较慢,可以增大迭代式开发的开发资源,也即增大了为每个正在开发的用户故事分配的开发资源,进而从整体上加快了迭代式开发的进程。
87.监控开发池中所有处于完成状态的开发子任务的累计等待认领用时,当所有处于完成状态的开发子任务的累计等待认领用时大于第四时间阈值t4时,表明此时存在许多开发完成的用户故事等待被认领进行测试,此时的测试资源不足,导致测试进度缓慢,因此可以增大迭代式开发的测试资源,以使当前正在测试的其它用户故事尽快完成测试,进而能够尽快为所有处于待认领的用户故事分配测试资源。
88.s27:根据测试池中,各测试子任务的测试用时,以及所有测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度。
89.本技术实施例中,还可以通过对测试子任务的状态进行监控,进而调整各所述用户故事的开发进度或测试进度,具体调整方式如下。
90.监控测试池中的各测试子任务的测试用时,当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值t5的第一用户故事时,首先判断该第一用户故事的上游用户故事是否均已完成开发,此处的上游用户故事包括相邻的上游用户故事和非相邻的上游用户故事。若上游用户故事均已完成开发,则表明此时测试进度缓慢不是因为上游用户故事未开发完成而导致的,而是因为测试资源分配不足导致的,此时需要增大为第一用户故事分配的测试资源,以使对第一用户故事的测试尽快完成。
91.监控测试池中的各测试子任务的测试用时,当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值t5的第二用户故事,且该第二用户故事的上游用户故事中,存在未完成的上游用户故事时,则表明此时测试进度缓慢是因为上游用户故事未开发完成而导致的。
92.出现这种情况的原因往往是实际开发进度和预计开发进度不同导致的,继续参见图3和表2举例说明:为了提升迭代式开发的效率,往往会同时开发多个用户故事,例如本技术中按照累计出度值的大小,优先同时开发第一处理区中的用户故事6和用户故事7,按照预计的开发进度,用户故事6先完成开发,但是实际开发过程中,用户故事7的开发更加顺利,导致用户故事7先完成开发,使得用户故事7的测试无法完成。此时,需要增大为第二用户故事的未完成的上游用户故事分配的开发资源,以使未完成的上游用户故事尽快完成开
发,进而使第二用户故事能够尽快完成测试。
93.监控测试池中的所有测试子任务的累计测试用时,当所有测试子任务的累计测试用时大于第六时间阈值t6时,表明此时存在许多未完成测试的用户故事,也即此时的测试资源不足,导致测试进度缓慢,需要增大迭代式开发的测试资源。
94.综上所述,利用本技术实施例提供的技术方案,能够优先开发上游中对于测试影响最大的用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况。此外,本技术提供的方法还可以通过监控开发过程用时和测试过程用时,从子任务的维度和所有子任务的维度分别对累计时间进行监控,若超过时间阈值,则给开发和测试人员发出预警,进而对开发和测试进度进行对应的调整,进一步提升了迭代式开发的效率。
95.基于以上实施例提供的风险预测的方法,本技术实施例还提供了一种风险预测的装置,下面结合附图具体说明。
96.参见图5,该图为本技术实施例提供的一种迭代开发中用户故事流转的装置的示意图。
97.该装置包括第一确定单元51、第二确定单元52、开发单元53和监控单元54。
98.第一确定单元51用于确定各用户故事的关联关系。关联关系用于指示每个用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事。
99.第二确定单元52用于根据关联关系,确定各用户故事的累计出度值。
100.累计出度值为用户故事的自身出度值与相邻的下游节点的出度值的累计值,用户故事的出度值为自身包括的相邻的下游节点的数量。
101.开发单元53用于根据累计出度值由大至小的顺序开发各用户故事。
102.监控单元54用于根据各用户故事的开发过程用时,调整各用户故事的开发进度和测试进度,以及,根据各用户故事的测试过程用时,调整各用户故事的开发进度或测试进度。
103.在一种可能的实现方式中,开发单元53具体用于按照累计出度由大至小的顺序,将用户故事依次划分至以下三个处理区:第一处理区、第二区处理区和第三处理区;并依次对第一处理区、第二区处理区和第三处理区中的用户故事进行开发。
104.在一种可能的实现方式中,监控单元54具体用于为各用户故事建立开发子任务,开发子任务当对应的用户故事开始开发时将状态转为正在进行,且开发子任务进入开发池,当对应的用户故事开发完成时将状态转为完成,当对应的用户故事被认领进行测试时,开发子任务移出开发池;根据当前开发池中,各开发子任务的开发用时、各处于完成状态的开发子任务的等待认领用时、所有开发子任务的累计开发用时,以及所有处于完成状态的开发子任务的累计等待认领用时,调整各用户故事的开发进度或测试进度。
105.参见图6,该图为本技术实施例提供的另一种迭代开发中用户故事流转的装置的示意图。
106.监控单元54具体用于为各用户故事建立测试子任务,测试子任务当对应的用户故事开始测试时将状态转换为正在进行,且测试子任务进入测试池,当对应的用户故事测试完成时将状态转为完成,测试子任务移出测试池;根据当前测试池中,各测试子任务的测试用时,以及所有测试子任务的累计测试用时,调整各用户故事的开发进度或测试进度。
107.本技术实施例提供的装置的监控单元54具体包括:第一监控子单元541、第二监控子单元542、第三监控子单元543、第四监控子单元544、第五监控子单元545和第六监控子单元546。
108.第一监控子单元541,用于增大为开发用时大于第一时间阈值的开发子任务对应的用户故事分配的开发资源,或者,将开发用时大于第一时间阈值的开发子任务对应的用户故事分解为至少两个子用户故事,以使第二确定单元52按照更新后的关联关系和更新后的各用户故事的累计出度值,进而使开发单元53为至少两个子用户故事分别分配开发资源。
109.第二监控子单元542用于使等待认领用时大于第二时间阈值的开发子任务对应的用户故事能够被优先认领。
110.第三监控子单元543用于当所有开发子任务的累计开发用时大于第三时间阈值时,增大迭代式开发的开发资源。
111.第四监控子单元544用于当所有处于完成状态的开发子任务的累计等待认领用时大于第四时间阈值时,增大迭代式开发的测试资源。
112.第五监控子单元545用于当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且上游用户故事均已完成开发的第一用户故事时,增大为第一用户故事分配的测试资源;以及,当迭代式开发中的各用户故事中存在测试子任务的测试用时大于第五时间阈值,且存在未完成的上游用户故事的第二用户故事时,增大为第二用户故事的未完成的上游用户故事分配的开发资源。
113.第六监控子单元546用于当所有测试子任务的累计测试用时大于第六时间阈值时,增大迭代式开发的测试资源。
114.综上所述,利用本技术实施例提供的装置,能够优先开发上游中对于测试影响最大的用户故事,避免了由于直接先开发下游的用户故事导致下游用户故事开发完成后,测试任务无法正常完成的情况。此外,还可以通过监控开发过程用时和测试过程用时,从子任务的维度和所有子任务的维度分别对累计时间进行监控,若超过时间阈值,则给开发和测试人员发出预警,进而对开发和测试进度进行对应的调整,进一步提升了迭代式开发的效率。
115.该迭代式开发中用户故事流转的装置包括处理器和存储器,上述第一确定单元51、第二确定单元32、开发单元53和监控单元54等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块来实现相应的功能。
116.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现以上的迭代开发中用户故事流转的方法。
117.本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述的迭代开发中用户故事流转的方法。
118.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的迭代开发中用户故事流转的方法。
119.本发明实施例提供了一种电子设备,下面结合附图具体说明。
120.参见图7,该图为本技术实施例提供的电子设备的示意图。
121.电子设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器
702,还包括总线703。
122.其中,处理器701、存储器702通过总线703完成相互间的通信。
123.处理器701用于调用存储器702中的程序指令,以执行上述的资金流向的分析方法。本文中的电子设备可以是服务器、pc、pad、手机等。
124.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有以上的迭代开发中用户故事流转的方法的计算机程序。
125.本技术是参照根据本技术实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
126.在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
127.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
128.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
129.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。
130.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
131.以上所述仅是本技术的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种迭代式开发中用户故事流转的方法,其特征在于,所述方法包括:确定各用户故事的关联关系,所述关联关系用于指示每个所述用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事;根据所述关联关系,确定各所述用户故事的累计出度值,所述累计出度值为所述用户故事的出度值与相邻的下游节点的出度值的累计值,所述用户故事的出度值为自身的相邻的下游节点的数量;根据所述累计出度值由大至小的顺序开发各所述用户故事;根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度或测试进度,以及,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度或测试进度。2.根据权利要求1所述的方法,其特征在于,所述根据所述累计出度值由大至小的顺序开发各所述用户故事,具体包括:按照所述累计出度由大至小的顺序,将各所述用户故事依次划分至以下三个处理区:第一处理区、第二区处理区和第三处理区;并依次对所述第一处理区、所述第二区处理区和所述第三处理区中的所述用户故事进行开发。3.根据权利要求1所述的方法,其特征在于,所述根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度和测试进度,具体包括:为各所述用户故事建立开发子任务;当所述开发子任务对应的用户故事开始开发时,将所述开发子任务的状态转为正在进行,且使所述开发子任务进入开发池;当所述开发子任务对应的用户故事开发完成时,将所述开发子任务的状态转为完成;当所述开发子任务对应的用户故事被认领进行测试时,将所述开发子任务移出开发池;根据当前开发池中,各所述开发子任务的开发用时、各处于完成状态的所述开发子任务的等待认领用时、所有所述开发子任务的累计开发用时,以及所有处于完成状态的所述开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度。4.根据权利要求1所述的方法,其特征在于,所述根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度和测试进度,具体包括:为各所述用户故事建立测试子任务;当所述测试子任务对应的用户故事开始测试时,将所述测试子任务的状态转换为正在进行,且使所述测试子任务进入测试池;当所述测试子任务对应的用户故事测试完成时,将所述测试子任务的状态转为完成,并将所述测试子任务移出测试池;根据当前测试池中,各所述测试子任务的测试用时,以及所有所述测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度。5.根据权利要求3所述的方法,其特征在于,所述根据当前开发池中,各所述开发子任务的开发用时、各所述处于完成状态的开发子任务的等待认领用时、所有所述开发子任务的累计开发用时,以及所有处于完成状态的所述开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度,具体包括:
增大为开发用时大于第一时间阈值的所述开发子任务对应的用户故事分配的开发资源,或者,将开发用时大于第一时间阈值的所述开发子任务对应的用户故事分解为至少两个子用户故事后,按照更新后的关联关系和更新后的各用户故事的累计出度值,为所述至少两个子用户故事分别分配开发资源;优先认领等待认领用时大于第二时间阈值的所述开发子任务对应的用户故事;当所有所述开发子任务的累计开发用时大于第三时间阈值时,增大所述迭代式开发的开发资源;当所有处于完成状态的所述开发子任务的累计等待认领用时大于第四时间阈值时,增大所述迭代式开发的测试资源。6.根据权利要求4所述的方法,其特征在于,所述根据当前测试池中,各所述测试子任务的测试用时,以及所有所述测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度,具体包括:当迭代式开发中的各用户故事中存在对应的所述测试子任务的测试用时大于第五时间阈值,且对应的上游的用户故事均已完成开发的第一用户故事时,增大为所述第一用户故事分配的测试资源;当迭代式开发中的各用户故事中存在对应的所述测试子任务的测试用时大于第五时间阈值,且对应的上游的用户故事未均完成的第二用户故事时,增大为所述第二用户故事的所述未完成的上游的用户故事分配的开发资源;当所有所述测试子任务的累计测试用时大于第六时间阈值时,增大所述迭代式开发的测试资源。7.一种迭代式开发中用户故事流转的装置,其特征在于,所述装置包括:第一确定单元、第二确定单元、开发单元和监控单元;所述第一确定单元,用于确定各用户故事的关联关系,所述关联关系用于指示每个所述用户故事在迭代式开发中相邻的上游用户故事和相邻的下游用户故事;所述第二确定单元,用于根据所述关联关系,确定各所述用户故事的累计出度值,所述累计出度值为所述用户故事的出度值与相邻的下游节点的出度值的累计值,所述用户故事的出度值为自身包括的相邻的下游节点的数量;所述开发单元,用于根据所述累计出度值由大至小的顺序开发各所述用户故事;所述监控单元,用于根据各所述用户故事的开发过程用时,调整各所述用户故事的开发进度和测试进度,以及,根据各所述用户故事的测试过程用时,调整各所述用户故事的开发进度或测试进度。8.根据权利要求7所述的装置,其特征在于,所述监控单元,具体用于为各所述用户故事建立开发子任务;当所述开发子任务对应的用户故事开始开发时,将所述开发子任务的状态转为正在进行,且使所述开发子任务进入开发池;当所述开发子任务对应的用户故事开发完成时,将所述开发子任务的状态转为完成;当所述开发子任务对应的用户故事被认领进行测试时,将所述开发子任务移出开发池;根据当前开发池中,各所述开发子任务的开发用时、各处于完成状态的所述开发子任务的等待认领用时、所有所述开发子任务的累计开发用时,以及所有处于完成状态的所述开发子任务的累计等待认领用时,调整各所述用户故事的开发进度或测试进度。
9.根据权利要求7所述的装置,其特征在于,所述监控单元,具体用于为各所述用户故事建立测试子任务;当所述测试子任务对应的用户故事开始测试时,将所述测试子任务的状态转换为正在进行,且使所述测试子任务进入测试池;当所述测试子任务对应的用户故事测试完成时,将所述测试子任务的状态转为完成,并将所述测试子任务移出测试池;根据当前测试池中,各所述测试子任务的测试用时,以及所有所述测试子任务的累计测试用时,调整各所述用户故事的开发进度或测试进度。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-6中任意一项所述的迭代式开发中用户故事流转的方法。11.一种电子设备,其特征在于,所述电子设备用于运行程序,其中,所述程序运行时执行权利要求1-6中任意一项所述的迭代式开发中用户故事流转的方法。
技术总结
一种迭代式开发中用户故事流转的方法、装置、介质及设备,可应用于金融领域或其他领域,如计算机领域。方法包括:确定各用户故事的关联关系;根据关联关系确定各用户故事的累计出度值,所述累计出度值为所述用户故事的自身出度值与相邻下游节点的出度值的累计值,所述用户故事的出度值为自身包括的相邻的下游节点的数量;根据累计出度值由大至小的顺序开发各用户故事;根据各用户故事的开发过程用时及测试过程用时,调整各用户故事的开发进度或测试进度。该方法提升了迭代式开发的效率。该方法提升了迭代式开发的效率。该方法提升了迭代式开发的效率。
技术研发人员:周慧婷
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.05.30
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/