新四季網

基於流程驅動研發任務的方法及系統與流程

2023-08-06 12:04:56


本發明屬於計算機軟體技術領域,涉及一種研發任務驅動方法,尤其涉及一種基於流程驅動研發任務的方法;同時,本發明還涉及一種基於流程驅動研發任務的系統。



背景技術:

對軟體開發而言,當開發產品或者構建系統時,遵循一系列可預測的步驟是非常重要的,它有助於及時交付高質量的產品。但是在軟體研發全生命周期中,軟體過程不是對如何構建計算機軟體的嚴格的規定,而是一種可適應性調整的方法,以便於工作人員(軟體團隊)可以挑選適合的研發活動和研發任務的集合。

研發活動主要實現寬泛的目標(如與利益相關者進行溝通、項目策劃),它與應用領域、項目大小、結果複雜性或者實施軟體的重要程度沒有太多的直接關係。研發任務主要關注小而明確的目標,它的主要目的是產生實際的產品(如構建一個單元測試)。

在軟體研發的全生命周期中,所有的這些研發活動、研發任務中的每一個都屬於某一個過程框架或者過程模型,框架或模型定義了它們同過程之間或者相互之間的關係。過程框架或者過程模型提高了軟體研發活動/任務的穩定性、可控性和有組織性,如果沒有過程約束,軟體研發活動/任務將逐漸失控並變得混亂。

傳統上,項目立項後,項目負責人將基於經驗或先前項目的基礎為本項目建立頂層項目計劃。由於在項目初期,項目的活動/任務分解通常粒度較粗,每個活動/任務的完成時間往往也較長。

在項目具體活動的執行時,活動負責人將基於最新的信息將該活動進一步進行任務分解、資源分配等,並可能在前期的頂層項目計劃中將新分解的細粒度任務添加為先前粗粒度活動/任務的子任務,或者重新為具體活動建立子計劃。在任務進一步分解後,具體的執行人員將依據更新後的細粒度計劃開展工作。

活動負責人或項目經理將跟蹤和監控具體任務的執行情況,並將任務執行的信息,如完成百分比,添加入項目計劃或其他用於項目跟蹤的數據中。

此外,如果涉及到需要並行或先後開展的多項任務時,往往需要活動負責人和各個任務執行人進行大量線下溝通和協調,確認各項任務有序、高效的開展。

當前現有的技術制定的整個軟體項目的研製流程,存在以下缺點:

(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數據核查後逐個提交。

綜上所述,本發明提出的基於流程驅動研發任務的方法及系統,可根據軟體研發流程自動生成研發任務,提高任務分配效率及精確度。

這裡本發明的描述和應用是說明性的,並非想將本發明的範圍限制在上述實施例中。這裡所披露的實施例的變形和改變是可能的,對於那些本領域的普通技術人員來說實施例的替換和等效的各種部件是公知的。本領域技術人員應該清楚的是,在不脫離本發明的精神或本質特徵的情況下,本發明可以以其它形式、結構、布置、比例,以及用其它組件、材料和部件來實現。在不脫離本發明範圍和精神的情況下,可以對這裡所披露的實施例進行其它變形和改變。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀