Software delivery team operation management system and method
By using the software delivery team operation and management system, and leveraging user interaction, data management, and solution orchestration modules to build an optimization model, the system solves the management difficulties encountered during software delivery and achieves efficient and low-cost project management and decision support.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-23
- Publication Date
- 2026-03-31
AI Technical Summary
The lack of effective management methods during software delivery leads to high project management costs, unreasonable human resource planning, frequent changes in requirements, opaque project progress, and a lack of real-time early warning and data support, making it difficult to make scientific decisions.
Design a software delivery team operation and management system, including a user interaction module, a data management module, and a solution and orchestration module. By constructing an optimized solution and orchestration mathematical model, it assists the software delivery team in optimizing project orchestration plans and provides scientific data support and decision support.
It improved project execution efficiency, reduced management costs, ensured timely and high-quality project delivery, provided detailed decision-making basis and resource allocation reference, and enhanced the operational management level of the software delivery team.
Smart Images

Figure CN121766928A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer and data processing technology, and in particular to a software delivery team operation management system and method. Background Technology
[0002] In an era of rapid advancements in artificial intelligence, big data, and other computer technologies, rapid technological iteration and updates present software delivery teams with complex scenarios such as parallel development of multiple software versions and collaborative design, development, and testing across multiple teams. Currently, software delivery lacks effective management tools, relying heavily on managers to manually schedule development plans, which presents numerous difficulties. For example, in project planning, there is a lack of data management on project ROI and resource input, as well as the absence of standardized and easy-to-use resource input estimation models. Regarding software version scheduling, there is no multi-version scheduling method based on quantitative data; scheduling is often based on a backward curve from the release date, making it impossible to know the project's available capacity. This leads to problems such as unreasonable human resource planning and frequent requirement changes, resulting in high project management costs.
[0003] In process control, there is no real-time display of project delivery status, data updates are not timely, detailed task management rules vary and are not transparent, and reliance on manual collection and organization of progress data is inefficient and inaccurate. Furthermore, the lack of real-time alerts makes it easy to overlook problems and cause delays. There are currently no best practices in the industry for this complex software delivery scenario. Therefore, providing a method and system to assist software delivery managers in controlling software delivery is a problem that needs to be solved.
[0004] In view of this, the present invention is hereby proposed. Summary of the Invention
[0005] The purpose of this invention is to provide a software delivery team operation management system and method that can assist the delivery team in providing strong data support for software delivery, enhance the scientificity and accuracy of delivery decisions, and thus solve the above-mentioned technical problems existing in the prior art.
[0006] The objective of this invention is achieved through the following technical solution: A software delivery team operation management system, comprising: The module comprises a user interaction module, a data management module, and a solution orchestration module; among which... The user interaction module is communicatively connected to the data management module and the solution orchestration module, and can receive software development project orchestration requests and related data input by the user, and transmit the software development project orchestration requests and related data to the data management module; and receive and display the software development project orchestration plan obtained from the data management module. The data management module is communicatively connected to the solver orchestration module, and can store the software development project orchestration request and software development project orchestration related data transmitted by the user interaction module, as well as receive and store the software development project orchestration plan fed back by the solver orchestration module. The solution orchestration module can obtain software development project orchestration requests and related data input by the user interaction module from the data management module, construct an optimized solution orchestration mathematical model that meets the software development orchestration requirements based on the software development project orchestration requests and related data, optimize and solve the optimized solution orchestration mathematical model through a solver to obtain the software development project orchestration plan, and feed the software development project orchestration plan back to the data management module.
[0007] A software delivery team operation management method for the system described in this invention includes: The system's user interaction module receives software development project orchestration requests and related data input by the user, and transmits these requests and data to the data management module; it also receives and displays software development project orchestration plans obtained from the system's data management module. The system's data management module stores the software development project orchestration requests and related data transmitted by the user interaction module, as well as the software development project orchestration plan fed back by the system's solution orchestration module. The system's solving and orchestration module can obtain software development project orchestration requests and related data input by the user interaction module from the data management module. Based on the software development project orchestration requests and related data, an optimized solving and orchestration mathematical model that meets the software development orchestration requirements is constructed. The optimized solving and orchestration mathematical model is then optimized and solved by a solver to obtain the software development project orchestration plan, which is then fed back to the data management module.
[0008] Compared with existing technologies, the software delivery team operation management system and method provided by this invention have the following beneficial effects: By setting up a user interaction module, a data management module, and a solution orchestration module, the system receives software development project orchestration requests and related data from users. It then constructs an optimized solution orchestration mathematical model that meets the software development orchestration requirements. The solver then optimizes and solves the optimized solution orchestration mathematical model to obtain the optimal software development project orchestration plan. This provides strong data support for the delivery team to deliver software and enhances the scientific nature and accuracy of delivery decisions. Attached Figure Description
[0009] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0010] Figure 1 A block diagram of a software delivery team operation management system provided in an embodiment of the present invention.
[0011] Figure 2 A block diagram of the user interaction module of the software delivery team operation management system provided in an embodiment of the present invention.
[0012] Figure 3 A block diagram of the data management module of the software delivery team operation management system provided in an embodiment of the present invention.
[0013] Figure 4 A block diagram of the solution orchestration module of the software delivery team operation management system provided in an embodiment of the present invention.
[0014] Figure 5 A flowchart illustrating the software delivery team operation and management method provided in this embodiment of the invention. Detailed Implementation
[0015] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the specific content of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments, which do not constitute a limitation of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of the present invention.
[0016] First, the following explanations are provided for the terms that may be used in this article: The term "and / or" means that either or both can be achieved simultaneously. For example, X and / or Y means that it includes both "X" or "Y" as well as the three cases of "X and Y".
[0017] The terms "comprising," "including," "containing," "having," or other similar semantic descriptions should be interpreted as non-exclusive inclusion. For example, including a technical feature element (such as raw material, component, ingredient, carrier, dosage form, material, size, part, component, mechanism, device, step, process, method, reaction conditions, processing conditions, parameter, algorithm, signal, data, product or article of manufacture, etc.) should be interpreted as including not only the expressly listed technical feature element, but also other technical feature elements that are not expressly listed and are well-known in the art.
[0018] The term "composed of" excludes any technical features not expressly listed. When used in a claim, it closes the claim to exclude all technical features other than those expressly listed, except for associated conventional impurities. If the term appears only in a clause of a claim, it limits the claim to the elements expressly listed in that clause; elements recited in other clauses are not excluded from the overall claim.
[0019] Unless otherwise explicitly specified or limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this document according to the specific circumstances.
[0020] The terms “center,” “longitudinal,” “lateral,” “length,” “width,” “thickness,” “upper,” “lower,” “front,” “back,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inner,” “outer,” “clockwise,” and “counterclockwise” indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience and simplification of description and do not imply that the device or component referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this document.
[0021] The solution provided by this invention will be described in detail below. Contents not described in detail in the embodiments of this invention are prior art known to those skilled in the art. Where specific conditions are not specified in the embodiments of this invention, they shall be performed according to conventional conditions in the art or conditions recommended by the manufacturer. Reagents or instruments used in the embodiments of this invention whose manufacturers are not specified are all conventional products that can be purchased commercially.
[0022] like Figure 1 As shown, an embodiment of the present invention provides a software delivery team operation and management system, including: The module comprises a user interaction module, a data management module, and a solution orchestration module; among which... The user interaction module is communicatively connected to the data management module and the solution orchestration module, and can receive software development project orchestration requests and related data input by the user, and transmit the software development project orchestration requests and related data to the data management module; and receive and display the optimal software development project orchestration plan obtained from the data management module. The data management module is communicatively connected to the solver orchestration module, and can store the software development project orchestration request and software development project orchestration related data transmitted by the user interaction module, as well as receive and store the software development project orchestration plan fed back by the solver orchestration module. The solution orchestration module can obtain software development project orchestration requests and related data input by the user interaction module from the data management module, construct an optimized solution orchestration mathematical model that meets the software development orchestration requirements based on the software development project orchestration requests and related data, optimize and solve the optimized solution orchestration mathematical model through a solver to obtain the software development project orchestration plan, and feed the software development project orchestration plan back to the data management module.
[0023] See Figure 1 In the above system, the user interaction module mainly provides a graphical interface for users to interact with the system. Through the user interaction module, the following operations with the data management module can be achieved: (A1) Add, delete, modify, and query software delivery teams and their attributes; (A2) Add, delete, modify, and query software development projects and their attributes; (A3) Initiate software development project orchestration requests. The data management module is mainly used for: (B1) receiving, updating, and storing software delivery teams and their attributes; (B2) receiving, updating, and storing software development projects and their attributes; (B3) receiving and sending software development project orchestration plans to the user interaction module; (B4) receiving and sending software development project orchestration requests to the solution orchestration module; (B5) receiving query requests from the user interaction module and sending query results, such as: (D1) returning the updated software delivery teams and their attributes; (D2) returning the updated software development projects and their attributes; (D3) returning the solved software development project orchestration plan. The solver orchestration module is mainly used for: (C1) reading software development project orchestration requests and converting them into solver inputs; (C2) setting solver parameters; (C3) solving and generating software development project orchestration plans; and (C4) sending the solution results to the data management module, i.e., returning the software development project orchestration plan to the data management module.
[0024] Preferably, in the above system, the software development project orchestration-related data includes: The data includes basic data for each software project, production capacity data for each software delivery team, actual human resource data for each software delivery team, and human resource cost data for each software delivery team; wherein, the human resource cost data includes the wage coefficient, unit hourly cost, or unit daily cost for each software delivery team.
[0025] Preferably, in the above system, the software development project orchestration-related data includes: The data includes basic data for each software project, production capacity data for each software delivery team, actual human resource data for each software delivery team, and human resource cost data for each software delivery team. The human resource cost data for each software delivery team includes the wage coefficient, unit hourly cost, and unit daily cost for each software delivery team.
[0026] See Figure 2 Preferably, in the above system, the user interaction module includes: a software project management submodule, a software delivery team management submodule, a software delivery development plan management submodule, and a first communication submodule; wherein, The software project management submodule is communicatively connected to the first communication submodule and is equipped with a software project data receiving visualization interface. It can receive the basic data of each software project in the input software development project arrangement related data through the software project information receiving visualization interface, and transmit the basic data of each software project to the data management module through the first communication submodule. The software delivery team management submodule is communicatively connected to the first communication submodule and is equipped with a software delivery team data receiving visualization interface. It can receive the production capacity data of each software delivery team from the software development project arrangement related data input through the software delivery team data receiving visualization interface, and transmit the production capacity data of each software delivery team to the data management module through the first communication submodule. The software delivery development plan management submodule is communicatively connected to the first communication submodule and is equipped with a software delivery development plan information receiving visualization interface. It can receive the actual human resource data of each software delivery team from the input software development project arrangement related data through the software delivery development plan information receiving visualization interface, and transmit the production capacity data of each software delivery team to the data management module through the first communication submodule. The first communication submodule is communicatively connected to the data management module and can transmit data to the data management module and receive data transmitted back by the data management module through the first communication submodule.
[0027] See Figure 3 Preferably, in the above system, the data management module includes: a storage submodule and a second communication submodule; wherein, The storage submodule is communicatively connected to the second communication submodule and can store software development project orchestration requests and related data transmitted by the user interaction module via the second communication submodule, as well as software development project orchestration plans fed back by the solving orchestration module via the second communication submodule.
[0028] See Figure 4 Preferably, in the above system, the solution orchestration module includes: a data preprocessing submodule, an optimization model modeling submodule, a model optimization solution submodule, a solution result parsing submodule, and a third communication submodule; wherein, The data preprocessing submodule is connected to the data management module via the third communication submodule. It can receive software development project arrangement requests transmitted by the data management module via the third communication submodule and perform data analysis. After filling in missing values according to user preset logic, it performs data pre-calculation and outputs the data required for the optimized solution of the arrangement mathematical model of the solution arrangement module. The optimization model modeling submodule is communicatively connected to the data preprocessing submodule and can convert the processed data output by the data preprocessing submodule into a mathematical modeling file describing the software development project orchestration request that can be recognized by the model optimization solution submodule, based on the optimization solution mathematical model. The model optimization solution submodule is communicatively connected to the optimization model modeling submodule. It can optimize and solve the mathematical modeling file output by the optimization model modeling submodule, and provide a set of arranged solution results according to the optimization objective, under the set solution time and solution result quality constraints. The solution result parsing submodule is communicatively connected to the model optimization solution submodule and to the data management module via the third communication submodule. It can read the orchestration solution results returned by the model optimization solution submodule, convert the orchestration solution results into a solved software development project orchestration plan that can be parsed by the data management module according to a set interface format, and feed the software development project orchestration plan back to the data management module through the third communication submodule.
[0029] Preferably, in the above system, the orchestration solving module constructs an optimized orchestration mathematical model that meets the orchestration requirements of the software development project based on the software development project orchestration request and related data, including: The data management module obtains basic data for each software project, actual human resource data for each software delivery team, and human resource cost data for each software delivery team related to software development project orchestration. Based on the acquired actual human resource data, human resource cost data, and basic data to be compiled, the first, second, third, and fourth quantitative indicators of the model are constructed as follows: (1) For the human resource cost required to complete the project within a given time, construct the first quantitative indicator of the model. for: ; in, This represents the human resource costs required to complete the project within a given timeframe. This represents the collection of all software delivery teams; Indicates the software delivery team index; This represents the corresponding wage coefficient; This indicates the corresponding maximum manpower capacity; (2) For the expected total revenue of completing the project within a given time, construct the second quantitative indicator of the model. for: ; in, This indicates the benefits of integrating all project delivery timelines; Indicates the corresponding delivery time node The basic returns upon completion; Indicates the project delivery timeline. The completion status, when the sum of its values is 1, indicates the delivery time of the software project. Completed; a value of 0 indicates incomplete. This indicates the fluctuation in the revenue coefficient due to the project being completed ahead of schedule or delayed. (3) For each project that is completed ahead of the theoretical latest end time, construct the third quantitative indicator of the model. for: ; in, This indicates the number of days in advance for all delivery milestones. (4) For the upper limit of human resources for each software delivery team, construct the fourth quantitative indicator of the model. for: ; in, This represents the total maximum manpower across all software delivery teams.
[0030] The first quantitative indicator of the model representing cost. The fourth quantitative indicator in the model representing the total upper limit of resources As a minimization term, the second quantitative indicator of the model representing the return will be... The third quantitative indicator in the model represents the number of days ahead of schedule. As the maximization term, the following optimization arrangement mathematical model for minimizing the objective is constructed. ,for: ; Among them, weight , , , All are greater than or equal to 0. Weight , , , The optimization preference levels and strategies (e.g., cost priority, revenue priority, delivery priority, resource balance) provided by the user interaction module are determined by the default values preset by the system.
[0031] Preferably, in the above system, the mathematical model for constructing the optimization solution arrangement can select one or more of the following constraints, each constraint including: (1) The first constraint is the constraint that the delivery time node must be completed: ; in, This represents the project delivery timeline, and the set of delivery timelines is denoted as . ; Representing a discrete point in time (e.g., the first day in a unit of time). The set of discrete time periods is denoted as (days). ; Indicates delivery time node In time The completion status flag variable, when Time indicates the delivery time node In time Completed, when "Time" indicates that the event was not completed within the specified time period. Finish; This represents the set of delivery time points that are not mandatory. For This allows the delivery time node to be not executed or to be executed at most once, thus satisfying the requirement. ;for This delivery timeframe is a mandatory completion point, therefore it meets the requirements. To meet the project's requirements for completion status at delivery time points; (2) The second constraint is the constraint between the delivery time node completion time variable and the completion status identifier variable: ; in, Indicates delivery time node End time / Completion time (units) Consistent); Represents discrete time points; To complete the status flag variable. (Through...) Establish the mathematical relationship between completion time and completion status variables: when the delivery time node... Executed and satisfied When, the above equation degenerates into This will reduce the completion time. Bound to a unique completion time; when And not execute, satisfy When both sides of the above equation are 0, the constraint naturally holds. This ensures that: if the delivery time node... exist If the time is completed, then ,the remaining ,and ; (3) The third constraint is a constraint related to project time parameters: ; in, Indicates delivery time node The start time; Indicates delivery time node End time; Indicates delivery time node Duration / Construction Period and Its unit and discrete time point Consistency (e.g., number of days). Because the execution interval for delivery time nodes is a closed interval. Counting, continuing Each discrete time unit corresponds to ,in" "Used to ensure that the interval length and duration count are consistent; (4) The fourth constraint is the workload input constraint: ; in, This refers to the software delivery team. Indicates the software delivery team index; Represents a set of delivery time points. Indicates the index of the delivery time node; Represents a discrete-time set. Represents a discrete time point. Indicates the software delivery team In time Delivery time nodes The amount of work input (e.g., working hours or person-days); Indicates the software delivery team The workload coefficient is used to convert invested resources into effective workload. ; For time interval identification function, when hour ,otherwise ; Indicates delivery time node For the software delivery team The total workload requirement. This constraint is used to ensure that, within the execution interval of the delivery time node, the cumulative workload invested at each time point matches the workload required for the node; (5) The fifth constraint is a project delivery time dependency constraint: ; in, A set of dependencies representing delivery time points. Indicates delivery time node Depends on delivery time nodes That is, the delivery time node The start date should be later than the delivery date. The completion, This constraint Ensure subsequent nodes The start time is at least later than the predecessor node. The duration of the event is determined to avoid time conflicts; combined with the third constraint. The above constraints are equivalent to This ensures that subsequent nodes only start after the preceding node has completed its task; (6) The sixth constraint is the time interval identifier constraint: ; in, This is an indicator function that takes the value 1 if the condition within the parentheses is true, and 0 otherwise. It is a binary identifier variable used to represent the delivery time node. At any moment Is it within the actual execution period? This constraint makes the execution range of a node explicit, providing a unified basis for determining the time validity of subsequent resource capacity constraints and workload constraints. (7) The seventh constraint is the resource capacity constraint: ; in, Indicates the software delivery team At any moment Delivery time nodes The amount of work involved; when At that time, this investment was included in the software delivery team's budget. At any moment Total resource consumption; Indicates the software delivery team At any moment Available resource capacity, This represents the maximum resource limit for the software delivery team (P); this constraint is used to ensure the software delivery team... At any given moment The total workload for all delivery time points shall not exceed the available resource capacity, and the resource capacity shall not exceed the upper limit of the software delivery team, thereby avoiding resource over-provisioning. (8) The eighth constraint is the workload constraint for the software delivery team: ; in, This is an indicator function used to determine the software delivery team. At any moment Is there a delivery timeline? There is positive workload input; summing all delivery timelines yields the software delivery team. At any moment The number of nodes participating in parallel; For the software delivery team The maximum number of nodes allowed to participate in parallel, i.e., the workload threshold; this constraint is used to limit the software delivery team from being split into too many nodes at the same time, reducing the efficiency loss and delivery risk caused by multitasking switching; (9) The ninth constraint is a time window constraint: ; in, Indicates delivery time node The earliest allowed start time; Indicates delivery time node The latest allowed end time; Indicates delivery time node The actual start time; Indicates delivery time node The actual end time; this constraint is used to ensure that the planned execution interval of each delivery time node falls within its allowed time window, meeting the requirements of business-side milestones, dependency constraints, and release windows; (10) The tenth constraint is a variable value constraint: ; in, Delivery time point The duration, taken as a positive integer; Delivery time point The start time is a natural number. Delivery time point The end time is a natural number; For a binary completion status identifier variable, when Time indicates the delivery time node At any moment Completed, when The time indicates that the task is not yet completed; this constraint, by limiting the range of values for key decision variables, ensures that the optimization solution arrangement mathematical model meets the formal requirements of integer programming and facilitates stable solution by the solver. Several constraints are selected and arranged according to the actual software delivery requirements.
[0032] These solutions provide comprehensive and detailed decision-making support for software delivery and operations management. Project managers can use these results to dynamically adjust and optimize various software development projects, further improving project execution efficiency, reducing costs, and ensuring timely and high-quality project delivery. Simultaneously, these results can also serve as important references for subsequent project planning and resource allocation, continuously improving the overall operational management level of the software delivery team.
[0033] Preferably, in the above system, the orchestration solution module obtains the software development project orchestration plan by optimizing the mathematical model of the orchestration solution through a solver in the following manner: The optimized mathematical model is input into the solver. An optimal solution error limit and a maximum solution time are set. After optimization by the solver's combination, if the set optimal solution error limit is met or the solution time reaches the set maximum solution time, the solver returns a set of solution results, including: (1) Delivery time node start time This timeframe clearly defines the delivery timeline for each software development project. The specific start time is crucial for effectively scheduling a project. Based on this start time, the project team can clearly know when to begin specific tasks, allowing them to prepare in advance for resource allocation and personnel arrangements, thus ensuring the project progresses smoothly and on schedule. For example, if a delivery milestone corresponds to the system testing phase of the software, according to... Testers can be arranged in advance, and test environments and test cases can be prepared.
[0034] (2) Delivery time node end time This timeframe defines each delivery milestone. Completion time. (Through) It can monitor the actual progress of the project and determine if there are any delays. If the actual completion time exceeds... In such cases, it is necessary to analyze the reasons promptly and take corresponding measures for adjustment, such as increasing resource investment and optimizing workflows, to ensure that the entire project can be delivered on time. For example, if the end time of the development and delivery milestone for a certain functional module of the software... If the project has arrived but development is not yet complete, it is necessary to promptly resolve any potential technical challenges or coordinate the participation of more developers.
[0035] (3) Workload data of each software delivery team at each delivery time point This data details each delivery time point. Above, various functional business teams At different times This data details the specific workload input. Using this data, we can accurately assess the contribution of each business team to the project, allocate resources rationally, and avoid situations where some business teams have excessive workloads while others are idle. For example, during the software coding phase, the development business team will have a larger workload input, while the testing business team's workload will be relatively smaller. Personnel arrangements can be dynamically adjusted to improve resource utilization efficiency.
[0036] (4) Labor cost data This data reflects the total human resource expenditure required to complete a project within a given timeframe. This cost information helps project managers control costs and manage budgets, allowing them to rationally select the staffing ratios for each business team while meeting project requirements, thereby reducing costs. For example, if a project's requirement for a specific technology (such as design) is short-term, the design team size can be appropriately increased to address software delivery bottlenecks, thus reducing long-term human resource costs for the software delivery team.
[0037] (5) Project completion status indicator variables ,when When =1, it indicates that the delivery time node has been completed at that time; when When =0, it indicates that the task is not completed. This indicates each delivery time point. This refers to the various software delivery teams. Indicates time. This variable is used to specify each delivery time point. In time The completion status. When When =1, it indicates that the delivery time node has been completed at that time; when A value of 0 indicates that the project is not yet complete. This indicator allows project managers to monitor the overall project progress in real time, promptly identify incomplete milestones, and take steps to resolve them, ensuring that all project delivery milestones are met on schedule.
[0038] In the above system, the solution orchestration module sends the solution results to the data management module, which stores the received software development project orchestration plan. The data management module then sends the received software development project orchestration plan to the user interaction module. The user interaction module displays the received software development project orchestration plan to the user through a graphical user interface and waits for the user to initiate a new software development orchestration request.
[0039] like Figure 5 As shown, embodiments of the present invention also provide a software delivery team operation management method for the above-described system, comprising: The system's user interaction module receives software development project orchestration requests and related data input by the user, and transmits these requests and data to the data management module; it also receives and displays the optimal software development project orchestration plan obtained from the system's data management module. The system's data management module stores the software development project orchestration requests and related data transmitted by the user interaction module, as well as the software development project orchestration plan fed back by the system's solution orchestration module. The system's solving and orchestration module can obtain software development project orchestration requests and related data input by the user interaction module from the data management module. Based on the software development project orchestration requests and related data, an optimized solving and orchestration mathematical model that meets the software development orchestration requirements is constructed. The optimized solving and orchestration mathematical model is then optimized and solved by a solver to obtain the software development project orchestration plan, which is then fed back to the data management module.
[0040] Preferably, in the above method, the user interaction module of the system receives the software development project orchestration request and related data input by the user in the following manner, and transmits the software development project orchestration request and related data to the data management module; and receives the optimal software development project orchestration plan obtained from the data management module of the system, including: Through the software project management submodule of the user interaction module, the basic data of each software project is received through the software project information receiving visualization interface set by the software project management submodule, and the basic data of each software project is transmitted to the data management module through the first communication submodule of the user interaction module. The software delivery team management submodule of the user interaction module receives the production capacity data of each software delivery team through the software delivery team data receiving visualization interface set by the software delivery team management submodule, and transmits the production capacity data of each software delivery team to the data management module through the first communication submodule. Through the software delivery development plan management submodule of the user interaction module, and through the software delivery development plan information receiving visualization interface set by the software delivery development plan management submodule, the actual human resource data of each software delivery team in the input software development project arrangement related data are received, and the production capacity data of each software delivery team are transmitted to the data management module through the first communication submodule. The user interaction module transmits data to the data management module and receives data back from the data management module through its first communication submodule. The storage submodule of the data management module stores the software development project orchestration request and software development project orchestration related data transmitted by the user interaction module and received by the second communication submodule of the data management module, as well as the software development project orchestration plan fed back by the solving orchestration module and received by the second communication submodule. The data preprocessing submodule of the solution orchestration module receives the software development project orchestration request transmitted by the data management module through the third communication submodule of the solution orchestration module and performs data analysis. After filling in the missing values according to the user preset logic, the data is pre-calculated and output as the data required for the optimized solution orchestration mathematical model of the solution orchestration module. The optimization modeling submodule of the solving orchestration module transforms the processed data output by the data preprocessing submodule into a mathematical modeling file that describes the orchestration request of the software development project, which can be recognized by the model optimization solving submodule. The model optimization solution submodule of the solution orchestration module optimizes and solves the mathematical modeling file output by the optimization model modeling submodule, and provides a set of orchestrated solution results based on the optimization objective and within the set time and quality constraints of the solution results. The solution result parsing submodule of the solution orchestration module reads the orchestration solution result returned by the model optimization solution submodule, and converts the orchestration solution result into a solved software development project orchestration plan that can be parsed by the data management module according to a set interface format. The software development project orchestration plan is then fed back to the data management module through the third communication submodule.
[0041] Preferably, in the above method, the orchestration solving module constructs an optimized orchestration mathematical model that meets the orchestration requirements of the software development project based on the software development project orchestration request and related data in the following manner: The data management module obtains the human resource information to be orchestrated, human resource costs, and software development project information related to software development project orchestration. Based on the acquired human resource information to be compiled, human resource costs, and software development project information, the first, second, third, and fourth quantitative indicators of the model are constructed as follows: (1) For the human resource cost required to complete the project within a given time, construct the first quantitative indicator of the model. for: ; in, This represents the human resource costs required to complete the project within a given timeframe. This refers to all software delivery teams; This represents the corresponding wage coefficient; This indicates the corresponding maximum manpower capacity; (2) For the expected total revenue of completing the project within a given time, construct the second quantitative indicator of the model. for: ; in, This indicates the benefits of integrating all project delivery timelines; Indicates the corresponding delivery time node The basic returns upon completion; Indicates the project delivery timeline. The completion status, when its summation is 1, indicates the project's delivery time. Completed; a value of 0 indicates incomplete. This indicates the fluctuation in the revenue coefficient due to the project being completed ahead of schedule or delayed. (3) For each project that is completed ahead of the theoretical latest end time, construct the third quantitative indicator of the model. for: ; in, This indicates the number of days in advance for all delivery milestones. (4) For the upper limit of human resources for each software delivery team, construct the fourth quantitative indicator of the model. for: ; in, This represents the total maximum manpower across all software delivery teams. The first quantitative indicator of the model (Cost) and the fourth quantitative indicator of the model (Total resource limit) is used as the minimization term, and the second quantification index of the model is... (Returns) and the third quantitative indicator of the model (Number of days ahead of schedule) is used as the maximization term, and a unified minimization objective is constructed as the optimization solution mathematical model: ; in ,i=1,2,3,4, and Weight The "optimization preference level / strategy" provided by the user interaction module (e.g., cost priority, benefit priority, delivery priority, resource balance) or the default weight is preset by the system.
[0042] In the method described above, the construction of the optimization solution arrangement mathematical model can select one or more of the following constraints, each constraint including: (1) The first constraint is the constraint that the delivery time node must be completed: ; in, This represents the project delivery timeline, and the set of delivery timelines is denoted as . ; Representing a discrete point in time (e.g., the first day in a unit of time). The set of discrete time periods is denoted as (days). ; Indicates delivery time node In time The completion status flag variable, when Time indicates the delivery time node In time Completed, when "Time" indicates that the event was not completed within the specified time period. Finish; This represents the set of delivery time points that are not mandatory. For This allows the delivery time node to be not executed or to be executed at most once, thus satisfying the requirement. ;for This delivery timeframe is a mandatory completion point, therefore it meets the requirements. To meet the project's requirements for completion status at delivery time points; (2) The second constraint is the constraint between the delivery time node completion time variable and the completion status identifier variable: ; in, Indicates delivery time node End time / Completion time (units) Consistent); Represents discrete time points; To complete the status flag variable. (Through...) Establish the mathematical relationship between completion time and completion status variables: when the delivery time node... Executed and satisfied When, the above equation degenerates into This will reduce the completion time. Bound to a unique completion time; when And not execute, satisfy When both sides of the above equation are 0, the constraint naturally holds. This ensures that: if the delivery time node... exist If the time is completed, then ,the remaining ,and ; (3) The third constraint is a constraint related to project time parameters: ; in, Indicates delivery time node The start time; Indicates delivery time node End time; Indicates delivery time node Duration / Construction Period and Its unit and discrete time point Consistency (e.g., number of days). Because the execution interval for delivery time nodes is a closed interval. Counting, continuing Each discrete time unit corresponds to ,in, Used to ensure that the interval length and duration are consistent in counting; (4) The fourth constraint is the workload input constraint: ; in, This refers to the software delivery team. Indicates the software delivery team index; Represents a set of delivery time points. Indicates the index of the delivery time node; Represents a discrete-time set. Represents a discrete time point. Indicates the software delivery team In time Delivery time nodes The amount of work input (e.g., working hours or person-days); Indicates the software delivery team The workload coefficient is used to convert invested resources into effective workload. ; For time interval identification function, when hour ,otherwise ; Indicates delivery time node For the software delivery team The total workload requirement. This constraint is used to ensure that, within the execution interval of the delivery time node, the cumulative workload invested at each time point matches the workload required for the node; (5) The fifth constraint is a project delivery time dependency constraint: ; in, A set of dependencies representing delivery time points. Indicates delivery time node Depends on delivery time nodes That is, the delivery time node The start date should be later than the delivery date. The completion, This constraint Ensure subsequent nodes The start time is at least later than the predecessor node. The duration of the event is determined to avoid time conflicts; combined with the third constraint. The above constraints are equivalent to This ensures that subsequent nodes only start after the preceding node has completed its task; (6) The sixth constraint is the time interval identifier constraint: ; in, This is an indicator function that takes the value 1 if the condition within the parentheses is true, and 0 otherwise. It is a binary identifier variable used to represent the delivery time node. At any moment Is it within the actual execution period? This constraint makes the execution range of a node explicit, providing a unified basis for determining the time validity of subsequent resource capacity constraints and workload constraints. (7) The seventh constraint is the resource capacity constraint: ; in, Indicates the software delivery team At any moment Delivery time nodes The amount of work involved; when At that time, this investment was included in the software delivery team's budget. At any moment Total resource consumption; Indicates the software delivery team At any moment Available resource capacity, This represents the maximum resource limit for the software delivery team (P); this constraint is used to ensure the software delivery team... At any given moment The total workload for all delivery time points shall not exceed the available resource capacity, and the resource capacity shall not exceed the upper limit of the software delivery team, thereby avoiding resource over-provisioning. (8) The eighth constraint is the workload constraint for the software delivery team: ; in, This is an indicator function used to determine the software delivery team. At any moment Is there a delivery timeline? There is positive workload input; summing all delivery timelines yields the software delivery team. At any moment The number of nodes participating in parallel; For the software delivery team The maximum number of nodes allowed to participate in parallel, i.e., the workload threshold; this constraint is used to limit the software delivery team from being split into too many nodes at the same time, reducing the efficiency loss and delivery risk caused by multitasking switching; (9) The ninth constraint is a time window constraint: ; in, Indicates delivery time node The earliest allowed start time; Indicates delivery time node The latest allowed end time; Indicates delivery time node The actual start time; Indicates delivery time node The actual end time; this constraint is used to ensure that the planned execution interval of each delivery time node falls within its allowed time window, thereby meeting the requirements of business-side milestones, dependency constraints and release windows; (10) The tenth constraint is a variable value constraint: ; in, Delivery time point The duration, taken as a positive integer; Delivery time point The start time is a natural number. Delivery time point The end time is a natural number; For a binary completion status identifier variable, when Time indicates the delivery time node At any moment Completed, when The time indicates that the task is not yet completed; this constraint, by limiting the range of values for key decision variables, ensures that the optimization solution arrangement mathematical model meets the formal requirements of integer programming and facilitates stable solution by the solver. Several constraints are selected and arranged according to the actual software delivery requirements.
[0043] In the method, the software development project orchestration plan is obtained by optimizing the mathematical model of the orchestration solution through the solver using the solver in the following manner: The optimized mathematical model is input into the solver. An optimal solution error limit and a maximum solution time are set. After optimization by the solver's combinatorial algorithm, if the set optimal solution error limit is met or the solution time reaches the set maximum solution time, the solver returns a set of solution results. These results include: the start time of the delivery time node. Delivery timeline end time The workload of each software delivery team at each delivery deadline. Human resource costs Project completion status flag variables ,when When, it indicates that the delivery time node has been completed at that time; when When =0, it indicates that the task is not completed. This indicates each delivery time point. This refers to the various software delivery teams. Indicates time.
[0044] In summary, the system and method provided by the embodiments of the present invention construct an optimized arrangement mathematical model that meets the needs of software development arrangement based on software development project arrangement requests and related data. The optimized arrangement mathematical model can then be optimized and solved using a solver to obtain the optimal software development project arrangement plan. This provides strong data support for the delivery team to deliver software, enhancing the scientific nature and accuracy of delivery decisions.
[0045] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0046] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0047] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0048] Where there is no conflict, the embodiments and features described in this application may be combined with each other.
[0049] Example 1 like Figure 1 As shown, this embodiment provides a software delivery team operation and management system, including: a data management module, a solution orchestration module, and a user interaction module. These modules collaborate to form an organic whole, jointly achieving efficient management of software delivery operations. The user interaction module is responsible for receiving user-inputted software development project orchestration requests and related data, which are then stored in the data management module. As the part directly interacting with the user, this module receives the software development project orchestration requests and related data, including basic data for each software project, production capacity data for each software delivery team, and actual resource status, and transmits this data to the data management module. Simultaneously, when the data management module receives the software development project orchestration plan from the orchestration solution module, the user interaction module, equipped with a graphical user interface (GUI), displays this information to the user. By connecting to the data management module, it acts as an information exchange bridge. Users can intuitively see the orchestration scheme generated by the system, including the schedule of each project and the workload allocation for each software delivery team, facilitating user understanding and decision-making. Furthermore, the user interaction module is always ready to receive new software development project orchestration requests from users to ensure continuous system operation and optimization.
[0050] The data management module stores users' software development project orchestration requests and related data (such as basic data for each software project, production capacity data for each software delivery team, and actual human resource utilization). This module is primarily responsible for storing users' software development project orchestration requests, basic data for each software project (such as project name, project size, and project objectives), production capacity data for each software delivery team (such as the number of personnel in different software delivery teams, distribution of technical expertise, and daily working hours), and actual human resource data for each software delivery team (including the amount of resources currently in use and the amount of remaining available resources). This data forms the foundation of the entire system's operation, providing crucial information for subsequent project orchestration and resource scheduling. As a data hub, it provides data input to the orchestration solution module and simultaneously receives and stores the software development project orchestration plans fed back by the orchestration solution module.
[0051] The solution orchestration module is responsible for responding to user-initiated software development project orchestration requests. Based on the user-defined timeframe, project list, project delivery dates, dependencies between delivery dates, human resource constraints, and task parallelism information, it constructs an optimized solution orchestration mathematical model. According to the user-defined optimization objectives, it performs optimized solution orchestration through a solver and generates a software development project orchestration plan, including the daily workload of each software delivery team and the phased timelines of each project. When the solution orchestration module is running, after a user initiates a software development project orchestration request through the user interaction module, it constructs an optimized solution orchestration mathematical model that meets the user's orchestration needs based on the user-defined timeframe, project list, dependencies, timelines, human resources, and task parallelism information obtained from the data management module. This optimized solution orchestration mathematical model uses a series of quantitative index formulas and constraints, such as various quantitative index models and various constraints (delivery date completion constraints, time and workload balance constraints, etc.), to optimize the solution orchestration of the project and obtain an optimized software development project orchestration plan. This module connects with the data management module to acquire data and provide feedback on the solution results. Ultimately, it generates detailed data such as the daily workload of each software delivery team and the phased time nodes of each project. These results will serve as important guidance data for delivery operations.
[0052] Specifically, the methods for constructing and optimizing the mathematical model for arrangement are as follows: (1) Obtain human resource information to be scheduled: identify each software delivery team The daily available manpower limit for software delivery teams Software delivery team throughout the entire programming period upper limit of manpower And the workload of each software delivery team This information helps to understand the capabilities and workload of different software delivery teams, providing a basis for subsequent resource allocation.
[0053] (2) Acquiring human resource costs: Identifying the various software delivery teams monthly salary By accurately grasping human resource costs, effective cost control can be achieved during the project planning process.
[0054] (3) Obtain information on the software development projects to be scheduled: gain a detailed understanding of each software development project. and the delivery timelines for each project. Dependencies between various delivery time points Clearly define the workload required by each software delivery team for each project delivery timeline. Can it be postponed? Is it a mandatory delivery deadline? And the earliest start time of the corresponding delivery time node. and latest end time , This indicates that the delivery time point is different from the theoretical latest end time. The benefit factor fluctuation function resulting from early or delayed completion. This information is crucial for rationally scheduling project progress and allocating resources.
[0055] (4) Based on the information obtained from the data management module, the following mathematical model for optimizing the software delivery team's manpower allocation is generated: Specifically, there are four quantitative metrics for the model. These metrics can be linearly combined, or optimization can be considered only for specific software delivery teams and delivery timelines. The optimization metrics include: (1) The human resource cost required to complete the project within a given time is defined by the following quantitative indicator expression (the first quantitative indicator of the model): ; This quantitative metric expression integrates all software delivery teams. Human resource costs, of which This is the corresponding wage coefficient, and To meet the corresponding personnel needs.
[0056] (2) The expected total revenue for completing the project within a given timeframe is defined by the following quantitative indicator expression (the second quantitative indicator of the model): ; This quantitative indicator expression incorporates the benefits at all project delivery time points, where For the corresponding delivery time node Completed basic benefits, When the summation value is 1, it indicates the project delivery time node. Completed; a value of 0 indicates incomplete. This indicates the fluctuation in the profit coefficient due to the project being completed ahead of schedule or delayed.
[0057] (3) For each project's completion time ahead of the theoretical latest end time, the following quantitative indicator expression (the third quantitative indicator of the model) is used to define the following: ; This quantitative indicator expression incorporates the number of days ahead of all delivery time points.
[0058] (4) The upper limit of human resources for each software delivery team is defined by the following quantitative indicator expression (the fourth quantitative indicator in the model): ; This quantitative indicator expression incorporates the total manpower cap of all software delivery teams.
[0059] The optimization metrics set by the user include, but are not limited to, minimization. , ,maximize , , and several linear combinations.
[0060] Furthermore, the following model constraints can also be selected, including: (1) Delivery time completion constraint (first constraint): ; Ensure delivery deadlines that are not mandatory The number of times an arrangement marked as TBD is executed shall not exceed 1, and other necessary delivery time nodes shall be executed once to meet the project's requirements for the completion status of delivery time nodes.
[0061] (2) Constraints on the start time variable and completion execution variable of the delivery time node (second constraint): ; Establish a mathematical relationship between the project delivery timeline execution time and the scheduled execution variables to ensure the start time of the delivery timeline. With scheduling execution variables Logical consistency; that is, if the delivery time node exist If the execution is completed at a certain time, then the variable execution is complete. ,the remaining The value is 0.
[0062] (3) Project time parameter correlation constraints (third constraint): ; Define the end time of the project delivery milestones. Start time With duration The correlation is established to ensure the accuracy of time parameter calculations.
[0063] (4) Workload Constraint (Fourth Constraint): ; Ensure the delivery of each software team At the project delivery timeline Upper The workload per day is Combined with the workload of the software delivery team Match delivery time nodes Required workload .
[0064] (5) Project delivery time dependency constraint (Fifth constraint): ; Ensure that the delivery timelines of projects with dependencies are aligned. In the middle, the subsequent project delivery timeline start time Delivery timeline of preceding projects start time Duration Satisfy dependency logic and avoid time conflicts.
[0065] (6) Time interval identifier constraint (sixth constraint): ; via indicator function Identify project delivery time nodes In time Is it in the execution range? This provides a time marker for subsequent constraints.
[0066] (7) Resource capacity constraint (seventh constraint): ; Limit each software delivery team In time The total amount of resources invested should be ensured not to exceed the resource capacity of the software delivery team at the corresponding time. .
[0067] (8) Workload constraints for the software delivery team (Eighth constraint): ; Control the software delivery teams In time The number of projects involved in the work, through Limit the workload of the software delivery team to avoid overloading.
[0068] (9) Time window constraint (ninth constraint): ; Specify the earliest start time for project delivery milestones. Actual start time End time With the latest end time The timing sequence ensures that nodes execute within the specified time window.
[0069] (10) Variable value constraints (tenth constraint): ; Limit the duration of each stage of the project Start time Natural number, end time For natural numbers, the decision variables The variables are set to 0-1 to ensure that the values of the model variables conform to the actual business logic.
[0070] Users can select and arrange several constraints according to their actual software delivery requirements.
[0071] By fully defining the human resource cost expression and the above constraints, a mathematical model for optimizing the human resource allocation of software delivery teams is constructed, enabling refined orchestration and optimized resource allocation for software development projects.
[0072] The software delivery team manually optimizes and solves the mathematical model, inputting it into the solver. They then set the optimal solution error limit and the maximum solution time. After optimization by the solver, if the set optimal solution error limit is met or the solution time reaches the set maximum solution time, the solver returns a set of solution results, specifically including: (1) Delivery time start time: This timeframe specifies the delivery timeline for each software development project. The specific start time is crucial for effectively scheduling a project. Based on this start time, the project team can clearly know when to begin specific tasks, allowing them to prepare in advance for resource allocation and personnel arrangements, thus ensuring the project progresses smoothly and on schedule. For example, if a delivery milestone corresponds to the system testing phase of the software, according to... Testers can be arranged in advance, and test environments and test cases can be prepared.
[0073] (2) Delivery timeline end time: It defines each delivery time point. Completion time. (Through) It can monitor the actual progress of the project and determine if there are any delays. If the actual completion time exceeds... In such cases, it is necessary to analyze the reasons promptly and take corresponding measures for adjustment, such as increasing resource investment and optimizing workflows, to ensure that the entire project can be delivered on time. For example, if the end time of the development and delivery milestone for a certain functional module of the software... If the project has arrived but development is not yet complete, it is necessary to promptly resolve any potential technical challenges or coordinate the participation of more developers.
[0074] (3) Workload input of each software delivery team at each delivery time point: This data details each delivery time point. Above, various functional software delivery teams At different times This data details the specific workload input. Using this data, the contribution of each software delivery team to the project can be accurately assessed, resources can be allocated rationally, and situations can be avoided where some software delivery teams are overburdened while others are idle. For example, during the software coding phase, the development software delivery team will have a larger workload, while the testing software delivery team will have a relatively smaller workload. Personnel arrangements can be dynamically adjusted to improve resource utilization efficiency.
[0075] (4) Labor costs: Labor costs calculated through the optimization model. This reflects the total human resource expenditure required to complete a project within a given timeframe. This cost information helps project managers control costs and manage budgets, allowing them to rationally select the staffing ratios for each software delivery team while meeting project requirements, thereby reducing costs. For example, if a project's requirement for a specific technology (such as design) is short-term, the design team size can be appropriately increased to address software delivery bottlenecks, thus reducing long-term human resource costs for the software delivery team.
[0076] (5) Project completion status indicator variables: This identifier variable (which can be 0 or 1) is used to specify each delivery time point. In time The completion status. When When =1, it indicates that the delivery time node has been completed at that time; when A value of 0 indicates that the project is not yet complete. This indicator allows project managers to monitor the overall project progress in real time, promptly identify incomplete milestones, and take steps to resolve them, ensuring that all project delivery milestones are met on schedule.
[0077] These solutions provide comprehensive and detailed decision-making support for software delivery and operations management. Project managers can use these results to dynamically adjust and optimize various software development projects, further improving project execution efficiency, reducing costs, and ensuring timely and high-quality project delivery. Simultaneously, these results can also serve as important references for subsequent project planning and resource allocation, continuously improving the overall operational management level of the software delivery team.
[0078] The solution orchestration module sends the above solution results to the data management module, which stores the received software development project orchestration plan.
[0079] Furthermore, the data management module sends the newly received software development project orchestration plan to the user interaction module; Furthermore, the user interaction module displays the received software development project orchestration plan to the user through a graphical user interface and waits for the user to initiate new software development orchestration requests.
[0080] This invention relates to a software delivery operation management system and method. Based on acquired software development project orchestration requests and related data, it constructs an optimized orchestration mathematical model that meets software development orchestration requirements. This model is then optimized and solved using a solver to obtain switch-related data, which serves as a decision-making basis. This allows software development managers to make multi-project planning decisions and rationally allocate human resources within the development team. Timely adjustments to planning during project changes prevent resource waste, significantly improve the return on investment, enhance corporate economic efficiency, reduce delivery delays caused by requirement changes or resource shortages, improve the timeliness and quality of software delivery, enhance user experience, and increase the company's competitiveness in the market. The system enables visualization of delivery status and automated data collection, providing real-time monitoring and early warning of delivery issues. With the suggestions provided by the dynamic decision-making system, managers can quickly respond to problems, reduce manual management costs, avoid overlooking issues, ensure the smooth progress of the software delivery process, and improve the efficiency and reliability of delivery management. Accurate conflict detection and data quality assessment provide high-quality data for delivery management, making decisions more scientific and accurate, helping companies make correct decisions in a complex and ever-changing market environment, and promoting the digital transformation of software delivery management.
[0081] Example 2 This embodiment provides a software delivery team operation and management system, in which the user interaction module, data management module, and solution orchestration module are communicatively connected; wherein... The user interaction module includes: The software project management submodule provides a visual interface for users to enter and edit software project information, including project name, delivery timelines (such as requirements review, system testing, version release, etc.), node priority (mandatory / optional projects), whether a node can be delayed, and the earliest start time of the node. Latest end time of nodes and each node For each software delivery team Workload requirements (Unit: person-days)
[0082] The software delivery team management submodule provides a visual interface for users to input / edit software delivery team information and maintain human resource data for various functional software delivery teams within the software delivery company (such as development, testing, and UI design departments), including team size (available personnel) and workload. (such as the development department) (Indicates 8 hours of effective working time per day) and labor costs And resource utilization efficiency in historical projects, etc.
[0083] The Software Delivery Development Plan Management submodule provides a visual interface for users to enter / edit software delivery development plan information and maintain the software delivery development plan. When initiating an orchestration request, users can set a time range (e.g., 2025Q2), select project combinations (supporting dependency annotation, such as the "System Testing" node of project A needing to be started after the "Function Development" node of project B is completed), and select optimization objectives (minimize cost / maximize on-time delivery rate).
[0084] The first communication submodule is used to interact with the data management section, including sending requests to add, delete, modify, and query software delivery teams and their attributes, sending requests to add, delete, modify, and query software development projects and their attributes, and sending software development project orchestration requests; receiving updated software delivery teams and their attributes, receiving updated software development projects and their attributes, and receiving the solved software development project orchestration plan.
[0085] The data management module includes: The storage submodule stores software development project information, software development team information, and software development orchestration plan information. Specifically, software development project information includes: project ID, version number, software development nodes, node duration, earliest start time, latest end time, project priority, and estimated human resources required for each software delivery team at each node. Software development team information includes: software delivery team ID, software delivery team name, number of team members, salary coefficient, and workload. The software development orchestration plan includes: orchestration plan ID, orchestration plan name, orchestration plan start time, orchestration plan end time, start and end times of each project within the orchestration plan, daily human resource allocation for each software delivery team within each project, orchestration solution optimization objectives, solution time limits, and solution result quality limits.
[0086] The second communication submodule is used to interact with the user interaction module and the solver / orchestration module. This includes receiving requests to add, delete, modify, and query software delivery teams and their attributes; receiving requests to add, delete, modify, and query software development projects and their attributes; receiving software development project orchestration requests; receiving software development project orchestration plans returned by the solver / orchestration module; sending updated software delivery teams and their attributes; sending updated software development projects and their attributes; sending the solved software development project orchestration plan; and sending software development project orchestration requests.
[0087] The solution arrangement module includes: The data preprocessing submodule is used to analyze the received software development project orchestration request, fill in missing values according to the user's preset logic, perform data pre-calculation, and output the data format required by the optimization model modeling module. The optimization modeling submodule is used to convert the processed data output by the data preprocessing module into a mathematical modeling file (such as .mps format) that can be recognized by the solver, based on the aforementioned optimization solution arrangement of the mathematical model. The model optimization and solution submodule is used to optimize and solve the mathematical modeling file describing the software development project orchestration request output by the optimization model modeling module. Based on the optimization objective, and under the set constraints of solution time and solution result quality, it provides a set of orchestration solution results, which are temporarily saved in .sol file format. The solution result parsing submodule is used to read the orchestration solution results (.sol file) returned by the model optimization solution module and convert them into a software development project orchestration plan that can be parsed by the data management module according to the set interface format. The third communication submodule is used to receive software development project orchestration requests from the data management module and to send the solved software development project orchestration plan.
[0088] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0089] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims. The information disclosed in the background section is intended only to enhance the understanding of the overall background technology of the present invention and should not be construed as an admission or implication in any way that such information constitutes prior art known to those skilled in the art.
Claims
1. A software delivery team operation management system characterized by, Comprise: A user interaction module, a data management module and a solution arrangement module; wherein, The user interaction module is respectively connected in communication with the data management module and the solution arrangement module, can receive the software development project arrangement request and the software development project arrangement related data input by the user, and transmit the software development project arrangement request and the software development project arrangement related data to the data management module; and receive and display the optimal software development project arrangement plan obtained from the data management module; The data management module is connected in communication with the solution arrangement module, can store the software development project arrangement request and the software development project arrangement related data transmitted by the user interaction module, and receive and store the software development project arrangement plan fed back by the solution arrangement module; The solution arrangement module can obtain the software development project arrangement request and the software development project arrangement related data input by the user interaction module from the data management module, construct an optimal solution arrangement mathematical model meeting the software development arrangement requirement according to the software development project arrangement request and the software development project arrangement related data, obtain the software development project arrangement plan by optimizing the optimal solution arrangement mathematical model through a solver, and feed back the software development project arrangement plan to the data management module.
2. The software delivery team operations management system of claim 1, wherein, The software development project arrangement related data comprises: The basic data of each software project, the production capacity data of each software delivery team, the actual human resource data of each software delivery team and the human resource cost data of each software delivery team; wherein, the human resource cost data of each software delivery team comprises the salary coefficient, the unit work cost and the unit person-day cost of each software delivery team.
3. The software delivery team operations management system of claim 2, wherein, The basic data of each software project comprises: The project name, the delivery time node, the node priority, whether the node can be postponed, the earliest start time of the node, the latest end time of the node, the workload demand of each node to each software delivery team.
4. The software delivery team operations management system of any of claims 1-3, wherein, The user interaction module comprises: a software project management submodule, a software delivery team management submodule, a software delivery development plan management submodule and a first communication submodule; wherein, The software project management submodule is connected in communication with the first communication submodule, is provided with a software project data receiving visual interface, can receive the basic data of each software project in the input software development project arrangement related data through the software project information receiving visual interface, and transmit the basic data of each software project to the data management module through the first communication submodule; The software delivery team management submodule is connected in communication with the first communication submodule, is provided with a software delivery team data receiving visual interface, can receive the production capacity data of each software delivery team in the input software development project arrangement related data through the software delivery team data receiving visual interface, and transmit the production capacity data of each software delivery team to the data management module through the first communication submodule; The software delivery development plan management submodule is connected in communication with the first communication submodule, is provided with a software delivery development plan data receiving visual interface, can receive the actual human resource data of each software delivery team in the input software development project arrangement related data through the software delivery development plan data receiving visual interface, and transmit the actual human resource data of each software delivery team to the data management module through the first communication submodule; The software delivery development plan management submodule is in communication connection with the first communication submodule, is provided with a software delivery development plan information receiving visual interface, can receive the actual human resource data of each software delivery team in the input software development project arrangement related data through the software delivery development plan information receiving visual interface, and transmits the actual human resource data of each software delivery team to the data management module through the first communication submodule; The first communication submodule is in communication connection with the data management module, can transmit data to the data management module through the first communication submodule and receive the data transmitted back by the data management module; The data management module comprises a storage submodule and a second communication submodule; wherein, The storage submodule is in communication connection with the second communication submodule, can store the software development project arrangement request and software development project arrangement related data transmitted by the user interaction module and received by the second communication submodule, and store the software development project arrangement plan fed back by the solution arrangement module and received by the second communication submodule; The solution arrangement module comprises a data preprocessing submodule, an optimization model modeling submodule, a model optimization solution submodule, a solution result analysis submodule and a third communication submodule; wherein, The data preprocessing submodule is in communication connection with the data management module through the third communication submodule, can receive the software development project arrangement request transmitted by the data management module through the third communication submodule and perform data analysis, performs data precalculation after missing values are filled according to user preset logic, and outputs the data required by the optimization solution arrangement mathematical model of the solution arrangement module; The optimization model modeling submodule is in communication connection with the data preprocessing submodule, can convert the processed data output by the data preprocessing submodule into a mathematical modeling file capable of describing the software development project arrangement request according to the optimization solution arrangement mathematical model and recognized by the model optimization solution submodule; The model optimization solution submodule is in communication connection with the optimization model modeling submodule, can perform optimization solution on the mathematical modeling file output by the optimization model modeling submodule, and according to the optimization target, gives a set of arrangement solution results under the limitation of the set solution time and solution result quality; The solution result analysis submodule is in communication connection with the model optimization solution submodule and the data management module through the third communication submodule, can read the arrangement solution results returned by the model optimization solution submodule, converts the arrangement solution results into the solved software development project arrangement plan capable of being analyzed by the data management module according to the set interface form, and feeds back the software development project arrangement plan to the data management module through the third communication submodule.
5. The software delivery team operations management system of claim 4, wherein, The solution arrangement module constructs the optimization solution arrangement mathematical model meeting the software development arrangement demand according to the software development project arrangement request and the software development project arrangement related data in the following manner, comprising: Obtaining the basic data of each software project, the actual human resource data of each software delivery team, and the human resource cost data of each software delivery team from the data management module; According to the obtained actual human resource data, human resource cost data and basic data to be arranged, the model first quantitative index, the model second quantitative index, the model third quantitative index and the model fourth quantitative index are constructed in the following way, wherein, (1) For the cost of human resources required to complete the project within a given time, the first quantitative index of the model is constructed is: ; wherein, represents the human resource cost required to complete a project within a given time; represents a set of all software delivery teams; represents a software delivery team index; represents a corresponding salary coefficient; represents a corresponding human cap; (2) For the estimated total revenue of the project completed within a given time, the second quantitative index of the model is constructed is: ; wherein, represents the benefit of merging all project delivery time nodes; represents the corresponding delivery time node the underlying benefit of completion; represents the project delivery time node completion status, whose sum value is 1 indicates that the software project delivery time node is completed, and 0 indicates that it is not completed; represents the benefit coefficient float due to the project being completed ahead of or behind schedule; (3) For each project compared to the theoretical end time to complete the situation in advance, the model of the third quantitative indicators Is: ; wherein, represents the number of days in advance of all delivery time nodes being fused; (4) For the human resources of each software delivery team, build a model of the fourth quantitative indicator is: ; wherein, represents the upper limit of the sum of all software delivery team manpower; a first quantification indicator of a model representing costs a fourth quantification indicator of a model representing an upper limit of resources a second quantification indicator of a model representing benefits as a minimization term a third quantification indicator of a model representing days of advance completion as a maximization term, an optimization solution scheduling mathematical model of the following minimization objective is constructed , ; wherein the weights , , , are all greater than or equal to 0, , the weights , , , are provided by the user interaction module or are default values preset by the system.
6. The software delivery team operations management system of claim 5, wherein, The optimization solving arrangement mathematical model can select one or a combination of the following constraints, and each constraint includes: (1) The first constraint is the delivery time node completion constraint: ; in, This represents the delivery timeline of a software project; the set of delivery timelines is denoted as... ; To represent discrete time points, the set of discrete time points is denoted as . ; Indicates delivery time node In time The completion status flag variable, when Time indicates the delivery time node In time Completed, when "Time" indicates that the event was not completed within the specified time period. Finish; This represents the set of delivery time points that are not mandatory; for This allows the delivery time node to be not executed or to be executed at most once, thus satisfying the requirement. ;for This delivery timeframe is a mandatory completion point, therefore it meets the requirements. To meet the project's requirements for completion status at delivery time points; (2) The second constraint is the delivery time node completion time variable and completion state identification variable constraint: ; wherein, denotes the end time or completion time of the delivery time node , which is consistent with ; denotes a discrete time point; is a completion status identification variable; by establishing a mathematical relationship between the completion time and the completion status identification variable: when the delivery time node is executed and satisfies , the above formula degenerates into , which binds the completion time to a unique completion time point; when and is not executed, satisfies , both sides of the above formula are 0, and the constraint is naturally established; thus, it is guaranteed that if the delivery time node is completed at the time point, then , the rest , and ; (3) The third constraint is the project time parameter association constraint: ; wherein, denotes the start time of the delivery time node ; denotes the end time of the delivery time node ; denotes the duration of the delivery time node , i.e. the length of the time period, and , which is in the same unit as the discrete time point ; since the execution interval of the delivery time node is counted in closed intervals , a duration of discrete time units corresponds to , wherein -1 is used to ensure that the interval length is counted in the same unit as the duration. (4) The fourth constraint is the work load input constraint: ; wherein, denotes a set of software delivery teams; denotes an index of software delivery teams; denotes a set of delivery time nodes; denotes an index of delivery time nodes; denotes a set of discrete times; denotes a discrete time point; denotes a software delivery team at time ; the input effort at time ; denotes a work intensity coefficient of a software delivery team ; is a time interval indicator function, when , , otherwise ; denotes the total work demand of a delivery time node to a software delivery team ; this constraint ensures that the cumulative input effort at each time point within the execution interval of a delivery time node matches the node demand work amount; (5) The fifth constraint is the project delivery time node dependency constraint: ; in, A set of dependencies representing delivery time points; Indicates delivery time node Depends on delivery time nodes That is, the delivery time node The start date should be later than the delivery date. The completion, This constraint Ensure subsequent nodes The start time is at least later than the predecessor node. The duration can avoid time conflicts; combined with the third constraint The above constraints are equivalent to This ensures that subsequent nodes only start after the preceding node has completed its task; (6) The sixth constraint is the time interval identification constraint: ; wherein, is an indicator function that takes the value 1 when the condition in the parentheses is true and 0 otherwise; is a binary indicator variable that represents the delivery time node at time is in the actual execution interval ; through this constraint, the execution interval of the node can be explicitly expressed, providing a unified time validity basis for subsequent resource capacity constraints and work intensity constraints; (7) The seventh constraint is the resource capacity constraint: ; wherein, denotes the software delivery team at time denotes the delivery time node denotes the amount of work effort invested; when , this investment is counted towards the software delivery team at time denotes the total resource occupation of the software delivery team at time denotes the available resource capacity of the software delivery team at time denotes the resource upper limit of the software delivery team c; this constraint is used to guarantee that the software delivery team at any time the sum of the amount of work effort invested for all delivery time nodes does not exceed its available resource capacity, and the resource capacity does not exceed the software delivery team upper limit, avoiding resource overallocation; (8) The eighth constraint is the software delivery team work intensity constraint: ; wherein, is an indicator function that determines whether the software delivery team at time whether the delivery time node has a positive work input; summing over all delivery time nodes gives the software delivery team at time the number of nodes participating in parallel; is the software delivery team the maximum number of parallel participating nodes allowed, i.e. the work intensity threshold; this constraint serves to limit the software delivery team from being split into too many nodes at the same time, reducing the efficiency loss and delivery risk caused by multi-task switching; (9) The ninth constraint is the time window constraint: ; wherein, represents a delivery time node allowed earliest start time; represents a delivery time node allowed latest end time; represents a delivery time node actual start time of the delivery time node; represents a delivery time node actual end time of the delivery time node; this constraint is used to guarantee that the planned execution interval of each delivery time node falls into its allowed time window range, satisfying business-side milestone, dependency constraints and release window requirements; (10) The tenth constraint is the variable value constraint: ; wherein, is the duration of the delivery time node , taking a positive integer; is the start time of the delivery time node , taking a natural number; is the end time of the delivery time node , taking a natural number; is a binary completion status identification variable, indicating that the delivery time node is completed at time when , and indicating that it is not completed when ; this constraint can ensure that the optimization solution scheduling mathematical model meets the formalized requirements of integer programming and facilitates stable solving by the solver by limiting the value range of the key decision variable; According to the actual software delivery demand, a plurality of constraints are selected for arrangement.
7. The software delivery team operations management system of claim 6, wherein, The solving arrangement module optimizes and solves the optimization solving arrangement mathematical model by a solver to obtain a software development project arrangement plan, including: The optimization solution arrangement mathematical model is input into a solver, an optimal solution error limit and a longest solution time of the optimization solution are set, a combined optimization of the solver is performed, and a set of solution results is returned by the solver when the set optimal solution error limit is met or the solution time reaches the set longest solution time. The solution results include: a delivery time node start time , a delivery time node end time , a work input of each software delivery team in the delivery time node , a human resource cost , and a project completion state identification variable , when , it indicates that the delivery time node has been completed at this time; when =0, it indicates that it is not completed, wherein, represents each delivery time node, represents each software delivery team, represents time.
8. A software delivery team operation management method for the system of any one of claims 1-7, characterized in that, including: Through the user interaction module of the system, the user input software development project arrangement request and software development project arrangement related data are received, and the software development project arrangement request and software development project arrangement related data are transmitted to the data management module; And receiving the optimal software development project arrangement plan obtained from the data management module of the system; Through the data management module of the system, the software development project arrangement request and software development project arrangement related data transmitted by the user interaction module are stored, and the software development project arrangement plan fed back by the solving arrangement module of the system is received and stored; Through the solving arrangement module of the system, the software development project arrangement request and software development project arrangement related data input by the user interaction module can be obtained from the data management module, an optimization solving arrangement mathematical model meeting the software development arrangement demand is constructed according to the software development project arrangement request and software development project arrangement related data, the optimization solving arrangement mathematical model is optimized and solved by a solver to obtain a software development project arrangement plan, and the software development project arrangement plan is fed back to the data management module.
9. The software delivery team operation management method according to claim 8, characterized by, In the method, the user input software development project arrangement request and software development project arrangement related data are received by the user interaction module of the system in the following way, and the software development project arrangement request and software development project arrangement related data are transmitted to the data management module; And receiving the optimal software development project arrangement plan obtained from the data management module of the system, including: The software project management submodule of the user interaction module receives the basic data of each software project input through the software project information receiving visual interface set by the software project management submodule, and transmits the basic data of each software project to the data management module through the first communication submodule of the user interaction module. The software delivery team management submodule of the user interaction module receives the production capacity data of each software delivery team input through the software delivery team data receiving visual interface set by the software delivery team management submodule, and transmits the production capacity data of each software delivery team to the data management module through the first communication submodule. The software delivery development plan management submodule of the user interaction module receives the actual human resource data of each software delivery team in the software development project scheduling related data input through the software delivery development plan information receiving visual interface set by the software delivery development plan management submodule, and transmits the production capacity data of each software delivery team to the data management module through the first communication submodule. The first communication submodule of the user interaction module transmits data to the data management module and receives data returned by the data management module. The storage submodule of the data management module stores the software development project scheduling request and software development project scheduling related data transmitted by the user interaction module received by the second communication submodule of the data management module, and stores the software development project scheduling plan fed back by the solving scheduling module received by the second communication submodule. The data preprocessing submodule of the solving scheduling module receives the software development project scheduling request transmitted by the data management module through the third communication submodule of the solving scheduling module, and performs data analysis. After filling in the missing values according to the user's preset logic, data preprocessing is performed, and the output is the data required by the optimization solving scheduling mathematical model of the solving scheduling module. The optimization model modeling submodule of the solving scheduling module converts the processed data output by the data preprocessing submodule into a mathematical modeling file describing the software development project scheduling request that can be recognized by the model optimization solving submodule according to the optimization solving scheduling mathematical model. The model optimization solving submodule of the solving scheduling module optimizes the mathematical modeling file output by the optimization model modeling submodule, and gives a set of scheduling solving results under the limitation of solving time and solving result quality according to the optimization target. The solving result analysis submodule of the solving scheduling module reads the scheduling solving result returned by the model optimization solving submodule, and converts the scheduling solving result into a solved software development project scheduling plan that can be analyzed by the data management module according to the set interface form, and feeds back the software development project scheduling plan to the data management module through the third communication submodule.
10. The software delivery team operation management method according to claim 9, wherein In the method, the optimization solving arrangement mathematical model meeting the software development arrangement demand is constructed according to the software development project arrangement request and the software development project arrangement related data by the solving arrangement module in the following mode, and the method comprises the following steps: Basic data of each software project, actual human resource data of each software delivery team and human resource cost data of each software delivery team of the software development project arrangement related data are acquired from the data management module; According to the acquired actual human resource data, human resource cost data and basic data to be arranged, the model first quantitative index, the model second quantitative index, the model third quantitative index and the model fourth quantitative index are constructed in the following mode, and the model first quantitative index, the model second quantitative index, the model third quantitative index and the model fourth quantitative index comprise: (1) For the cost of human resources required to complete the project within a given time, the first quantitative index of the model is constructed is: ; wherein, represents the human resource cost required to complete a project within a given time; represents a set of all software delivery teams; represents a software delivery team index; represents a corresponding salary coefficient; represents a corresponding human cap; (2) For the projected total revenue from completing the project within a given time, build a model of the second quantitative indicator is: ; wherein, represents the benefit of merging all project delivery time nodes; represents the benefit of merging all project delivery time nodes the underlying benefit of completion; represents the benefit of merging all project delivery time nodes the completion status, whose sum value is 1 indicates that the software project delivery time node is completed, and 0 indicates that it is not completed; represents the benefit coefficient float due to the project being completed ahead of or behind schedule; (3) For each project compared to the theoretical end time to complete the situation in advance, the third quantitative indicators of the model is: ; wherein, represents the number of days in advance of all delivery time nodes being fused; (4) For the human resources of each software delivery team, build a model of the fourth quantitative indicator is: ; wherein, represents the upper limit of the sum of all software delivery team manpower; a first quantification index of a model representing cost a fourth quantification index of a model representing total upper limit of resources a second quantification index of a model representing benefit as a minimization item a third quantification index of a model representing days of advance completion as a maximization item, an optimization solution scheduling mathematical model of the following minimization objective is constructed , ; wherein the weights , , , are all greater than or equal to 0, , the weights , , , are provided by the user interaction module or are default values preset by the system. In the method, the optimization solving arrangement mathematical model can be constructed by selecting one constraint or a combination of multiple constraints, and each constraint comprises: (1) the first constraint is a delivery time node completion constraint: ; wherein, denotes a software project delivery time node, the set of delivery time nodes is denoted by ; denotes a discrete time point, the set of discrete times is denoted by ; denotes a delivery time node in time ; denotes a delivery time node in time ; denotes a delivery time node not completed in time ; denotes a set of delivery time nodes which are not necessarily completed; for , the delivery time node is allowed to not be executed or at most executed once, thus satisfying ; for , the delivery time node is a must complete node, thus satisfying to satisfy the project requirements on the completion status of the delivery time nodes; (2) the second constraint is a delivery time node completion time variable and completion state identification variable constraint: ; wherein, denotes the end time or completion time of the delivery time node , which is consistent with the unit of ; denotes a discrete time point; is a completion status identification variable; by establishing a mathematical relationship between the completion time and the completion status identification variable: when the delivery time node is executed and satisfies , the above formula degenerates to , which binds the completion time to a unique completion time; when and is not executed, satisfies , both sides of the above formula are 0, and the constraint is naturally established; thus, it is guaranteed that if the delivery time node is completed at the moment, then , the rest , and ; (3) the third constraint is a project time parameter association constraint: ; wherein, denotes the start time of the delivery time node ; denotes the end time of the delivery time node ; denotes the duration of the delivery time node , i.e. the length of the time period, and , which has the same unit as the discrete time point ; since the execution interval of the delivery time node is counted in closed intervals , a duration of discrete time units corresponds to , wherein -1 is used to ensure that the interval length and the duration count are consistent. (4) the fourth constraint is a work load input constraint: ; wherein, denotes a set of software delivery teams; denotes an index of software delivery teams; denotes a set of delivery time nodes; denotes an index of delivery time nodes; denotes a set of discrete times; denotes a discrete time point; denotes a software delivery team at time ; the input workload at time ; denotes a work intensity coefficient of a software delivery team , used to convert input resources into effective workload, ; is a time interval identification function, when , , otherwise ; denotes the total workload demand of a software delivery team at a delivery time node; this constraint ensures that the cumulative input workload at each time point within the execution interval of a delivery time node matches the node demand workload; (5) the fifth constraint is a project delivery time node dependency constraint: ; wherein, a set of dependencies representing delivery time nodes; a delivery time node depends on a delivery time node , i.e. a delivery time node should start later than the end of a delivery time node , ; this constraint guarantees that the start time of a successor node is at least later than the duration length of a predecessor node , avoiding time conflicts; in combination with the third constraint , the above constraint is equivalent to , ensuring that a successor node starts only after a predecessor node has finished; (6) the sixth constraint is a time interval identification constraint: ; wherein, is an indicator function that takes the value 1 when the condition in the parentheses is true and 0 otherwise; is a binary indicator variable that represents the delivery time node at time is in the actual execution interval ; through this constraint, the execution interval of the node can be explicitly expressed, providing a unified time validity basis for subsequent resource capacity constraints and work intensity constraints; (7) the seventh constraint is a resource capacity constraint: ; wherein, denotes the software delivery team at time denotes the delivery time node denotes the amount of work effort invested; when , this investment is counted towards the software delivery team at time denotes the total resource occupation of the software delivery team at time denotes the available resource capacity of the software delivery team at time denotes the resource upper limit of the software delivery team c; this constraint is used to guarantee that the software delivery team at any time the sum of the work effort investments for all delivery time nodes does not exceed its available resource capacity, and the resource capacity does not exceed the software delivery team upper limit, avoiding resource overallocation; (8) the eighth constraint is a software delivery team work intensity constraint: ; wherein, is an indicator function that determines whether the software delivery team at time whether the delivery time node has a positive work input; summing over all delivery time nodes gives the software delivery team at time the number of nodes participating in parallel; is the software delivery team the maximum number of parallel participating nodes allowed, i.e. the work intensity threshold; this constraint serves to limit the software delivery team from being split into too many nodes at the same time, reducing the efficiency loss and delivery risk caused by multi-task switching; (9) the ninth constraint is a time window constraint: ; wherein, represents a delivery time node allowed earliest start time; represents a delivery time node allowed latest end time; represents a delivery time node actual start time of the delivery time node; represents a delivery time node actual end time of the delivery time node; this constraint is used to guarantee that the planned execution interval of each delivery time node falls within its allowed time window range, satisfying business-side milestone, dependency constraints and release window requirements; (10) the tenth constraint is a variable value constraint: ; wherein, is the duration of the delivery time node , taken as a positive integer; is the start time of the delivery time node , taken as a natural number; is the end time of the delivery time node , taken as a natural number; is a binary completion status identifier variable, indicating that the delivery time node is completed at time when , and indicating that it is not completed when ; this constraint can ensure that the optimization solution scheduling mathematical model meets the formalized requirements of integer programming and facilitates stable solving by the solver by limiting the value range of the key decision variable; According to the actual software delivery demand, a plurality of constraints are selected for arrangement; In the method, the software development project arrangement plan is obtained by solving the optimization solving arrangement mathematical model by the solver through the solving arrangement module in the following mode, and the method comprises the following steps: The optimization solution arrangement mathematical model is input into a solver, an optimal solution error limit and a longest solution time of the optimization solution are set, a combined optimization of the solver is performed, and a set of solution results is returned by the solver when the set optimal solution error limit is met or the solution time reaches the set longest solution time. The solution results include: a delivery time node start time , a delivery time node end time , a work input of each software delivery team in the delivery time node , a human resource cost , and a project completion status identifier variable , when , it indicates that the delivery time node has been completed at this time; when =0, it indicates that it is not completed, wherein represents each delivery time node, represents each software delivery team, represents time.