CN107153944A - 基于流程驱动研发任务的方法及系统 - Google Patents
基于流程驱动研发任务的方法及系统 Download PDFInfo
- Publication number
- CN107153944A CN107153944A CN201710096574.7A CN201710096574A CN107153944A CN 107153944 A CN107153944 A CN 107153944A CN 201710096574 A CN201710096574 A CN 201710096574A CN 107153944 A CN107153944 A CN 107153944A
- Authority
- CN
- China
- Prior art keywords
- activity
- task
- preposition
- development
- software
- 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.)
- Withdrawn
Links
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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明揭示了一种基于流程驱动研发任务的方法及系统,所述系统包括:研发活动生成模块、研发任务分配模块。研发活动生成模块用以根据项目定制好的流程数据驱动出软件研发流程中涉及到的所有研发活动;研发任务分配模块用以将研发活动细化为研发任务,将研发任务分配到相应的项目组成员。本发明提出的基于流程驱动研发任务的方法及系统,可根据软件研发流程自动生成研发任务,提高任务分配效率及精确度。
Description
技术领域
本发明属于计算机软件技术领域,涉及一种研发任务驱动方法,尤其涉及一 种基于流程驱动研发任务的方法;同时,本发明还涉及一种基于流程驱动研发任 务的系统。
背景技术
对软件开发而言,当开发产品或者构建系统时,遵循一系列可预测的步骤是 非常重要的,它有助于及时交付高质量的产品。但是在软件研发全生命周期中, 软件过程不是对如何构建计算机软件的严格的规定,而是一种可适应性调整的方 法,以便于工作人员(软件团队)可以挑选适合的研发活动和研发任务的集合。
研发活动主要实现宽泛的目标(如与利益相关者进行沟通、项目策划),它 与应用领域、项目大小、结果复杂性或者实施软件的重要程度没有太多的直接关 系。研发任务主要关注小而明确的目标,它的主要目的是产生实际的产品(如构 建一个单元测试)。
在软件研发的全生命周期中,所有的这些研发活动、研发任务中的每一个都 属于某一个过程框架或者过程模型,框架或模型定义了它们同过程之间或者相互 之间的关系。过程框架或者过程模型提高了软件研发活动/任务的稳定性、可控 性和有组织性,如果没有过程约束,软件研发活动/任务将逐渐失控并变得混乱。
传统上,项目立项后,项目负责人将基于经验或先前项目的基础为本项目建 立顶层项目计划。由于在项目初期,项目的活动/任务分解通常粒度较粗,每个 活动/任务的完成时间往往也较长。
在项目具体活动的执行时,活动负责人将基于最新的信息将该活动进一步进 行任务分解、资源分配等,并可能在前期的顶层项目计划中将新分解的细粒度任 务添加为先前粗粒度活动/任务的子任务,或者重新为具体活动建立子计划。在 任务进一步分解后,具体的执行人员将依据更新后的细粒度计划开展工作。
活动负责人或项目经理将跟踪和监控具体任务的执行情况,并将任务执行的 信息,如完成百分比,添加入项目计划或其他用于项目跟踪的数据中。
此外,如果涉及到需要并行或先后开展的多项任务时,往往需要活动负责人 和各个任务执行人进行大量线下沟通和协调,确认各项任务有序、高效的开展。
当前现有的技术制定的整个软件项目的研制流程,存在以下缺点:
(1)需人工跟踪研发任务:研发任务是否依据计划执行、研发任务在规定 时间内的完成情况等,都必须要有相应的人员时刻进行跟踪、比对、汇总。由于 人的主观因素的存在可能会直接导致任务执行不力、项目进度数据统计不准确等 问题,同时也造成了资源的浪费,降低了项目资源的利用率。
(2)不利于并行工作:一般情况下,对于没有工作输出物相互依赖关系的 两项活动,而仅共同依赖于其他活动的输出时,可以直接在项目计划中将两项任 务排定为同时开始。但是,项目存在大量任务其工作量很大,工期很长,而且其 输出是后续活动的输入,为了提高项目执行效率,往往需要在这样工作部分输出 稳定时,及部分交付给后续任务,从而实现并行化。但是,在传统工具当中,为 实现这一目的,一方面需要在工具中将两个活动的前后置关系设置为同时开始, 还需要工作人员在线下及时沟通,先行活动的执行人及时将先行工作的部分稳定 输出提交给后续活动的执行人,才能实现并行工作。这就在很大程度上依赖于人 的主观能动性。
(3)项目进度计划不稳定:传统工具当中,在项目初期制定项目进度计划 时,往往只能在较粗的粒度上确定项目的整体工作内容,而在后续项目执行中, 通常需要不断修订,细化项目进度计划,以满足实际工作中任务灵活分配的需要, 这就导致项目进度计划的不稳定。
有鉴于此,如今迫切需要设计一种新的任务分配方式,以便克服现有分配方 式的上述缺陷。
发明内容
本发明所要解决的技术问题是:提供一种基于流程驱动研发任务的方法,可 根据软件研发流程自动生成研发任务,提高任务分配效率及精确度。
此外,本发明提供一种基于流程驱动研发任务的系统,可根据软件研发流程 自动生成研发任务,提高任务分配效率及精确度。
为解决上述技术问题,本发明采用如下技术方案:
一种基于流程驱动研发任务的方法,所述方法包括:解析项目预设好的流程 数据,当满足活动的前置要求、限制类型及延迟间隔及活动的计划开始时间时, 系统驱动该研发活动,并根据研发活动的种类,将研发活动按照系统预设的分类, 将活动分解成为一个或多个研发任务,并将研发任务分配给活动的负责人和参与 人。
作为本发明的一种优选方案,所述方法包括步骤S1、将软件研发流程实例 化为软件项目计划;
将承担项目的组织机构的软件研发流程框架及其相关的数据内嵌在驱动系 统中,内嵌的研发流程框架和相关数据来自于先前项目积累的历史数据积累、组 织创建的标准规程指南;
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的 活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出。 在具体的项目立项后,依据本项目的特点,在标准软件研发数据的基础上进行个 性化定制和裁剪,进行定制和裁剪的数据包括软件研发流程框架中的各项基本元 素,包括软件研发流程中包含的各个软件过程包含的活动、活动之间的关联关系, 以及软件活动包含的任务、软件活动的输入输出,然后将定制化的软件研发流程 框架拷贝到实际项目中,并为各研发活动指派活动的负责人和参与人及计划开始 和完成的日期,从而生成软件项目计划。
作为本发明的一种优选方案,所述方法还包括步骤S2、任务驱动设置步骤;
所有已定义好的软件生命周期活动构成了软件项目计划,每个活动的名称、 工时、工期、进度百分比、计划开始和结束时间、实际开始和结束时间,以及对 应甘特图,都会相应的进行体现;项目负责人为每个活动分配相应的负责人和参 与人;
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动 条件,为活动的负责人和参与人驱动出可执行任务;
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、 执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始 日期、实际完成日期、计划工时、任务状态、已用工时。
作为本发明的一种优选方案,所述方法还包括:步骤S3、设置驱动方式步 骤;提供三种研发任务的驱动场景:前置活动驱动、数据驱动、周期性驱动;
(1)前置活动驱动作为最简单也是最典型的驱动场景,即第一事情做完了, 才可以做第二事情,或者第一事情开始了,才可以做第二事情;
添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置前置活 动时随时对前置活动进行添加、删除和保存操作;系统提供添加前置活动的功能, 为某项活动选择项目计划中的其他活动为前置活动;一个活动可以添加多个前置 活动;添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面 的所有活动;
添加前置活动时设置前置类型,前置类型包括“完成-开始”、“开始-开始”, “完成-开始”说明该活动的驱动的前提条件之一为该活动的前置活动的任务状 态达到100%;“开始-开始”说明该活动的驱动的前提条件之一为该活动的前置 活动已经驱动;
删除前置活动:在前置活动列表里面选择一条前置活动,进行删除操作后, 系统将自动删除已选择的前置活动,并刷新前置活动列表;
保存前置活动:活动的前置活动设置完成以后,对软件研发流程进行保存操 作,所做的设置即刻生效;
设置限制类型及延迟间隔:提供活动限制类型的设置,活动的限制类型分为 “越早越好”、“不得早于…开始”。当限制类型为“越早越好”,限制日期处于不 能设置的状态;当活动的前置活动条件满足时,即驱动该活动,此时可能早于活 动的计划开始日期。当限制类型为“不得早于…开始”,此时需要设置延迟间隔, 对活动的驱动时间做进一步的限制;当活动的前置活动条件满足,并且到达了设 置的延迟间隔日期,即驱动该活动。限制类型和前置活动的逻辑关系为与;
(2)数据驱动场景;
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满 足任务驱动的必要条件,但由于任务所需要的数据对象尚未完全准备好,所以还 不能真正驱动任务;任务驱动的必要条件包括前置条件、时间准则;
数据驱动实现并行化的过程如下:
将期望并行化的两个活动的前置活动类型设置为“开始-开始”,设置活动B 的前置活动为活动A,并将前置类型设置为“开始-开始”,按项目期望设置按限 制类型及延迟间隔;
在活动A满足驱动条件后,活动B与活动A同时驱动出来,或按限制类型及 延迟间隔的时间活动B延迟相应时间驱动出来;此时,尽管活动B同时与活动A 驱动出来,但是实际上活动B无法真正执行,因为其执行的输入,是活动A的输 出,此时活动A也刚刚驱动出来,尚未产生输出。需要说明的是,本系统中活动 A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能够实现并行化 的基础;
在活动A的子活动A1执行完成后,其输出a1提交,此时活动B获得了可以 执行的输入,真正具备执行的条件,因此其子活动B1可以执行;在B1执行时, 活动A可以继续执行其他子活动A2;即,此时子活动A2子活动B1实现了并行 化执行;
(3)周期性驱动场景;
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可 确定该活动的周期性;提供6种不同的周期性设置,每种不同的“活动类型周期” 还能进行细化的具体设置;具体6种设置如下:
03-03-a)活动类型周期为日:设置周期性任务是每N个工作日进行一次驱 动;(N代表不特定的数量)
03-03-b)活动类型周期为周:指定该周期性任务在每N周的第m周的具体的 哪一天进行一次驱动,或者是在每N周的第/倒数x个工作日进行一次驱动,该 周期性任务的驱动频率为每N周驱动一次;(N、m、x均代表不特定的数量)
03-03-c)活动类型周期为月:指定该周期性任务在每N月的第m月的第a 周的具体哪一天进行一次驱动,或者是每N月的第/倒数的x个工作日进行一次 驱动,该周期性任务的驱动频率为每N月驱动一次;(N、m、a、x均代表不特定 的数量)
03-03-d)活动类型周期为里程碑:指定该周期性任务在里程碑活动始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该里程 碑是普通里程碑还是重要里程碑;整个软件研发流程有多少个里程碑该周期性任 务就有多少个;(N代表不特定的数量)
03-03-e)活动类型周期为阶段:指定该周期性任务是在每个阶段开始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该周期 性任务是按照计划日期驱动还是按照实际日期驱动;该周期性任务的驱动频率为 每个阶段驱动一次;(N代表不特定的数量)
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型,包括编写、 核查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、 流程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他,并 且能选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时候 进行该周期性任务的驱动。
作为本发明的一种优选方案,所述方法还包括:步骤S4、任务再分配步骤;
对于软件计划中需要多人完成的活动,提供负责人和参与人的设置;任务负 责人具有在任务驱动出来后进一步为任务参与人分配任务的权限;
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的 一个任务名称为“活动名称-任务分配”的任务;
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数 据”的粒度给相关的项目组成员分配研发任务;同样任务的执行人也能基于“FOG 数据”的粒度进行任务执行操作;
任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入以FOG数据的 粒度分配给编写任务的参与人;
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG 数据为依据,编写相应的FOG数据;
04-03)每个参与人编写完成各个FOG数据后,逐个提交FOG数据;
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的 提示,该负责人将该FOG数据分配给核查任务的某个参与人;
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己 核查的提示,对收到的FOG数据进行核查;
04-06)各个核查参与人在完成自己的FOG数据核查后逐个提交。
一种基于流程驱动研发任务的系统,所述系统包括:
研发活动生成模块,用以根据项目定制好的流程数据驱动出软件研发流程中 涉及到的所有研发活动;
研发任务分配模块,用以将研发活动细化为研发任务,将研发任务分配到相 应的项目组成员。
作为本发明的一种优选方案,所述研发活动生成模块用以将承担项目的组织 机构的软件研发流程框架及其相关的数据内嵌在驱动系统中,内嵌的研发流程框 架和相关数据来自于先前项目积累的历史数据积累、组织创建的标准规程指南;
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的 活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出。 在具体的项目立项后,依据本项目的特点,在标准软件研发数据的基础上进行个 性化定制和裁剪,可进行定制和裁剪的数据包括软件研发流程框架中的各项基本 元素,包括软件研发流程中包含的各个软件过程包含的活动、活动之间的关联关 系,以及软件活动包含的任务、软件活动的输入输出,然后将定制化的软件研发 流程框架拷贝到实际项目中,并为各研发活动指派活动的负责人和参与人及计划 开始和完成的日期,从而生成软件项目计划。
作为本发明的一种优选方案,所述系统还包括任务驱动设置模块,用以设置 任务驱动;
所有已定义好的软件生命周期活动构成了软件项目计划,每个活动的名称、 工时、工期、进度百分比、计划开始和结束时间、实际开始和结束时间,以及对 应甘特图,都会相应的进行体现;项目负责人为每个活动分配相应的负责人和参 与人;
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动 条件,为活动的负责人和参与人驱动出可执行任务;
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、 执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始 日期、实际完成日期、计划工时、任务状态、已用工时。
作为本发明的一种优选方案,所述系统还包括:驱动方式设置模块,用以提 供三种研发任务的驱动场景:前置活动驱动、数据驱动、周期性驱动;
(1)前置活动驱动作为最简单也是最典型的驱动场景,即第一事情做完了, 才可以做第二事情,或者第一事情开始了,才可以做第二事情;
添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置前置活 动时随时对前置活动进行添加、删除和保存操作;系统提供添加前置活动的功能, 为某项活动选择项目计划中的其他活动为前置活动;一个活动可以添加多个前置 活动;添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面 的所有活动;
添加前置活动时设置前置类型,前置类型包括“完成-开始”、“开始-开始”, “完成-开始”说明该活动的驱动的前提条件之一为该活动的前置活动的任务状 态达到100%;“开始-开始”说明该活动的驱动的前提条件之一为该活动的前置 活动已经驱动;
删除前置活动:在前置活动列表里面选择一条前置活动,进行删除操作后, 系统将自动删除已选择的前置活动,并刷新前置活动列表;
保存前置活动:活动的前置活动设置完成以后,对软件研发流程进行保存操 作,所做的设置即刻生效;
设置限制类型及延迟间隔:提供活动限制类型的设置,活动的限制类型分为 “越早越好”、“不得早于…开始”。当限制类型为“越早越好”,限制日期处于不 能设置的状态;当活动的前置活动条件满足时,即驱动该活动,此时可能早于活 动的计划开始日期。当限制类型为“不得早于…开始”,此时需要设置延迟间隔, 对活动的驱动时间做进一步的限制;当活动的前置活动条件满足,并且到达了设 置的延迟间隔日期,即驱动该活动。限制类型和前置活动的逻辑关系为与;
(2)数据驱动场景;
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满 足任务驱动的必要条件,但由于任务所需要的数据对象尚未完全准备好,所以还 不能真正驱动任务;任务驱动的必要条件包括前置条件、时间准则;
数据驱动实现并行化的过程如下:
将期望并行化的两个活动的前置活动类型设置为“开始-开始”,设置活动B 的前置活动为活动A,并将前置类型设置为“开始-开始”,按项目期望设置按限 制类型及延迟间隔;
在活动A满足驱动条件后,活动B与活动A同时驱动出来,或按限制类型及 延迟间隔的时间活动B延迟相应时间驱动出来;此时,尽管活动B同时与活动A 驱动出来,但是实际上活动B无法真正执行,因为其执行的输入,是活动A的输 出,此时活动A也刚刚驱动出来,尚未产生输出。需要说明的是,本系统中活动 A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能够实现并行化 的基础;
在活动A的子活动A1执行完成后,其输出a1提交,此时活动B获得了可以 执行的输入,真正具备执行的条件,因此其子活动B1可以执行;在B1执行时, 活动A可以继续执行其他子活动A2;即,此时子活动A2子活动B1实现了并行 化执行;
(3)周期性驱动场景;
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可 确定该活动的周期性;提供6种不同的周期性设置,每种不同的“活动类型周期” 还能进行细化的具体设置;具体6种设置如下:
03-03-a)活动类型周期为日:设置周期性任务是每N个工作日进行一次驱 动;(N代表不特定的数量)
03-03-b)活动类型周期为周:指定该周期性任务在每N周的第m周的具体的 哪一天进行一次驱动,或者是在每N周的第/倒数x个工作日进行一次驱动,该 周期性任务的驱动频率为每N周驱动一次;(N、m、x均代表不特定的数量)
03-03-c)活动类型周期为月:指定该周期性任务在每N月的第m月的第a 周的具体哪一天进行一次驱动,或者是每N月的第/倒数的x个工作日进行一次 驱动,该周期性任务的驱动频率为每N月驱动一次;(N、m、a、x均代表不特定 的数量)
03-03-d)活动类型周期为里程碑:指定该周期性任务在里程碑活动始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该里程 碑是普通里程碑还是重要里程碑;整个软件研发流程有多少个里程碑该周期性任 务就有多少个;(N代表不特定的数量)
03-03-e)活动类型周期为阶段:指定该周期性任务是在每个阶段开始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该周期 性任务是按照计划日期驱动还是按照实际日期驱动;该周期性任务的驱动频率为 每个阶段驱动一次;(N代表不特定的数量)
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型,包括编写、 核查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、 流程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他,并 且能选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时候 进行该周期性任务的驱动。
作为本发明的一种优选方案,所述研发任务分配模块用以每间隔设定时间为 不同人员自动更新研发任务;
对于软件计划中需要多人完成的活动,提供负责人和参与人的设置;任务负 责人具有在任务驱动出来后进一步为任务参与人分配任务的权限;
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的 一个任务名称为“活动名称-任务分配”的任务;
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数 据”的粒度给相关的项目组成员分配研发任务;同样任务的执行人也能基于“FOG 数据”的粒度进行任务执行操作;
任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入以FOG数据的 粒度分配给编写任务的参与人;
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG 数据为依据,编写相应的FOG数据;
04-03)每个参与人编写完成各个FOG数据后,逐个提交FOG数据;
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的 提示,该负责人将该FOG数据分配给核查任务的某个参与人;
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己 核查的提示,对收到的FOG数据进行核查;
04-06)各个核查参与人在完成自己的FOG数据核查后逐个提交。
本发明的有益效果在于:本发明提出的基于流程驱动研发任务的方法及系 统,可根据软件研发流程自动生成研发任务,提高任务分配效率及精确度。
可以在该发明系统内进行具体的任务执行,任务执行所产生的数据全都存储 在该系统中,便于软件研发数据的统一管理和维护。
基于本系统采用的数据驱动的任务驱动方式更加有利于并行工作的开展,提 高研发工作的效率。
此外,本系统支持任务执行时的再分配功能,从而一方面保证了项目整体进 度计划的稳定性,另一方面还提高了任务分配的灵活性,大大提高了项目研发活 动的效率。
附图说明
图1为本发明系统的组成示意图。
图2为本发明基于流程驱动研发任务方法的流程图。
图3为本发明软件研发流程框架的示意图。
图4为本发明生产的软件项目计划的示意图。
图5为本发明方法驱动的可执行任务的示意图。
图6为本发明方法设置前置活动驱动的流程图。
图7为本发明方法数据驱动实现并行化的流程图。
图8为本发明方法任务再分配的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图2,本发明揭示了一种基于流程驱动研发任务的方法和系统,根据 项目定制好的流程数据一步步把软件研发流程中涉及到的所有研发活动精确的 驱动出来,研发活动经过细化形成研发任务分配到相应的项目组成员。具体包括: 解析项目预设好的流程数据,当满足活动的前置要求、限制类型及延迟间隔及活 动的计划开始时间时,系统驱动该研发活动,并根据研发活动的种类,将研发活 动按照系统预设的分类,将活动分解成为一个或多个研发任务,并将研发任务分 配给活动的负责人和参与人。
例如预设项目流程数据包含研发活动A、研发活动B,其中,研发活动B的 前置活动为研发活动A(类型:完成—开始),那么当研发活动A完成时,系统 自动驱动研发活动B,并将研发活动B按照系统预设的活动分类细化成为一个或 多个研发任务,并将研发任务分配给研发活动B的负责人和参与人。
所述基于流程驱动研发任务的方法(驱动研发任务指:根据定义好的软件研 发流程自动生成/分配研发任务)具体包括如下步骤:
【步骤S01】软件研发流程定制与实例化为软件项目计划。
将承担项目的组织机构的软件研发流程框架及其相关的数据内嵌在系统中, 内嵌的研发流程框架和相关数据来自于先前项目积累的历史数据积累、组织创建 的标准规程指南等。
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的 活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出。 在具体的项目立项后,需要依据本项目的特点,在标准软件研发数据的基础上进 行个性化定制和裁剪,可进行定制和裁剪的数据可以包括软件研发流程框架中的 各项基本元素,如软件研发流程中包括的各个软件过程包括的活动、活动之间的 关联关系、软件活动包括的任务、软件活动的输入输出等。软件研发流程框架示 意图参见图3。
然后将定制化的软件研发流程框架拷贝到实际项目中,并为各研发活动指派 活动的负责人和参与人及计划开始和完成的日期,从而生成软件项目计划。本系 统生成的软件项目计划如图4所示。
【步骤S02】任务驱动设置步骤。
所有已定义好的软件生命周期活动(图4中显示不为粗体的每一行即可看成 是一个活动)构成了软件项目计划,每个活动的名称、工时、工期、进度百分比、 计划开始和结束时间、实际开始和结束时间,以及对应甘特图,都会相应的进行 体现。项目负责人需要为每个活动分配相应的负责人和参与人。
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动 等条件,为活动的负责人和参与人驱动出如图5所示的可执行任务。
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、 执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始 日期、实际完成日期、计划工时、任务状态、已用工时……等,详细任务信息说 明见表1。
表1 本系统驱动的任务的详细说明
【步骤S03】驱动方式设置步骤。
本发明在综合考虑了在软件研发过程当中的种种复杂情况,为了及时地、高 质量地交付软件,以满足软件项目资助方和最终用户的需求,那么软件开发研发 过程当中的研发任务必须是灵活多变的,据此,在立足于软件研发流程的基础之 上,本发明提供了三种研发任务的驱动场景:前置活动驱动、数据驱动、周期性 驱动。
03-01)前置活动驱动:
前置活动驱动作为最简单也是最典型的驱动场景,即某某事情做完了,可以 做某某事情,或者某某事情开始了,可以做某某事情。设置前置活动驱动的具体 步骤参见图6。
基于图6对前置活动驱动的描述如下:
(1)添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置 前置活动时随时对前置活动进行添加、删除和保存操作。
添加:系统提供添加前置活动的功能,可以为某项活动选择项目计划中的其 他活动为前置活动。一个活动可以添加多个前置活动,如添加了多个前置活动, 多个前置活动均完成时,本项活动才具备被驱动的条件。
添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面的 所有活动。
添加前置活动时可以设置前置类型,前置类型包括“完成-开始(FS)”、“开 始-开始(SS)”,“完成-开始(FS)”说明该活动的驱动的前提条件之一为该活 动的前置活动的任务状态达到100%;“开始-开始(SS)”说明该活动的驱动的 前提条件之一为该活动的前置活动已经驱动。
删除:在前置活动列表里面选择一条前置活动,进行删除操作后,系统将自 动删除已选择的前置活动,并刷新前置活动列表。
保存:活动的前置活动设置完成以后,对软件研发流程进行保存操作,所做 的设置即刻生效。
(2)设置限制类型及延迟间隔:提供活动限制类型的设置,活动的限制类 型分为“越早越好”、“不得早于…开始”。当限制类型为“越早越好”,限制日期 处于不能设置的状态;当活动的前置活动条件满足时,即驱动该活动,此时可能 早于活动的计划开始日期。当限制类型为“不得早于…开始”,此时需要设置延 迟间隔,对活动的驱动时间做进一步的限制;当活动的前置活动条件满足,并且 到达了设置的延迟间隔日期,即驱动该活动。注:限制类型和前置活动的逻辑关 系为与。
03-02)数据驱动:
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满 足了前置条件、满足了时间准则等一些任务驱动的必要条件,但由于任务所需要 的数据对象尚未完全准备好,所以还不能真正驱动任务。例如:任务A—编写软 件高层需求;任务B—核查软件高层需求,即便将任务A和任务B的前置类型关 系设置为“开始—开始”,但是如果任务A还没有产生高层需求数据,那么即便 任务A和任务B是在同一时间被驱动出来,任务B在进行“核查软件高层需求- 任务分配”的执行操作的时候是选不到具体的数据对象给相应的任务执行人,换 个角度而言在这种情况之下即便任务B被驱动出来了,但是由于获取不到任务A 的数据对象,故任务B可执行的迁移准则还是没有被满足。
由于通常软件需求等数据其开发工作很大、工期很长,实际项目中往往希望 尽早开展需求的核查工作。也即,需要完成部分需求,即开展相应部分的核查。 正如在第一部分现有技术缺点中描述的,这需要大量的人工沟通。本系统使用基 于数据驱动的任务驱动方式来解决这一问题,自动化实现更高程度的任务执行的 并行化;其功能实现如图7所示。
如图7,数据驱动实现并行化的过程如下:
03-02-01)将期望并行化的两个活动的前置活动类型设置为“开始-开始”, 例如,活动A为编写软件需求,活动B为核查软件需求,期望核查软件需求能够 与编写软件需求并行开始,则设置活动B的前置活动为活动A,并将前置类型设 置为“开始-开始”,按项目期望设置按限制类型及延迟间隔;
03-02-02)在活动A满足驱动条件后,活动B与活动A同时驱动出来(或按 限制类型及延迟间隔的时间活动B延迟相应时间驱动出来)。此时,尽管活动B 同时与活动A驱动出来,但是实际上活动B无法真正执行,因为其执行的输入, 是活动A的输出,此时活动A也刚刚驱动出来,尚未产生输出。需要说明的是, 本系统中活动A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能 够实现并行化的基础。
03-02-03)在活动A的子活动A1执行完成后,其输出a1提交,此时活动B 获得了可以执行的输入,真正具备执行的条件,因此其子活动B1可以执行。在 B1执行时,活动A可以继续执行其他子活动,如A2。即,此时自活动A2子活动 B1实现了并行化执行。
03-03)周期性驱动:
在软件研发过程当中,很多工作任务都具有一定的周期性,例如:项目组成 员每周需要填写工作周报,项目负责人需要每周对风险进行监控,SQA人员每周 需要填写质量保证周报,项目负责人需要填写项目月报、阶段报……等。故本发 明针对以上提到的一些周期性的工作任务,提供了周期性驱动任务的这一机制。
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可 确定该活动的周期性。本发明提供6种不同的周期性设置,每种不同的“活动类 型周期”还可以进行细化的具体设置,如周期性是以自然日为计算周期还是以工 作日为计算周期,通过各种设置的组合,本发明能实现所有复杂的周期性任务的 驱动。具体6中设置如下:
03-03-a)活动类型周期为每日:可以设置周期性任务是每一天都进行驱动还 是每一个工作日进行驱动。
03-03-b)活动类型周期为每周:可以指定该周期性任务在一作周内具体哪一 天被驱动出来,该周期性任务的驱动频率为每周驱动一次。
03-03-c)活动类型周期为每月:可以指定该周期性任务在一个月内具体哪一 天被驱动出来,该周期性任务的驱动频率为每月驱动一次。
03-03-d)活动类型周期为每里程碑:可以指定该周期性任务在里程碑以后或 里程碑之前的任何一个工作日进行驱动,并且可以设置该里程碑是普通里程碑还 是重要里程碑,在另一方面该周期性的任务的驱动方式还可以设置是按照计划日 期进行驱动还是按照实际日期进行驱动。整个软件研发流程有多少个里程碑该周 期性任务就有多少个。
03-03-e)活动类型周期为每阶段:可以指定该周期性任务是在每个阶段开始 之前、开始之后、完成之前、完成之后的任何一个工作日进行驱动,并且可以设 置该周期性任务是按照计划日期驱动还是按照实际日期驱动。该周期性任务的驱 动频率为每个阶段驱动一次。
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型(编写、核 查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、流 程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他),并 且可以选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时 候进行该周期性任务的驱动。
【步骤S04】任务再分配步骤。
对于软件计划中需要多人完成的活动,本系统提供负责人和参与人的设置。 任务负责人具有在任务驱动出来后进一步为任务参与人进一步分配任务的权限。
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的 一个任务名称为“活动名称-任务分配”的任务(如活动名称为:“开发软件设计” 这样一个有负责人和参与人的活动,经过系统驱动生成的分配任务为“开发软件 设计-任务分配”)。
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数 据”的粒度(图8中FOG数据A、FOG数据B、FOG数据C……FOG数据N)给相 关的项目组成员分配研发任务。同样任务的执行人也能基于“FOG数据”的粒度 进行任务执行操作,例如:(图8中所展示的FOG数据编写、FOG数据提交、FOG 数据核查分配、FOG数据核查等)。人工介入任务分配具体流程图参见图8。
图8中所示的任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入(例如,待编 写软件需求,其输入为系统需求)以FOG数据的粒度分配给编写任务的参与人。
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG 数据为依据,编写相应的FOG数据(如,依据系统需求FOG数据X编写软件需求 数据A)。
04-03)每个参与人编写完成各个FOG数据后,可以逐个提交FOG数据。
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的 提示,该负责人可以讲该FOG数据(如FOG数据A)分配给核查任务的某个参与 人。
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己 核查的提示,可以对收到的FOG数据进行核查。
04-06)各个核查参与人在完成自己的FOG数据核查后,可以逐个提交。
人工介入任务分配便于并行开展软件研发任务,以FOG数据B从编写到提交 (图8中所示蓝色流程)和FOG数据C从编写到提交(图8中所示黄色流程)为 例,对于“FOG数据B”的流程操作完全不会影响“FOG数据C”的流程操作。
实施例二
本发明揭示一种基于流程驱动研发任务的系统,所述系统包括:研发活动生 成模块、任务驱动设置模块、驱动方式设置模块、研发任务分配模块。
【研发活动生成模块】
研发活动生成模块用以根据项目定制好的流程数据驱动出软件研发流程中 涉及到的所有研发活动。
所述研发活动生成模块用以将承担项目的组织机构的软件研发流程框架及 其相关的数据内嵌在驱动系统中,内嵌的研发流程框架和相关数据来自于先前项 目积累的历史数据积累、组织创建的标准规程指南。
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的 活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出。 在具体的项目立项后,依据本项目的特点,在标准软件研发数据的基础上进行个 性化定制和裁剪,可进行定制和裁剪的数据包括软件研发流程框架中的各项基本 元素,包括软件研发流程中包含的各个软件过程包含的活动、活动之间的关联关 系,以及软件活动包含的任务、软件活动的输入输出,然后将定制化的软件研发 流程框架拷贝到实际项目中,并为各研发活动指派活动的负责人和参与人及计划 开始和完成的日期,从而生成软件项目计划。
【任务驱动设置模块】
所述任务驱动设置模块用以设置任务驱动。
所有已定义好的软件生命周期活动构成了软件项目计划,每个活动的名称、 工时、工期、进度百分比、计划开始和结束时间、实际开始和结束时间,以及对 应甘特图,都会相应的进行体现;项目负责人为每个活动分配相应的负责人和参 与人。
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动 条件,为活动的负责人和参与人驱动出可执行任务。
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、 执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始 日期、实际完成日期、计划工时、任务状态、已用工时。
【驱动方式设置模块】
驱动方式设置模块用以提供三种研发任务的驱动场景:前置活动驱动、数据 驱动、周期性驱动。
(1)前置活动驱动作为最简单也是最典型的驱动场景,即第一事情做完了, 才可以做第二事情,或者第一事情开始了,才可以做第二事情;
添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置前置活 动时随时对前置活动进行添加、删除和保存操作;系统提供添加前置活动的功能, 为某项活动选择项目计划中的其他活动为前置活动;一个活动可以添加多个前置 活动;添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面 的所有活动;
添加前置活动时设置前置类型,前置类型包括“完成-开始”、“开始-开始”, “完成-开始”说明该活动的驱动的前提条件之一为该活动的前置活动的任务状 态达到100%;“开始-开始”说明该活动的驱动的前提条件之一为该活动的前置 活动已经驱动;
删除前置活动:在前置活动列表里面选择一条前置活动,进行删除操作后, 系统将自动删除已选择的前置活动,并刷新前置活动列表;
保存前置活动:活动的前置活动设置完成以后,对软件研发流程进行保存操 作,所做的设置即刻生效;
设置延迟间隔:对活动驱动出任务的时间设置一个缓冲值,在满足相应类型 的前置活动条件后,被驱动的任务将在该缓冲值的时间之后被驱动出来;
设置限制类型:提供前置活动限制类型的设置和前置活动限制日期的设置, 活动的限制类型分为“越早越好”、“不得早于…开始”;当限制类型为“越早越 好”,限制日期就处于不能设置的状态;当限制类型为“不得早于…开始”,这个 时候就必须要指定一个具体的日期,对该活动驱动出任务的时间做进一步的限 制;限制类型和前置活动的逻辑关系为与。
(2)数据驱动场景;
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满 足任务驱动的必要条件,但由于任务所需要的数据对象尚未完全准备好,所以还 不能真正驱动任务;任务驱动的必要条件包括前置条件、时间准则;
数据驱动实现并行化的过程如下:
将期望并行化的两个活动的前置活动类型设置为“开始-开始”,设置活动B 的前置活动为活动A,并将前置类型设置为“开始-开始”,按项目期望设置按限 制类型及延迟间隔;
在活动A满足驱动条件后,活动B与活动A同时驱动出来,或按限制类型及 延迟间隔的时间,活动B延迟相应时间驱动出来;此时,尽管活动B同时与活动 A驱动出来,但是实际上活动B无法真正执行,因为其执行的输入,是活动A的 输出,此时活动A也刚刚驱动出来,尚未产生输出。需要说明的是,本系统中活 动A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能够实现并行 化的基础;
在活动A的子活动A1执行完成后,其输出a1提交,此时活动B获得了可以 执行的输入,真正具备执行的条件,因此其子活动B1可以执行;在B1执行时, 活动A可以继续执行其他子活动A2;即,此时子活动A2子活动B1实现了并行 化执行。
(3)周期性驱动场景;
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可 确定该活动的周期性;提供6种不同的周期性设置,每种不同的“活动类型周期” 还能进行细化的具体设置;具体6种设置如下:
03-03-a)活动类型周期为日:设置周期性任务是每N个工作日进行一次驱 动;(N代表不特定的数量)
03-03-b)活动类型周期为周:指定该周期性任务在每N周的第m周的具体的 哪一天进行一次驱动,或者是在每N周的第/倒数x个工作日进行一次驱动,该 周期性任务的驱动频率为每N周驱动一次;(N、m、x均代表不特定的数量)
03-03-c)活动类型周期为月:指定该周期性任务在每N月的第m月的第a 周的具体哪一天进行一次驱动,或者是每N月的第/倒数的x个工作日进行一次 驱动,该周期性任务的驱动频率为每N月驱动一次;(N、m、a、x均代表不特定 的数量)
03-03-d)活动类型周期为里程碑:指定该周期性任务在里程碑活动始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该里程 碑是普通里程碑还是重要里程碑;整个软件研发流程有多少个里程碑该周期性任 务就有多少个;(N代表不特定的数量)
03-03-e)活动类型周期为阶段:指定该周期性任务是在每个阶段开始之前、 开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该周期 性任务是按照计划日期驱动还是按照实际日期驱动;该周期性任务的驱动频率为 每个阶段驱动一次;(N代表不特定的数量)
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型,包括编写、 核查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、 流程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他,并 且能选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时候 进行该周期性任务的驱动。
【研发任务分配模块】
所述研发任务分配模块用以每间隔设定时间为不同人员自动更新研发任务。 对于软件计划中需要多人完成的活动,提供负责人和参与人的设置;任务负责人 具有在任务驱动出来后进一步为任务参与人分配任务的权限。
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的 一个任务名称为“活动名称-任务分配”的任务。
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数 据”的粒度给相关的项目组成员分配研发任务;同样任务的执行人也能基于“FOG 数据”的粒度进行任务执行操作。
任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入以FOG数据的 粒度分配给编写任务的参与人;
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG 数据为依据,编写相应的FOG数据;
04-03)每个参与人编写完成各个FOG数据后,逐个提交FOG数据;
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的 提示,该负责人将该FOG数据分配给核查任务的某个参与人;
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己 核查的提示,对收到的FOG数据进行核查;
04-06)各个核查参与人在完成自己的FOG数据核查后逐个提交。
综上所述,本发明提出的基于流程驱动研发任务的方法及系统,可根据软件 研发流程自动生成研发任务,提高任务分配效率及精确度。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实 施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技 术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚 的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结 构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和 精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (10)
1.一种基于流程驱动研发任务的方法,其特征在于,所述方法包括:解析项目预设好的流程数据,当满足活动的前置要求、限制类型及延迟间隔及活动的计划开始时间时,系统驱动该研发活动,并根据研发活动的种类,将研发活动按照系统预设的分类,将活动分解成为一个或多个研发任务,并将研发任务分配给活动的负责人和参与人。
2.根据权利要求1所述的基于流程驱动研发任务的方法,其特征在于:
所述方法包括步骤S1、将软件研发流程实例化为软件项目计划;
将承担项目的组织机构的软件研发流程框架及其相关的数据内嵌在驱动系统中,内嵌的研发流程框架和相关数据来自于先前项目积累的历史数据积累、组织创建的标准规程指南;
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出;在具体的项目立项后,依据本项目的特点,在标准软件研发数据的基础上进行个性化定制和裁剪;
进行定制和裁剪的数据包括软件研发流程框架中的各项基本元素,包括软件研发流程中包含的各个软件过程包含的活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出,然后将定制化的软件研发流程框架拷贝到实际项目中,并为各研发活动指派活动的负责人和参与人及计划开始和完成的日期,从而生成软件项目计划。
3.根据权利要求1所述的基于流程驱动研发任务的方法,其特征在于:
所述方法还包括步骤S2、任务驱动设置步骤;
所有已定义好的软件生命周期活动构成了软件项目计划,每个活动的名称、工时、工期、进度百分比、计划开始和结束时间、实际开始和结束时间,以及对应甘特图,都会相应的进行体现;项目负责人为每个活动分配相应的负责人和参与人;
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动条件,为活动的负责人和参与人驱动出可执行任务;
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始日期、实际完成日期、计划工时、任务状态、已用工时。
4.根据权利要求1所述的基于流程驱动研发任务的方法,其特征在于:
所述方法还包括:步骤S3、设置驱动方式步骤;提供三种研发任务的驱动场景:前置活动驱动、数据驱动、周期性驱动;
(1)前置活动驱动作为最简单也是最典型的驱动场景,即第一事情做完了,才可以做第二事情,或者第一事情开始了,才可以做第二事情;
添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置前置活动时随时对前置活动进行添加、删除和保存操作;系统提供添加前置活动的功能,为某项活动选择项目计划中的其他活动为前置活动;一个活动可以添加多个前置活动;添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面的所有活动;
添加前置活动时设置前置类型,前置类型包括“完成-开始”、“开始-开始”,“完成-开始”说明该活动的驱动的前提条件之一为该活动的前置活动的任务状态达到100%;“开始-开始”说明该活动的驱动的前提条件之一为该活动的前置活动已经驱动;
删除前置活动:在前置活动列表里面选择一条前置活动,进行删除操作后,系统将自动删除已选择的前置活动,并刷新前置活动列表;
保存前置活动:活动的前置活动设置完成以后,对软件研发流程进行保存操作,所做的设置即刻生效;
设置限制类型及延迟间隔:提供活动限制类型的设置,活动的限制类型分为“越早越好”、“不得早于…开始”。当限制类型为“越早越好”,限制日期处于不能设置的状态;当活动的前置活动条件满足时,即驱动该活动,此时可能早于活动的计划开始日期。当限制类型为“不得早于…开始”,此时需要设置延迟间隔,对活动的驱动时间做进一步的限制;当活动的前置活动条件满足,并且到达了设置的延迟间隔日期,即驱动该活动。限制类型和前置活动的逻辑关系为与;
(2)数据驱动场景;
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满足任务驱动的必要条件,但由于任务所需要的数据对象尚未完全准备好,所以还不能真正驱动任务;任务驱动的必要条件包括前置条件、时间准则;
数据驱动实现并行化的过程如下:
将期望并行化的两个活动的前置活动类型设置为“开始-开始”,设置活动B的前置活动为活动A,并将前置类型设置为“开始-开始”,按项目期望设置限制类型及延迟间隔;
在活动A满足驱动条件后,活动B与活动A同时驱动出来,或按限制类型及延迟间隔的时间,活动B延迟相应时间驱动出来;此时,尽管活动B同时与活动A驱动出来,但是实际上活动B无法真正执行,因为其执行的输入,是活动A的输出,此时活动A也刚刚驱动出来,尚未产生输出;需要说明的是,本系统中活动A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能够实现并行化的基础;
在活动A的子活动A1执行完成后,其输出a1提交,此时活动B获得了可以执行的输入,真正具备执行的条件,因此其子活动B1可以执行;在B1执行时,活动A可以继续执行其他子活动A2;即,此时子活动A2子活动B1实现了并行化执行;
(3)周期性驱动场景;
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可确定该活动的周期性;提供6种不同的周期性设置,每种不同的“活动类型周期”还能进行细化的具体设置;具体6种设置如下:
03-03-a)活动类型周期为日:设置周期性任务是每N个工作日进行一次驱动;(N代表不特定的数量)
03-03-b)活动类型周期为周:指定该周期性任务在每N周的第m周的具体的哪一天进行一次驱动,或者是在每N周的第/倒数x个工作日进行一次驱动,该周期性任务的驱动频率为每N周驱动一次;(N、m、x均代表不特定的数量)
03-03-c)活动类型周期为月:指定该周期性任务在每N月的第m月的第a周的具体哪一天进行一次驱动,或者是每N月的第/倒数的x个工作日进行一次驱动,该周期性任务的驱动频率为每N月驱动一次;(N、m、a、x均代表不特定的数量)
03-03-d)活动类型周期为里程碑:指定该周期性任务在里程碑活动始之前、开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该里程碑是普通里程碑还是重要里程碑;整个软件研发流程有多少个里程碑该周期性任务就有多少个;(N代表不特定的数量)
03-03-e)活动类型周期为阶段:指定该周期性任务是在每个阶段开始之前、开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该周期性任务是按照计划日期驱动还是按照实际日期驱动;该周期性任务的驱动频率为每个阶段驱动一次;(N代表不特定的数量)
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型,包括编写、核查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、流程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他,并且能选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时候进行该周期性任务的驱动。
5.根据权利要求1所述的基于流程驱动研发任务的方法,其特征在于:
所述方法还包括:步骤S4、任务再分配步骤;
对于软件计划中需要多人完成的活动,提供负责人和参与人的设置;任务负责人具有在任务驱动出来后进一步为任务参与人分配任务的权限;
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的一个任务名称为“活动名称-任务分配”的任务;
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数据”的粒度给相关的项目组成员分配研发任务;同样任务的执行人也能基于“FOG数据”的粒度进行任务执行操作;
任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入以FOG数据的粒度分配给编写任务的参与人;
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG数据为依据,编写相应的FOG数据;
04-03)每个参与人编写完成各个FOG数据后,逐个提交FOG数据;
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的提示,该负责人将该FOG数据分配给核查任务的某个参与人;
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己核查的提示,对收到的FOG数据进行核查;
04-06)各个核查参与人在完成自己的FOG数据核查后逐个提交。
6.一种基于流程驱动研发任务的系统,其特征在于,所述系统包括:
研发活动生成模块,用以根据项目定制好的流程数据驱动出软件研发流程中涉及到的所有研发活动;
研发任务分配模块,用以将研发活动细化为研发任务,将研发任务分配到相应的项目组成员。
7.根据权利要求6所述的基于流程驱动研发任务的系统,其特征在于:
所述研发活动生成模块用以将承担项目的组织机构的软件研发流程框架及其相关的数据内嵌在驱动系统中,内嵌的研发流程框架和相关数据来自于先前项目积累的历史数据积累、组织创建的标准规程指南;
组织资产中的标准软件研发流程框架,包含软件过程、各个软件过程包含的活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出;在具体的项目立项后,依据本项目的特点,在标准软件研发数据的基础上进行个性化定制和裁剪,进行定制和裁剪的数据包括软件研发流程框架中的各项基本元素,包括软件研发流程中包含的各个软件过程包含的活动、活动之间的关联关系,以及软件活动包含的任务、软件活动的输入输出,然后将定制化的软件研发流程框架拷贝到实际项目中,并为各研发活动指派活动的负责人和参与人及计划开始和完成的日期,从而生成软件项目计划。
8.根据权利要求6所述的基于流程驱动研发任务的系统,其特征在于:
所述系统还包括任务驱动设置模块,用以设置任务驱动;
所有已定义好的软件生命周期活动构成了软件项目计划,每个活动的名称、工时、工期、进度百分比、计划开始和结束时间、实际开始和结束时间,以及对应甘特图,都会相应的进行体现;项目负责人为每个活动分配相应的负责人和参与人;
设置负责人和参与人后,每个活动会根据已定义的计划开始时间、前置活动条件,为活动的负责人和参与人驱动出可执行任务;
驱动出的可执行任务的内容包括任务编号、任务名称、任务类型、发起人、执行人、工作量分布类型、发起时间、计划开始日期、计划完成日期、实际开始日期、实际完成日期、计划工时、任务状态、已用工时。
9.根据权利要求6所述的基于流程驱动研发任务的系统,其特征在于:
所述系统还包括:驱动方式设置模块,用以提供三种研发任务的驱动场景:前置活动驱动、数据驱动、周期性驱动;
(1)前置活动驱动作为最简单也是最典型的驱动场景,即第一事情做完了,才可以做第二事情,或者第一事情开始了,才可以做第二事情;
添加前置活动:提供添加、删除和保存前置活动功能,供用户在设置前置活动时随时对前置活动进行添加、删除和保存操作;系统提供添加前置活动的功能,为某项活动选择项目计划中的其他活动为前置活动;一个活动可以添加多个前置活动;添加前置活动提供下拉列表选择,下拉列表里面包含了软件研发流程里面的所有活动;
添加前置活动时设置前置类型,前置类型包括“完成-开始”、“开始-开始”,前置类型包括“完成-开始”、“开始-开始”,“完成-开始”说明该活动的驱动的前提条件之一为该活动的前置活动的任务状态达到100%;“开始-开始”说明该活动的驱动的前提条件之一为该活动的前置活动已经驱动;
删除前置活动:在前置活动列表里面选择一条前置活动,进行删除操作后,系统将自动删除已选择的前置活动,并刷新前置活动列表;
保存前置活动:活动的前置活动设置完成以后,对软件研发流程进行保存操作,所做的设置即刻生效;
设置限制类型及延迟间隔:提供活动限制类型的设置,活动的限制类型分为“越早越好”、“不得早于…开始”。当限制类型为“越早越好”,限制日期处于不能设置的状态;当活动的前置活动条件满足时,即驱动该活动,此时可能早于活动的计划开始日期。当限制类型为“不得早于…开始”,此时需要设置延迟间隔,对活动的驱动时间做进一步的限制;当活动的前置活动条件满足,并且到达了设置的延迟间隔日期,即驱动该活动。限制类型和前置活动的逻辑关系为与;
(2)数据驱动场景;
在实际的软件研发过程当中,有些时候,虽然研发任务与研发任务之间,满足任务驱动的必要条件,但由于任务所需要的数据对象尚未完全准备好,所以还不能真正驱动任务;任务驱动的必要条件包括前置条件、时间准则;
数据驱动实现并行化的过程如下:
将期望并行化的两个活动的前置活动类型设置为“开始-开始”,设置活动B的前置活动为活动A,并将前置类型设置为“开始-开始”,按项目期望设置按限制类型及延迟间隔;
在活动A满足驱动条件后,活动B与活动A同时驱动出来,或按限制类型及延迟间隔的时间,活动B延迟相应时间驱动出来;此时,尽管活动B同时与活动A驱动出来,但是实际上活动B无法真正执行,因为其执行的输入,是活动A的输出,此时活动A也刚刚驱动出来,尚未产生输出;需要说明的是,本系统中活动A和活动B的执行均是以FOG数据的粒度进行,这也是数据驱动能够实现并行化的基础;
在活动A的子活动A1执行完成后,其输出a1提交,此时活动B获得了可以执行的输入,真正具备执行的条件,因此其子活动B1可以执行;在B1执行时,活动A可以继续执行其他子活动A2;即,此时子活动A2子活动B1实现了并行化执行;
(3)周期性驱动场景;
每一个活动都关联到了相对应的活动类型,通过设置活动类型的周期性即可确定该活动的周期性;提供6种不同的周期性设置,每种不同的“活动类型周期”还能进行细化的具体设置;具体6种设置如下:
03-03-a)活动类型周期为日:设置周期性任务是每N个工作日进行一次驱动;(N代表不特定的数量)
03-03-b)活动类型周期为周:指定该周期性任务在每N周的第m周的具体的哪一天进行一次驱动,或者是在每N周的第/倒数x个工作日进行一次驱动,该周期性任务的驱动频率为每N周驱动一次;(N、m、x均代表不特定的数量)
03-03-c)活动类型周期为月:指定该周期性任务在每N月的第m月的第a周的具体哪一天进行一次驱动,或者是每N月的第/倒数的x个工作日进行一次驱动,该周期性任务的驱动频率为每N月驱动一次;(N、m、a、x均代表不特定的数量)
03-03-d)活动类型周期为里程碑:指定该周期性任务在里程碑活动始之前、开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该里程碑是普通里程碑还是重要里程碑;整个软件研发流程有多少个里程碑该周期性任务就有多少个;(N代表不特定的数量)
03-03-e)活动类型周期为阶段:指定该周期性任务是在每个阶段开始之前、开始之后、完成之前、完成之后的第N个工作日进行驱动,并且可以设置该周期性任务是按照计划日期驱动还是按照实际日期驱动;该周期性任务的驱动频率为每个阶段驱动一次;(N代表不特定的数量)
03-03-f)活动类型周期为基于某活动类型:提供18种活动类型,包括编写、核查、测试执行、质量保证、会议、评审、项目管理、里程碑会议、日常活动、流程、报告、培训、测量、线下活动、关系人跟踪、关键依赖、承若、其他,并且能选择是在活动开始的时候进行该周期性任务的驱动还是在活动结束的时候进行该周期性任务的驱动。
10.根据权利要求6所述的基于流程驱动研发任务的系统,其特征在于:
所述研发任务分配模块用以每间隔设定时间为不同人员自动更新研发任务;
对于软件计划中需要多人完成的活动,提供负责人和参与人的设置;任务负责人具有在任务驱动出来后进一步为任务参与人分配任务的权限;
具有任务分配权限的任务负责人登陆该系统后,该系统将为其自动驱动出的一个任务名称为“活动名称-任务分配”的任务;
人工介入任务分配进一步细化了软件研发任务,任务负责人能基于“FOG数据”的粒度给相关的项目组成员分配研发任务;同样任务的执行人也能基于“FOG数据”的粒度进行任务执行操作;
任务再分配流程描述如下:
04-01)编写任务的负责人在本系统中将待编写的数据的输入以FOG数据的粒度分配给编写任务的参与人;
04-02)收到任务的参与人分别在本系统中按其收到的编写任务、以输入FOG数据为依据,编写相应的FOG数据;
04-03)每个参与人编写完成各个FOG数据后,逐个提交FOG数据;
04-04)核查任务的负责人会在本系统中自动收到已有新完成的FOG数据的提示,该负责人将该FOG数据分配给核查任务的某个参与人;
04-05)核查任务的参与人会在本系统中收到已有新的FOG数据分配给自己核查的提示,对收到的FOG数据进行核查;
04-06)各个核查参与人在完成自己的FOG数据核查后逐个提交。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710096574.7A CN107153944A (zh) | 2017-02-22 | 2017-02-22 | 基于流程驱动研发任务的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710096574.7A CN107153944A (zh) | 2017-02-22 | 2017-02-22 | 基于流程驱动研发任务的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107153944A true CN107153944A (zh) | 2017-09-12 |
Family
ID=59791895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710096574.7A Withdrawn CN107153944A (zh) | 2017-02-22 | 2017-02-22 | 基于流程驱动研发任务的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107153944A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304394A (zh) * | 2018-02-08 | 2018-07-20 | 环宇爱译(北京)信息技术有限责任公司 | 翻译项目流程控制系统及其作业步骤时间配置方法 |
CN108536718A (zh) * | 2017-09-26 | 2018-09-14 | 邓晖 | 一种基于输入输出语义化实现的管理信息化的方法和系统 |
CN109389328A (zh) * | 2018-11-08 | 2019-02-26 | 东信和平科技股份有限公司 | 一种卡产品开发过程管理方法及系统 |
CN111199329A (zh) * | 2018-11-20 | 2020-05-26 | 深圳市茁壮网络股份有限公司 | 一种中间件的移植方法及系统 |
CN112734112A (zh) * | 2021-01-08 | 2021-04-30 | 深圳市昂捷信息技术股份有限公司 | 基于任务驱动的数字化门店管理方法 |
CN113159470A (zh) * | 2020-03-18 | 2021-07-23 | 江苏普麦信息科技有限公司 | 一种基于流程驱动的项目管理系统 |
CN113537954A (zh) * | 2021-09-17 | 2021-10-22 | 天津中新智冠信息技术有限公司 | 一种项目里程碑的处理方法、装置、存储介质及电子设备 |
WO2023093486A1 (zh) * | 2021-11-26 | 2023-06-01 | 北京字跳网络技术有限公司 | 生成项目流的方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858783A (zh) * | 2006-06-05 | 2006-11-08 | 上海宏迅软件有限公司 | 工作流管理系统中数据驱动的方法 |
CN101266669A (zh) * | 2008-05-06 | 2008-09-17 | 广州市中联创通电脑有限公司 | 基于计划模板的项目过程工作流系统及其实现方法 |
CN101986603A (zh) * | 2010-08-24 | 2011-03-16 | 大唐软件技术股份有限公司 | 一种基于数据驱动的工作流动态流程构建方法和系统 |
CN103345664A (zh) * | 2013-05-31 | 2013-10-09 | 华为技术有限公司 | 工作流-任务调度适配方法及系统 |
US20140244445A1 (en) * | 2013-02-27 | 2014-08-28 | Adobe Systems Inc. | Method and apparatus for a workflow-based software purchase |
CN105404949A (zh) * | 2014-09-12 | 2016-03-16 | 株洲南车时代电气股份有限公司 | 一种自定义流程的系统及其方法 |
CN105678522A (zh) * | 2016-01-12 | 2016-06-15 | 华东电网有限公司 | 工作流引擎和基于工作流的项目管理系统 |
-
2017
- 2017-02-22 CN CN201710096574.7A patent/CN107153944A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858783A (zh) * | 2006-06-05 | 2006-11-08 | 上海宏迅软件有限公司 | 工作流管理系统中数据驱动的方法 |
CN101266669A (zh) * | 2008-05-06 | 2008-09-17 | 广州市中联创通电脑有限公司 | 基于计划模板的项目过程工作流系统及其实现方法 |
CN101986603A (zh) * | 2010-08-24 | 2011-03-16 | 大唐软件技术股份有限公司 | 一种基于数据驱动的工作流动态流程构建方法和系统 |
US20140244445A1 (en) * | 2013-02-27 | 2014-08-28 | Adobe Systems Inc. | Method and apparatus for a workflow-based software purchase |
CN103345664A (zh) * | 2013-05-31 | 2013-10-09 | 华为技术有限公司 | 工作流-任务调度适配方法及系统 |
CN105404949A (zh) * | 2014-09-12 | 2016-03-16 | 株洲南车时代电气股份有限公司 | 一种自定义流程的系统及其方法 |
CN105678522A (zh) * | 2016-01-12 | 2016-06-15 | 华东电网有限公司 | 工作流引擎和基于工作流的项目管理系统 |
Non-Patent Citations (1)
Title |
---|
方进涛 等: ""PDM中数据驱动的工作流管理"", 《计算机辅助设计与制造》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536718A (zh) * | 2017-09-26 | 2018-09-14 | 邓晖 | 一种基于输入输出语义化实现的管理信息化的方法和系统 |
CN108304394A (zh) * | 2018-02-08 | 2018-07-20 | 环宇爱译(北京)信息技术有限责任公司 | 翻译项目流程控制系统及其作业步骤时间配置方法 |
CN109389328A (zh) * | 2018-11-08 | 2019-02-26 | 东信和平科技股份有限公司 | 一种卡产品开发过程管理方法及系统 |
CN111199329A (zh) * | 2018-11-20 | 2020-05-26 | 深圳市茁壮网络股份有限公司 | 一种中间件的移植方法及系统 |
CN113159470A (zh) * | 2020-03-18 | 2021-07-23 | 江苏普麦信息科技有限公司 | 一种基于流程驱动的项目管理系统 |
CN112734112A (zh) * | 2021-01-08 | 2021-04-30 | 深圳市昂捷信息技术股份有限公司 | 基于任务驱动的数字化门店管理方法 |
CN113537954A (zh) * | 2021-09-17 | 2021-10-22 | 天津中新智冠信息技术有限公司 | 一种项目里程碑的处理方法、装置、存储介质及电子设备 |
CN113537954B (zh) * | 2021-09-17 | 2022-01-18 | 天津中新智冠信息技术有限公司 | 一种项目里程碑的处理方法、装置、存储介质及电子设备 |
WO2023093486A1 (zh) * | 2021-11-26 | 2023-06-01 | 北京字跳网络技术有限公司 | 生成项目流的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107153944A (zh) | 基于流程驱动研发任务的方法及系统 | |
US20160048785A1 (en) | A computer implemented system and method for project controls | |
EP1716509A1 (en) | A project management method and system | |
CN102081760A (zh) | 用于执行调度生产过程的方法和系统 | |
Lee et al. | Multi-project management in software engineering using simulation modelling | |
Von Heyl et al. | Digitizing lean construction with building information modeling | |
US20140081697A1 (en) | Planning and scheduling tool assistant | |
Orlov et al. | Comparative analysis of the use of kanban and scrum methodologies in it projects | |
Van Oorschot et al. | Field studies into the dynamics of product development tasks | |
CN115907689A (zh) | 一种项目管理系统 | |
Dzhusoev et al. | Selection of Software Products for the Development of a Calendar Plan for High-Rise Construction | |
JP2006202082A (ja) | 生産ライン管理システムと生産ライン管理プログラムと記録媒体及び生産ライン管理方法 | |
Kovács et al. | Real-life scheduling using constraint programming and simulation | |
US20050065833A1 (en) | Production scheduling management method and production scheduling management program | |
JP4318162B2 (ja) | 生産日程計画管理方法及び生産日程計画管理プログラム | |
Oleghe et al. | Application of hybrid simulation modelling for the implementation of job rotation in a feedmill | |
Pawar et al. | Planning and Scheduling of High Rise Building Using Primavera | |
Arora | Project Management Initiatives: A Case Study on Event Managementusing ProjectLibre Tool | |
CA2832806A1 (en) | Method for optimizing schedule compression in projects using accelerating and overlapping of activities | |
East et al. | Standardizing scheduling data exchange | |
Vishnuraj et al. | Optimization of resources in highway construction | |
RU2758183C1 (ru) | Способ и устройство для обучения планированию и выполнению задач | |
Pathak | The advantages of using project management tools in industries | |
Gonzalez Sr | Using Fuzzy Mathematical Models for construction project scheduling with time, cost and material restrictions | |
Benator et al. | Fundamentals of Scheduling |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170912 |