[go: up one dir, main page]

TWI732380B - Agile project management method and server - Google Patents

Agile project management method and server Download PDF

Info

Publication number
TWI732380B
TWI732380B TW108145418A TW108145418A TWI732380B TW I732380 B TWI732380 B TW I732380B TW 108145418 A TW108145418 A TW 108145418A TW 108145418 A TW108145418 A TW 108145418A TW I732380 B TWI732380 B TW I732380B
Authority
TW
Taiwan
Prior art keywords
project
submission
code
story
task
Prior art date
Application number
TW108145418A
Other languages
Chinese (zh)
Other versions
TW202123106A (en
Inventor
林彥丞
劉啟祥
廖智隆
Original Assignee
中華電信股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW108145418A priority Critical patent/TWI732380B/en
Publication of TW202123106A publication Critical patent/TW202123106A/en
Application granted granted Critical
Publication of TWI732380B publication Critical patent/TWI732380B/en

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides an agile project management method and a server. The method includes: obtaining a project management milestone; determining whether the task stories belonging to the project management milestone have been completed; in response to determining that the task stories of the project management milestone have been completed, obtaining a specific code node of each task story from each project commit tree; establishing a code artifact corresponding to the project management milestone based on the specific code node of each task story on each project commit tree.

Description

敏捷式專案管理方法及伺服器Agile project management method and server

本發明是有關於一種專案管理方法及伺服器,且特別是有關於一種敏捷式專案管理方法及伺服器。The present invention relates to a project management method and server, and particularly relates to an agile project management method and server.

隨著DevOps文化和微服務的程式架構熱潮推動下,跨部門協作比以往更加緊密結合,而相關的版本控制系統和程式碼審查(code review)在提高軟體質量上也扮演重要的角色。然而,在微服務的架構下,各種服務間可能存在相依性,故不論採用Git Flow、GitHub Flow或Gitlab Flow,其專案里程碑(Milestone)對專案管理者(Project Owner)而言皆具一定程度的複雜度。Driven by the DevOps culture and the upsurge of microservice program architecture, cross-departmental collaboration is more closely integrated than ever before, and related version control systems and code reviews also play an important role in improving software quality. However, under the architecture of microservices, there may be dependencies among various services. Therefore, regardless of whether Git Flow, GitHub Flow or Gitlab Flow is used, its project milestone (Milestone) has a certain degree to the project owner (Project Owner) the complexity.

過去,研發人員為提升研發品質,會更謹慎執行交遞合併的程式碼,而其原則遵循Git Flow或GitHub Flow,係利用支線切割不同的故事任務,確保程式碼在不同的故事任務互相獨立,能單獨驗證,確保最後交付的品質,因此合併的流程通常在開發的後期階段。然而,若合併的流程牽涉較廣,或者是服務間介面存在相依性,都可能增加品質收斂的時間,甚至導致產品延期交付。In the past, in order to improve the quality of research and development, R&D personnel would be more cautious in executing the code that was delivered and merged. The principle followed Git Flow or GitHub Flow, which used branch lines to cut different story tasks to ensure that the code was independent of each other in different story tasks. It can be independently verified to ensure the quality of the final delivery, so the combined process is usually in the later stages of development. However, if the merged process involves a wide range of services, or there are inter-service interfaces, it may increase the time for quality convergence and even lead to delayed product delivery.

此外,對於某些小型團隊或採配對編程(Pair programming)運行之團隊,其實沒有必要處理後期程式碼衝突的問題,但也因為遞交原則和相依議題,故同樣將面臨合併流程在開發後期的挑戰。In addition, for some small teams or teams that use pair programming, there is actually no need to deal with the problem of later code conflicts, but because of the submission principles and interdependence issues, they will also face the challenges of the merge process in the later stages of development. .

因此,若在開發前期,提早認知相關介面的相依性,完成程式碼合併(Code Merge) 提早確認衝突(特別是在微服務的架構下),將可確保彼此服務的關連性,並有助於整體專案的管理效能。Therefore, in the early stages of development, early recognition of the interdependence of related interfaces, completion of code merge (Code Merge) and early confirmation of conflicts (especially under the microservice architecture) will ensure the interconnection of each other's services and help The overall project management efficiency.

有鑑於此,本發明提供一種敏捷式專案管理方法及伺服器,其可用於解決上述技術問題。In view of this, the present invention provides an agile project management method and server, which can be used to solve the above technical problems.

本發明提供一種敏捷式專案管理方法,適於一敏捷式專案管理伺服器,包括:取得一專案管理里程碑,其中專案管理里程碑包括多個故事任務,各故事任務具有一故事任務代碼且包括分布於至少一專案遞交樹上的多個程式碼節點,各故事任務的各程式碼節點在被遞交至一程式碼儲存庫時經指派有一遞交序號及對應的故事任務代碼;判斷屬於專案管理里程碑的前述任務故事是否皆已完成;反應於判定專案管理里程碑的前述任務故事皆已完成,從至少一專案遞交樹上個別取得各故事任務在各專案遞交樹上的一特定程式碼節點,其中各故事任務在各專案遞交樹上的特定程式碼節點在所屬的至少一專案遞交樹上具有一屬於該故事任務的最新遞交序號;基於各故事任務在各專案遞交樹上的特定程式碼節點建立對應於專案管理里程碑的一程式碼製造物。The present invention provides an agile project management method suitable for an agile project management server, including: obtaining a project management milestone, wherein the project management milestone includes multiple story tasks, and each story task has a story task code and includes distributed At least one project submission tree has multiple code nodes. Each code node of each story task is assigned a submission serial number and corresponding story task code when it is submitted to a code repository; the aforementioned items are judged to belong to the project management milestone Whether all the task stories have been completed; the aforementioned task stories that reflect the project management milestones have been completed. Obtain each story task individually from at least one project submission tree. A specific code node on each project submission tree, including each story task The specific code node in each project submission tree has a latest submission sequence number belonging to the story task in at least one project submission tree to which it belongs; the specific code node corresponding to the project is created based on each story task in each project submission tree A code artifact that manages milestones.

本發明提供一種敏捷式專案管理伺服器,包括版控管理元件及遞交管理記錄引擎。版控管理元件經配置以:取得一專案管理里程碑,其中專案管理里程碑包括多個故事任務,各故事任務具有一故事任務代碼且包括分布於至少一專案遞交樹上的多個程式碼節點,各故事任務的各程式碼節點在被遞交至一程式碼儲存庫時經指派有一遞交序號及對應的故事任務代碼;判斷屬於專案管理里程碑的前述任務故事是否皆已完成。遞交管理記錄引擎經配置以:反應於版控管理元件判定專案管理里程碑的前述任務故事皆已完成,從至少一專案遞交樹上個別取得各故事任務在各專案遞交樹上的一特定程式碼節點,其中各故事任務在各專案遞交樹上的特定程式碼節點在所屬的至少一專案遞交樹上具有一屬於該故事任務的最新遞交序號;基於各故事任務在各專案遞交樹上的特定程式碼節點建立對應於專案管理里程碑的一程式碼製造物。The invention provides an agile project management server, which includes a version control management component and a submission management record engine. The version control management component is configured to: obtain a project management milestone, where the project management milestone includes multiple story tasks, each story task has a story task code and includes multiple code nodes distributed on at least one project submission tree, each Each code node of the story task is assigned a submission sequence number and a corresponding story task code when it is submitted to a code repository; it is determined whether the aforementioned task stories belonging to the project management milestones have been completed. The submission management record engine is configured to: the aforementioned task stories reflecting the project management milestones determined by the version control management component have been completed, and each story task is individually obtained from at least one project submission tree for a specific code node on each project submission tree , The specific code node of each story task in each project submission tree has a latest submission sequence number belonging to the story task in at least one project submission tree to which it belongs; based on the specific code of each story task in each project submission tree The node creates a code artifact corresponding to the project management milestone.

為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail in conjunction with the accompanying drawings.

概略而言,本發明提供一種在微服務架構下實現智慧型版本控制(簡稱版控)的機制,其可用以讓研發人員能夠提早解決程式碼衝突。當服務之間存在相依性時,本發明能夠智慧地選出合適的遞交結果進行打包,以整體服務專案管理的角度,自動化對齊各微服務專案之進度,無論是否存在相依性,進而提早解決程式碼衝突,確保符合需求規格和快速收斂產品品質。以下將作進一步說明。In summary, the present invention provides a mechanism for implementing intelligent version control (version control for short) under a microservice architecture, which can be used to enable developers to resolve code conflicts early. When there are dependencies between services, the present invention can intelligently select appropriate submission results for packaging, and automatically align the progress of each microservice project from the perspective of overall service project management, regardless of whether there is a dependency, and solve the code earlier Conflict, to ensure compliance with demand specifications and rapid convergence of product quality. This will be further explained below.

請參照圖1,其是依據本發明之一實施例繪示的敏捷式專案管理伺服器示意圖。在本實施例中,敏捷式專案管理伺服器100可提供敏捷式軟體暨微服務架構下整體服務專案管理,協助專案管理員自動化對齊各微服務專案之進度,並讓研發人員提早解決程式碼衝突。Please refer to FIG. 1, which is a schematic diagram of an agile project management server according to an embodiment of the present invention. In this embodiment, the agile project management server 100 can provide overall service project management under agile software and microservice architecture, assist project managers to automatically align the progress of each microservice project, and allow developers to resolve code conflicts early .

如圖1所示,敏捷式專案管理伺服器100可包括使用者介面101、專案管理元件102、版控管理元件103及遞交記錄管理引擎104。使用者介面101可用來提供圖形化介面及應用程式介面(application programming interface,API)給系統使用者。專案管理元件102可用來進行專案任務創建管理,使用者故事(user story)的定義、故事任務規劃、專案管理里程碑管理及各故事任務相關程式碼節點的遞交序號(Commit ID)等。版控管理元件103可用來管理原始程式碼、審查協同開發的程式碼,確保專案源碼品質合乎規範。As shown in FIG. 1, the agile project management server 100 may include a user interface 101, a project management component 102, a version control management component 103 and a submission record management engine 104. The user interface 101 can be used to provide a graphical interface and an application programming interface (API) to system users. The project management component 102 can be used to perform project task creation management, user story definition, story task planning, project management milestone management, and submission serial numbers (Commit ID) of code nodes related to each story task. The version control management component 103 can be used to manage the source code and review the collaboratively developed code to ensure that the quality of the project source code meets the specifications.

在本發明的實施例中,版控管理元件103例如是基於Git的Gitlab元件,但可不限於此。在其他實施例中,版控管理元件103亦可實現為其他分散式版控元件。In the embodiment of the present invention, the version control management component 103 is, for example, a Gitlab component based on Git, but it may not be limited thereto. In other embodiments, the version control management component 103 can also be implemented as other distributed version control components.

在本發明的實施例中,在研發人員完成所需的程式碼開發之後,可將此程式碼以程式碼節點的形式遞交(commit)至程式碼儲存庫(code repository)。在一實施例中,程式碼儲存庫可包括對應於不同專案(例如,微服務專案)的專案遞交樹(commit tree),而各專案遞交樹上可包括對應於一或多個故事任務的一或多個程式碼節點。In the embodiment of the present invention, after the developer completes the required code development, the code can be submitted (commit) to the code repository in the form of a code node. In one embodiment, the code repository may include project commit trees corresponding to different projects (for example, microservice projects), and each project submission tree may include one corresponding to one or more story tasks. Or multiple code nodes.

在一實施例中,在研發人員合併(merge)程式碼和遞交程式碼至程式碼儲存庫(code repository)之前,需解決程式碼異動的部分。當Git無法判斷異動的部分時,即代表產生程式碼衝突,而研發人員需解決該衝突。如果程式碼衝突發生的時間點越接近研發後期,則相關的解決複雜度愈高。因此,本發明可透過所提出的敏捷式專案管理伺服器100的遞交記錄管理引擎104來協助提早解決程式碼衝突,而相關細節將在之後詳述。In one embodiment, before the developer merges the code and submits the code to the code repository, the changed part of the code needs to be resolved. When Git cannot determine the changed part, it means that a code conflict occurs, and the developer needs to resolve the conflict. If the code conflict occurs closer to the later stage of development, the complexity of the related resolution is higher. Therefore, the present invention can assist the early resolution of code conflicts through the submission record management engine 104 of the proposed agile project management server 100, and the relevant details will be detailed later.

在一實施例中,為提供敏捷式專案管理伺服器100的相關智能化管理能力,研發人員需實施圖2繪示的將程式碼關連至敏捷式專案管理伺服器100的方法。In one embodiment, in order to provide the relevant intelligent management capabilities of the agile project management server 100, the researcher needs to implement the method of associating the code to the agile project management server 100 as shown in FIG. 2.

大致上而言,圖2方法與敏捷式專案管理伺服器100中的專案管理元件102和版控管理元件103相關,而其個別相關的步驟已以虛線標示於圖2中,但本發明可能的實施方式不限於此。Roughly speaking, the method in FIG. 2 is related to the project management component 102 and the version control management component 103 in the agile project management server 100, and the individual related steps are shown in dashed lines in FIG. 2, but the present invention is possible The embodiment is not limited to this.

首先,在步驟S210中,研發人員可在專案管理元件102選擇專案管理員指派之故事任務,並在步驟S220中開始實作故事任務相關的程式碼。在本發明的實施例中,各故事任務可經指派有對應的故事任務代碼。First, in step S210, the researcher can select the story task assigned by the project manager in the project management component 102, and start to implement the code related to the story task in step S220. In the embodiment of the present invention, each story task may be assigned a corresponding story task code.

在完成故事任務的程式碼開發之後,研發人員可試圖遞交其研發的成果至程式碼儲存庫。此時,研發人員可先執行步驟S230以透過版控管理元件103進行程式碼審查。例如,研發團隊可採配對編程的方式確保程式碼是否符合故事任務和所需品質。之後,研發人員可執行步驟S240以合併異動之程式碼,如果此時發生程式碼衝突(步驟S250),則研發人員需先於步驟S260中排除各種程式碼衝突。在完成程式碼的合併之後,研發人員即可將程式碼遞交至程式碼儲存庫。在此過程中,程式碼審查員和研發人員並不需要考量其他相依專案的進度,遞交記錄管理引擎104即可在後續階段中自動對齊各微服務專案之進度,因此可加速程式碼審查流程和提早解決程式碼衝突。After completing the code development of the story task, developers can try to submit their research and development results to the code repository. At this time, the R&D personnel can first perform step S230 to perform code review through the version control management component 103. For example, the R&D team can use paired programming to ensure that the code meets the task of the story and the required quality. After that, the developer can perform step S240 to merge the changed code. If a code conflict occurs at this time (step S250), the developer must first eliminate various code conflicts in step S260. After completing the merging of the code, the developer can submit the code to the code repository. In this process, code reviewers and developers do not need to consider the progress of other dependent projects. Submitting the record management engine 104 can automatically align the progress of each microservice project in the subsequent stages, thus speeding up the code review process and Resolve code conflicts early.

在開發人員將其針對某故事任務所開發的程式碼作為程式碼節點而遞交至對應的專案遞交樹上時,需將此程式碼節點綁定所屬的故事任務代碼(步驟S270)。之後,版控管理元件103可針對此程式碼節點產生對應的遞交序號(步驟S280)並透過專案管理元件102予以記錄,進而將遞交序號關連於故事任務代碼(步驟S290)。如此一來,各專案遞交樹上可包括屬於相同或不同故事任務的程式碼節點,而各程式碼節點將被綁定所屬的故事任務代碼,並可經指派有專屬的遞交序號,但本發明可不限於此。When the developer submits the code developed for a certain story task as a code node to the corresponding project submission tree, the code node needs to be bound to the story task code to which it belongs (step S270). After that, the version control management component 103 can generate a corresponding submission sequence number for the code node (step S280) and record it through the project management component 102, and then associate the submission sequence number with the story task code (step S290). In this way, each project submission tree can include code nodes belonging to the same or different story tasks, and each code node will be bound to the story task code to which it belongs, and can be assigned a unique submission sequence number. However, the present invention It is not limited to this.

之後,當專案管理員和版控人員準備定版時,本發明的敏捷式專案管理伺服器100即可執行所提出的敏捷式專案管理方法,以達成智慧型版控的目的,具體說明如下。After that, when the project manager and version control personnel prepare to finalize the version, the agile project management server 100 of the present invention can execute the proposed agile project management method to achieve the purpose of smart version control, which is described in detail as follows.

請參照圖3,其是依據本發明之一實施例繪示的敏捷式專案管理方法,其可由圖1的敏捷式專案管理伺服器100執行,以下即搭配圖1的內容說明圖3各步驟的細節。Please refer to FIG. 3, which is an agile project management method according to an embodiment of the present invention, which can be executed by the agile project management server 100 of FIG. 1. The following is a description of each step of FIG. 3 with the content of FIG. 1. detail.

首先,在步驟S310中,版控管理元件103可取得專案管理里程碑。在一實施例中,此專案管理里程碑例如是專案管理員及/或版控人員從使用者介面101中所選擇的欲進行定版的專案管理里程碑,其可包括多個故事任務。如先前實施例所提及的,各故事任務可具有故事任務代碼,且可包括分布於一或多個專案遞交樹(其個別對應於一個專案)上的多個程式碼節點。此外,各故事任務的各程式碼節點在被開發人員遞交至程式碼儲存庫時,版控管理元件103可對各程式碼節點指派遞交序號及綁定所屬的故事任務代碼。First, in step S310, the version control management component 103 can obtain project management milestones. In one embodiment, the project management milestone is, for example, the project management milestone selected by the project manager and/or the version controller from the user interface 101 to be finalized, and it may include multiple story tasks. As mentioned in the previous embodiment, each story task may have a story task code, and may include multiple code nodes distributed on one or more project submission trees (which respectively correspond to one project). In addition, when each code node of each story task is submitted to the code repository by the developer, the version control management component 103 can assign a submission sequence number to each code node and bind the story task code to which it belongs.

之後,在步驟S320中,版控管理元件103可判斷屬於上述專案管理里程碑的任務故事是否皆已完成。在一實施例中,步驟S320可理解為判斷研發人員是否已將各任務故事所需開發的程式碼遞交至程式碼儲存庫的專案遞交樹上,但本發明可不限於此。After that, in step S320, the version control management component 103 can determine whether all the task stories belonging to the above project management milestones have been completed. In one embodiment, step S320 can be understood as determining whether the developer has submitted the code that needs to be developed for each task story to the project submission tree of the code repository, but the present invention is not limited to this.

若屬於上述專案管理里程碑的各任務故事尚未完成,即代表專案管理里程碑可能因所需的功能尚未完成開發而不適於進行定版。在此情況下,版控管理元件103可依據專案管理員及/或版控人員的選擇而調整或放棄專案里程碑(步驟S350)。舉例而言,若專案管理員選擇暫時排除尚未完成的故事任務,則版控管理元件103可基於已完成的故事任務接續執行後續的操作。舉另一例而言,若專案管理員認為需待所有的故事任務皆完成後再行定版,則可在使用者介面101上選擇暫時放棄此專案里程碑(例如延後定版的時程)。在此情況下,版控管理元件103即可相應地放棄此專案里程碑,以中斷相關的定版操作,但本發明可不限於此。If the task stories belonging to the above project management milestones have not been completed, it means that the project management milestones may not be suitable for finalization because the required functions have not yet been developed. In this case, the version control management component 103 can adjust or abandon the project milestone according to the selection of the project manager and/or the version control personnel (step S350). For example, if the project manager chooses to temporarily exclude unfinished story tasks, the version control management component 103 may continue to perform subsequent operations based on the completed story tasks. For another example, if the project manager thinks that all story tasks need to be completed before finalizing the version, he can choose to temporarily abandon the project milestone on the user interface 101 (for example, postpone the schedule of finalization). In this case, the version control management component 103 can accordingly abandon the project milestone to interrupt the relevant version setting operation, but the present invention is not limited to this.

另一方面,若版控管理元件103判定上述專案管理里程碑的各任務故事皆已完成,此即代表上述專案管理里程碑已適於被用來定版。在此情況下,遞交記錄管理引擎104可執行步驟S330以從前述專案遞交樹上個別取得各故事任務在各專案遞交樹上的特定程式碼節點,其中各故事任務在各專案遞交樹上的特定程式碼節點在所屬的專案遞交樹上具有屬於該故事任務的最新遞交序號。On the other hand, if the version control management component 103 determines that all the task stories of the above project management milestones have been completed, it means that the above project management milestones are suitable to be used to finalize the version. In this case, the submission record management engine 104 may perform step S330 to individually obtain the specific code node of each story task in each project submission tree from the aforementioned project submission tree, where each story task is specific to each project submission tree. The code node has the latest submission sequence number belonging to the story task in the project submission tree to which it belongs.

為便於理解上述概念,以下另輔以一實例進行說明。在一實施例中,假設上述專案管理里程碑的故事任務中包括一第一故事任務,而其包括分布於上述專案遞交樹的一或多者上的多個第一程式碼節點。依先前實施例的教示,各第一程式碼節點在被遞交時皆經版控管理元件103指派有上述第一故事任務的故事任務代碼以及不同的遞交序號。In order to facilitate the understanding of the above concepts, an example is supplemented below for description. In one embodiment, it is assumed that the story task of the project management milestone includes a first story task, and it includes a plurality of first code nodes distributed on one or more of the project submission tree. According to the teaching of the previous embodiment, each first code node is assigned the story task code of the first story task and a different submission sequence number through the version control management component 103 when it is submitted.

假設上述專案遞交樹包括對應於一第一(微服務)專案的一第一專案遞交樹,則遞交記錄管理引擎104可在第一專案遞交樹找出對應於第一故事任務的特定程式碼節點。具體而言,遞交記錄管理引擎104可在第一專案遞交樹上找出屬於第一故事任務的第一程式碼節點及其個別的遞交序號。之後,遞交記錄管理引擎104可在第一專案遞交樹上屬於第一故事任務的第一程式碼節點中,找出具有最新的遞交序號的一者作為第一故事任務在第一專案遞交樹上的特定程式碼節點。Assuming that the above project submission tree includes a first project submission tree corresponding to a first (microservice) project, the submission record management engine 104 can find the specific code node corresponding to the first story task in the first project submission tree . Specifically, the submission record management engine 104 can find the first code node belonging to the first story task and its individual submission sequence number on the first project submission tree. After that, the submission record management engine 104 can find the one with the latest submission sequence number among the first code nodes belonging to the first story task on the first project submission tree as the first story task on the first project submission tree The specific code node.

此外,另假設上述專案遞交樹更包括對應於一第二(微服務)專案的一第二專案遞交樹,則遞交記錄管理引擎104可在第二專案遞交樹找出對應於第一故事任務的特定程式碼節點。具體而言,遞交記錄管理引擎104可在第二專案遞交樹上找出屬於第一故事任務的第一程式碼節點及其個別的遞交序號。之後,遞交記錄管理引擎104可在第二專案遞交樹上屬於第一故事任務的第一程式碼節點中,找出具有最新的遞交序號的一者作為第一故事任務在第二專案遞交樹上的特定程式碼節點。In addition, assuming that the above-mentioned project submission tree further includes a second project submission tree corresponding to a second (microservice) project, the submission record management engine 104 can find the task corresponding to the first story task in the second project submission tree. Specific code node. Specifically, the submission record management engine 104 can find the first code node belonging to the first story task and its individual submission sequence number in the second project submission tree. After that, the submission record management engine 104 can find the first code node belonging to the first story task in the second project submission tree and find the one with the latest submission sequence number as the first story task on the second project submission tree The specific code node.

簡言之,對於具有屬於某故事任務的程式碼節點的任一專案遞交樹而言,遞交記錄管理引擎104皆可在此專案遞交樹上找出對應於上述故事任務的特定程式碼節點。In short, for any project submission tree that has a code node belonging to a certain story task, the submission record management engine 104 can find the specific code node corresponding to the aforementioned story task in the project submission tree.

由上可知,對於各故事任務而言,遞交記錄管理引擎104皆可在各專案遞交樹上找出對應各故事任務的特定程式碼節點。It can be seen from the above that for each story task, the submission record management engine 104 can find a specific code node corresponding to each story task in each project submission tree.

之後,在步驟S340中,遞交記錄管理引擎104可基於各故事任務在各專案遞交樹上的特定程式碼節點建立對應於專案管理里程碑的程式碼製造物(artifact)。在一實施例中,遞交記錄管理引擎104可取得各故事任務的特定程式碼節點對應的程式碼,並據以編繹(compile)為對應於上述專案管理里程碑的程式碼製造物。此步驟的細節可參照現有技術中與編繹有關的技術文獻,於此不另贅述。After that, in step S340, the submission record management engine 104 may create a code artifact corresponding to the project management milestone based on the specific code node of each story task in each project submission tree. In one embodiment, the submission record management engine 104 can obtain the code corresponding to the specific code node of each story task, and compile it into a code artifact corresponding to the aforementioned project management milestone. For the details of this step, please refer to technical documents related to compilation in the prior art, and will not be repeated here.

由上可知,透過遞交記錄管理引擎104,研發人員可以在完成故事任務的程式碼開發時,直接合併並遞交程式碼,而無須考量整體專案之進度。如發生程式碼衝突,即可在研發前期,提早解決。在微服務的架構下,單一服務可能僅有少數人進行開發(甚或僅有執行配對編程的團隊),故可能早已完成程式碼審查。It can be seen from the above that through the submission record management engine 104, developers can directly merge and submit the code when completing the code development of the story task, without having to consider the progress of the overall project. If code conflicts occur, they can be resolved early in the early stages of development. Under the structure of microservices, a single service may be developed by only a few people (or even a team that performs pairing programming), so the code review may have already been completed.

透過本發明所提出的方法,開發人員即可不需擔心整體專案進度和其相依性,而可以立即遞交程式碼。藉此,本發明可自動地對齊各微服務專案之進度,從而有助於加速開發人員的程式碼審查流程,並提早解決程式碼衝突。並且,在微服務架構下,本發明可降低專案管理者和開發人員整合各項專案的複雜度,從而確保符合需求規格和快速收斂產品品質。With the method proposed by the present invention, developers can submit code immediately without worrying about the overall project progress and its dependencies. In this way, the present invention can automatically align the progress of each microservice project, thereby helping to speed up the code review process of developers and resolve code conflicts early. Moreover, under the microservice architecture, the present invention can reduce the complexity of integrating various projects by project managers and developers, thereby ensuring compliance with demand specifications and rapid convergence of product quality.

綜上所述,本發明提供一種敏捷式專案管理方法及伺服器,其有助於研發人員提早解決程式碼衝突。並且,當服務之間存在相依性時,本發明能夠智慧地選出合適的遞交結果(即,各任務故事在各專案遞交樹上的特定程式碼節點)並進行打包。以整體服務專案管理的角度,本發明可自動地對齊各微服務專案之進度,進行後續整合測試和驗證,確保符合需求規格和快速收斂產品品質。In summary, the present invention provides an agile project management method and server, which help developers to resolve code conflicts early. Moreover, when there are dependencies between services, the present invention can intelligently select appropriate delivery results (that is, specific code nodes of each task story in each project submission tree) and package them. From the perspective of overall service project management, the present invention can automatically align the progress of each microservice project, perform subsequent integration tests and verifications, and ensure compliance with demand specifications and rapid convergence of product quality.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the relevant technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The protection scope of the present invention shall be subject to those defined by the attached patent application scope.

100:敏捷式專案管理伺服器 101:使用者介面 102:專案管理元件 103:版控管理元件 104:遞交記錄管理引擎 S210~S290、S310~S350:步驟 100: Agile project management server 101: User Interface 102: Project management component 103: Version control management components 104: Submit the record management engine S210~S290, S310~S350: steps

圖1是依據本發明之一實施例繪示的敏捷式專案管理伺服器示意圖。 圖2是依據本發明之一實施例繪示的將程式碼關連至敏捷式專案管理伺服器的方法。 圖3是依據本發明之一實施例繪示的敏捷式專案管理方法。 FIG. 1 is a schematic diagram of an agile project management server according to an embodiment of the present invention. FIG. 2 is a method for associating code to an agile project management server according to an embodiment of the present invention. Fig. 3 is an agile project management method according to an embodiment of the present invention.

S310~S350:步驟S310~S350: Steps

Claims (8)

一種敏捷式專案管理方法,適於一敏捷式專案管理伺服器,包括:取得一專案管理里程碑,其中該專案管理里程碑包括多個故事任務,各該故事任務具有一故事任務代碼且包括分布於多個專案遞交樹上的多個程式碼節點,各該故事任務的各該程式碼節點在被遞交至一程式碼儲存庫時經指派有一遞交序號及對應的該故事任務代碼;判斷屬於該專案管理里程碑的該些任務故事是否皆已完成;反應於判定該專案管理里程碑的該些任務故事皆已完成,從該些專案遞交樹上個別取得各該故事任務在各該專案遞交樹上的一特定程式碼節點,其中各該故事任務在各該專案遞交樹上的該特定程式碼節點在所屬的該些專案遞交樹上具有一屬於該故事任務的最新遞交序號,其中該些故事任務包括一第一故事任務,且該第一故事任務包括分布於該些專案遞交樹上的多個第一程式碼節點,且各該第一程式碼節點皆經指派有該第一故事任務的該故事任務代碼以及不同的該遞交序號,其中該些專案遞交樹包括一第一專案遞交樹,且從該些專案遞交樹上個別取得各該故事任務在各該專案遞交樹上的該特定程式碼節點的步驟包括:在該第一專案遞交樹上找出屬於該第一故事任務的該些第一程式碼節點及其個別的該遞交序號;在屬於該第一故事任務的該些第一程式碼節點中找出對 應於該第一故事任務的該特定程式碼節點,其中對應於該第一故事任務的該特定程式碼節點在該第一專案遞交樹中相較於其他的各該第一程式碼節點具有最新的該遞交序號;基於各該故事任務在各該專案遞交樹上的該特定程式碼節點建立對應於該專案管理里程碑的一程式碼製造物。 An agile project management method suitable for an agile project management server, including: obtaining a project management milestone, where the project management milestone includes multiple story tasks, and each story task has a story task code and includes multiple Multiple code nodes on a project submission tree, each code node of each story task is assigned a submission serial number and corresponding story task code when it is submitted to a code repository; it is judged to belong to the project management Whether the mission stories of the milestone are all completed; the mission stories that reflect the determination of the project management milestones are all completed, obtain a specific task of each story task in each project submission tree from the project submission tree individually Code node, where the specific code node of each story task in each project submission tree has a latest submission sequence number belonging to the story task in the project submission tree to which the story task belongs, and the story tasks include a first A story task, and the first story task includes a plurality of first code nodes distributed on the project submission trees, and each of the first code nodes is assigned the story task code of the first story task And different submission serial numbers, where the project submission trees include a first project submission tree, and from the project submission trees, the steps of each story task at the specific code node on each project submission tree are individually obtained Including: finding the first code nodes belonging to the first story task and their individual submission sequence numbers on the first project submission tree; among the first code nodes belonging to the first story task Find the right The specific code node corresponding to the first story task, where the specific code node corresponding to the first story task has the latest in the first project submission tree compared to the other first code nodes The submission sequence number of the; based on each story task, create a code artifact corresponding to the project management milestone in the specific code node on each project submission tree. 如申請專利範圍第1項所述的方法,其中該各該專案遞交樹對應於一微服務專案。 For the method described in item 1 of the scope of patent application, each of the project submission trees corresponds to a microservice project. 如申請專利範圍第1項所述的方法,其中反應於判定該專案管理里程碑的該些任務故事未皆完成,所述方法更包括:放棄該專案管理里程碑,或調整該專案管理里程碑中的該些故事任務的至少其中之一。 For example, the method described in item 1 of the scope of patent application, wherein the task stories reflecting the determination of the project management milestones are not completed, the method further includes: abandoning the project management milestones, or adjusting the project management milestones At least one of these story missions. 如申請專利範圍第1項所述的方法,其中基於各該故事任務在各該專案遞交樹上的該特定程式碼節點建立對應於該專案管理里程碑的該程式碼製造物的步驟包括:取得各該故事任務在各該專案遞交樹上的該特定程式碼節點對應的一程式碼,並據以編繹為對應於該專案管理里程碑的該程式碼製造物。 For example, in the method described in item 1 of the scope of patent application, the step of creating the code artifact corresponding to the project management milestone on the specific code node on each project submission tree based on each of the story tasks includes: obtaining each The story task is a code corresponding to the specific code node on the project submission tree, and is compiled accordingly into the code manufacture corresponding to the project management milestone. 一種敏捷式專案管理伺服器,包括:一版控管理元件,其經配置以:取得一專案管理里程碑,其中該專案管理里程碑包括多個故事任務,各該故事任務具有一故事任務代碼且包括分布於多個專案遞交樹上的多個程式碼節點,各該故事任務的各該程式碼 節點在被遞交至一程式碼儲存庫時經指派有一遞交序號及對應的該故事任務代碼;判斷屬於該專案管理里程碑的該些任務故事是否皆已完成;一遞交管理記錄引擎,其經配置以:反應於該版控管理元件判定該專案管理里程碑的該些任務故事皆已完成,從該些專案遞交樹上個別取得各該故事任務在各該專案遞交樹上的一特定程式碼節點,其中各該故事任務在各該專案遞交樹上的該特定程式碼節點在所屬的該些專案遞交樹上具有一屬於該故事任務的最新遞交序號,其中該些故事任務包括一第一故事任務,且該第一故事任務包括分布於該些專案遞交樹上的多個第一程式碼節點,且各該第一程式碼節點皆經指派有該第一故事任務的該故事任務代碼以及不同的該遞交序號,其中該些專案遞交樹包括一第一專案遞交樹,且該遞交管理記錄引擎經配置以:在該第一專案遞交樹上找出屬於該第一故事任務的該些第一程式碼節點及其個別的該遞交序號;在屬於該第一故事任務的該些第一程式碼節點中找出對應於該第一故事任務的該特定程式碼節點,其中對應於該第一故事任務的該特定程式碼節點在該第一專案遞交樹中相較於其他的各該第一程式碼節點具有最新的該遞交序號;基於各該故事任務在各該專案遞交樹上的該特定程式碼 節點建立對應於該專案管理里程碑的一程式碼製造物。 An agile project management server, including: a version control management component, which is configured to: obtain a project management milestone, wherein the project management milestone includes a plurality of story tasks, each of the story tasks has a story task code and includes distribution Multiple code nodes on the tree for multiple project submissions, each code for each story task When a node is submitted to a code repository, it is assigned a submission sequence number and the corresponding story task code; it is determined whether the task stories belonging to the project management milestone are all completed; a submission management record engine is configured to : The task stories that reflect the project management milestones determined by the version control management component have been completed. Obtain the specific code nodes of each story task in each project submission tree from the project submission trees. The specific code node of each story task in each project submission tree has a latest submission sequence number belonging to the story task in the project submission tree to which it belongs, wherein the story tasks include a first story task, and The first story task includes a plurality of first code nodes distributed on the project submission trees, and each of the first code nodes is assigned the story task code of the first story task and a different submission Serial number, where the project submission trees include a first project submission tree, and the submission management record engine is configured to: find the first code nodes belonging to the first story task on the first project submission tree And its individual submission sequence number; find the specific code node corresponding to the first story task among the first code nodes belonging to the first story task, where the specific code node corresponding to the first story task The specific code node in the first project submission tree has the latest submission sequence number compared to the other first code nodes; based on the specific code in each project submission tree for each story task The node creates a code artifact corresponding to the project management milestone. 如申請專利範圍第5項所述的敏捷式專案管理伺服器,其中該各該專案遞交樹對應於一微服務專案。 For example, in the agile project management server described in item 5 of the scope of patent application, each project submission tree corresponds to a microservice project. 如申請專利範圍第5項所述的敏捷式專案管理伺服器,其中反應於判定該專案管理里程碑的該些任務故事未皆完成,該版控管理元件更經配置以:放棄該專案管理里程碑,或調整該專案管理里程碑中的該些故事任務的至少其中之一。 For example, the agile project management server described in item 5 of the scope of patent application, in which all the task stories that reflect the determination of the project management milestone are not completed, the version control management component is further configured to: abandon the project management milestone, Or adjust at least one of the story tasks in the project management milestone. 如申請專利範圍第5項所述的敏捷式專案管理伺服器,其中該遞交管理記錄引擎經配置以:取得各該故事任務在各該專案遞交樹上的該特定程式碼節點對應的一程式碼,並據以編繹為對應於該專案管理里程碑的該程式碼製造物。 For example, the agile project management server described in item 5 of the scope of patent application, wherein the submission management record engine is configured to: obtain a code corresponding to the specific code node of each story task in each project submission tree , And compile it into the code artifact corresponding to the project management milestone.
TW108145418A 2019-12-12 2019-12-12 Agile project management method and server TWI732380B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108145418A TWI732380B (en) 2019-12-12 2019-12-12 Agile project management method and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108145418A TWI732380B (en) 2019-12-12 2019-12-12 Agile project management method and server

Publications (2)

Publication Number Publication Date
TW202123106A TW202123106A (en) 2021-06-16
TWI732380B true TWI732380B (en) 2021-07-01

Family

ID=77516968

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108145418A TWI732380B (en) 2019-12-12 2019-12-12 Agile project management method and server

Country Status (1)

Country Link
TW (1) TWI732380B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201108134A (en) * 2009-08-31 2011-03-01 Innovation Planning Co Ltd Project management information system
US20130006687A1 (en) * 2011-07-01 2013-01-03 The Go Daddy Group, Inc. Creating a sub-story for a project story board
US20130339932A1 (en) * 2009-05-08 2013-12-19 Robert Holler Methods and Systems for Reporting on Build Runs in Software Development
CN109978392A (en) * 2019-03-29 2019-07-05 携程旅游网络技术(上海)有限公司 Agile Software Development management method, device, electronic equipment, storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339932A1 (en) * 2009-05-08 2013-12-19 Robert Holler Methods and Systems for Reporting on Build Runs in Software Development
TW201108134A (en) * 2009-08-31 2011-03-01 Innovation Planning Co Ltd Project management information system
US20130006687A1 (en) * 2011-07-01 2013-01-03 The Go Daddy Group, Inc. Creating a sub-story for a project story board
CN109978392A (en) * 2019-03-29 2019-07-05 携程旅游网络技术(上海)有限公司 Agile Software Development management method, device, electronic equipment, storage medium

Also Published As

Publication number Publication date
TW202123106A (en) 2021-06-16

Similar Documents

Publication Publication Date Title
JP7090778B2 (en) Impact analysis
US10296305B2 (en) Method and device for the automated production and provision of at least one software application
CN107506442B (en) Modeling method and device of model
US8683431B2 (en) Applying rules to data
EP2369502A2 (en) SQL generation
US20070038492A1 (en) Model for process and workflows
CN106845741A (en) The customization device and customization method of workflow
CN109901872A (en) A kind of IT application in enterprises series of products version pipe control method
Agarwal Continuous scrum: agile management of saas products
CN111124636A (en) Process arrangement engine and control method thereof
CN112131315A (en) Database synchronization method and device under multi-task parallel development
CN115796770A (en) Technical state change processing method and device, computer equipment and storage medium
CN107728996A (en) A kind of GIT branch managements method and device
CN119440517A (en) A method and device for arranging business execution process
Pérez-Castillo et al. Generation of classical-quantum code from uml models
TWI732380B (en) Agile project management method and server
US20120278787A1 (en) Collaborative realtime planning using a model driven architecture and iterative planning tools
CN115169306A (en) Creating method for rapidly constructing audit batch type form based on dynamic form engine
EP1364329A2 (en) Controlling the creation of process instances in workflow management systems
CN113377497A (en) Service development system based on service virtualization
CN113656154B (en) A state-driven collaborative scheduling method for film and television editing tasks
KR102046622B1 (en) Software service system based on workflow and computer program that performs each step of the system
CN114240379A (en) Approval flow configuration method
US20030028396A1 (en) Method and system for modelling an instance-neutral process step based on attribute categories
Afzal et al. BP-Com: A service mapping tool for rapid development of business processes