Software development project progress prediction management method based on artificial intelligence

By building a module dependency diagram and Bayesian network model, combining real-time monitoring and dynamic adjustment mechanisms, the problem of difficult prediction of dependencies and implicit factors among modules in software development projects is solved, and the accuracy of progress prediction and the intelligence of project management is achieved.

CN119721638AActive Publication Date: 2025-03-28DONGGUAN KUAICHUANG INFORMATION TECH CO LTD

Patent Information

Application Number
CN202510023741.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-03-28
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

In software development projects, the complex dependencies and implicit factors between modules are difficult to accurately capture and predict by existing technologies, resulting in the limitation of the effectiveness of the progress prediction model in the environment of limited historical data and dynamic changes.

Method used

By building a module dependency graph and Bayesian network model, we analyze the impact of dependency strength and implicit factors among modules, monitor the progress of key modules in real time, dynamically adjust resource allocation and task priorities, and trigger the model self-learning mechanism to optimize prediction strategies.

Benefits of technology

It realizes accurate prediction and dynamic adjustment of software development project progress, improves the intelligence level and efficiency of project management, and enhances the robustness and adaptability of prediction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119721638A_ABST
    Figure CN119721638A_ABST
Patent Text Reader

Abstract

The invention provides a software development project progress prediction management method based on artificial intelligence, and the method comprises the steps: obtaining a project module dependency graph, analyzing the dependency intensity and influence range between modules, and determining the weight of a key module and the weight of a dependency module; according to the skill level of developers, assigning task priorities and combining technical complexity, calculating development time estimation of each module, and generating an initial progress plan; the development progress of the key module is monitored in real time, if lagging is found, a resource allocation mechanism is triggered, the task priority is evaluated again, and distribution of developers is adjusted; and if the deviation between the output of the progress prediction model and the actual situation exceeds a preset threshold value, triggering a model self-learning mechanism, retraining the progress prediction model, and updating the Bayesian network and the adaptive filtering parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information technology, and in particular to a software development project progress prediction management method based on artificial intelligence. Background Art

[0002] In software development projects, the intricate dependencies between modules pose a severe challenge to project progress prediction. As the project progresses, the development progress of some key modules may lag behind, resulting in the obstruction of the development of other dependent modules. At this time, how to adjust resource allocation in real time and balance the development progress of each module becomes the key to project management. However, this resource allocation involves trade-offs in many dimensions, including explicit factors such as the skill level of developers, task priority, and technical complexity, as well as implicit factors such as team collaboration efficiency, technical debt accumulation, and sudden technical difficulties. The impact of these factors on project progress is difficult to quantify and predict, which poses a huge challenge to artificial intelligence progress prediction models. How to accurately capture these implicit factors based on limited historical data and incorporate them into the progress prediction model is a technical problem that needs to be solved urgently. Traditional progress prediction models often rely on a large amount of historical data and prior knowledge, but in software development projects, these data and knowledge are often incomplete and even dynamically changing. Therefore, how to design a progress prediction model that can be adaptively adjusted so that it can dynamically optimize the prediction strategy based on real-time feedback on project progress has become a key technical contradiction. This requires that the progress prediction model has the ability to continuously learn and self-optimize, be able to autonomously extract key features from limited data, and adjust the prediction strategy in real time according to changes in the project environment. At the same time, the progress prediction model is also required to be able to handle uncertainty and noisy data to improve the robustness of the prediction. Summary of the invention

[0003] The present invention provides a software development project progress prediction management method based on artificial intelligence, which mainly includes: Obtain the project module dependency diagram, analyze the dependency strength and impact range between modules, and determine the weights of key modules and their dependent modules; Assign task priorities based on developer skill levels, calculate development time estimates for each module based on technical complexity, and generate an initial schedule; Monitor the development progress of key modules in real time. If any lag is found, the resource allocation mechanism will be triggered to re-evaluate task priorities and adjust developer allocation. Build a Bayesian network model, taking hidden factors such as team collaboration efficiency, technical debt accumulation, and sudden technical problems as nodes, build a probability relationship diagram, and quantify the impact of hidden factors on progress; Dynamically update module development time estimates based on real-time progress data and Bayesian network output, generate adjusted progress plans, and feed the adjusted progress plans back to the resource allocation mechanism; If the deviation between the output of the progress prediction model and the actual situation exceeds the preset threshold, the model self-learning mechanism is triggered to retrain the progress prediction model and update the Bayesian network and adaptive filtering parameters.

[0004] The technical solution provided by the embodiment of the present invention may have the following beneficial effects: The present invention discloses a software development project progress prediction management method based on artificial intelligence. By constructing a module dependency graph and a Bayesian network model, accurate prediction and dynamic adjustment of the project progress are achieved. The present invention first analyzes the dependency strength between modules, determines the weight of key modules, and allocates tasks according to the skill level of developers. During the project execution process, the present invention monitors the progress of key modules in real time, and triggers the resource allocation mechanism when a lag is found. Innovatively, implicit factors such as team collaboration efficiency and technical debt accumulation are incorporated into the Bayesian network to quantify their impact on the progress. Based on real-time data and model output, the present invention dynamically updates the development time estimate and generates an adjusted schedule. When the prediction deviation exceeds the threshold, the model self-learning mechanism is triggered to ensure the accuracy of the prediction. Finally, the present invention optimizes resource allocation and task priority according to the prediction results, effectively ensures that the project is advanced as planned, and significantly improves the intelligence level and efficiency of project management. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Figure 1 The present invention is a flowchart of a software development project progress prediction management method based on artificial intelligence. DETAILED DESCRIPTION

[0006] The technical solution of the present invention will be clearly and completely described below in conjunction with the embodiments. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0007] like Figure 1 As shown, in this embodiment, a software development project progress prediction management method based on artificial intelligence may specifically include: S101. Obtain a project module dependency diagram, analyze the dependency strength and impact range between modules, and determine the weights of key modules and their dependent modules.

[0008] Obtain dependency data of all modules in the project, preprocess and clean the dependency data, and construct a module dependency graph; use the NetworkX library to calculate the strength coefficient of the dependencies between modules in the module dependency graph. The strength coefficient is determined by the number and weight of the dependencies and is used to indicate the importance of the module; sort the modules according to the strength coefficient, and take the top 20% of the modules as the key modules of the project; for each key module, use the depth-first search algorithm in the NetworkX library to identify the upstream modules that it directly and indirectly depends on, and obtain the set of dependent modules of the key module; perform K-means clustering analysis on the set of dependent modules of the key module, and The similarities between modules divide them into different dependent module groups; for each dependent module group, the hierarchical analysis method is used to construct a judgment matrix to calculate the dependency contribution weight of each module in the group to the key module; the strength coefficient of the key module is multiplied by the contribution weight of its dependent module group to obtain the comprehensive importance index of the key module; based on the Matplotlib library, a global weight distribution diagram of the project module dependency is drawn, the size of the node in the weight distribution diagram represents the comprehensive importance of the module, and the thickness of the edge represents the weight of the dependency; through the Dijkstra shortest path algorithm, the critical paths and dependency chains whose overall impact on the project is greater than the preset threshold are identified in the weight distribution diagram.

[0009] Exemplarily, first, it is necessary to obtain the dependency data of all modules in the project, which can be achieved through static code analysis tools or logs of the version control system. For example, in an e-commerce system, it may be found that the order module depends on the user module, the commodity module, and the payment module. In the data preprocessing stage, it is necessary to clean the original dependency data and remove duplicates and invalid dependencies. Then use the NetworkX library to build a module dependency graph, where nodes represent modules and edges represent dependencies. In the graph, you can intuitively see the connection between the order module and other modules. Next, calculate the strength coefficient of the dependency between modules. This can be achieved by considering the number and weight of dependencies. For example, if the order module frequently calls multiple functions of the payment module, then the dependency strength between them is high. According to the sorting of the dependency strength coefficient, the key modules of the project can be identified. Assume that in the e-commerce system, the order module and the user module are identified as key modules. For each key module, a depth-first search algorithm is used to identify the upstream modules that it directly and indirectly depends on. In this way, a set of dependent modules of the key module can be formed. For example, the dependency set of the order module may include modules such as user, commodity, payment, and inventory. Then, K-means clustering analysis is performed on these dependent module sets. This helps to divide the modules into different dependency module groups according to their similarities. In an e-commerce system, it may be found that user-related modules form one group, while commodity-related modules form another group. For each dependency module group, a judgment matrix is ​​constructed based on the hierarchical analysis method. The elements in the judgment matrix represent the relative importance of each module in the group. By calculating the eigenvector of the judgment matrix, the initial weight vector of the dependency contribution of each module in the group to the key module is obtained. The consistency test method is used to determine whether the consistency of the initial weight vector of the dependency contribution meets the requirements. If not, the judgment matrix is ​​adjusted and recalculated until the consistency requirements are met. For the dependency contribution weight vector that meets the consistency requirements, it is converted into the final dependency contribution weight of each module through normalization. For example, in the order processing process, the payment module may have a higher contribution weight than the inventory module. By multiplying the dependency strength coefficient of the key module with the contribution weight of its dependency module group, the comprehensive importance index of the key module is obtained. This index can help to more comprehensively evaluate the importance of the module in the entire system. Finally, the Matplotlib library is used to draw a global weight distribution diagram of the project module dependency. In this visualization, the size of the node indicates the comprehensive importance of the module, and the thickness of the edge indicates the weight of the dependency. In this way, the most critical modules and the most important dependencies in the system can be seen at a glance. Through the Dijkstra shortest path algorithm, the critical paths and dependency chains that have a greater impact on the overall project can be identified. In an e-commerce system, this may be a series of module links from user login to order payment.This comprehensive dependency analysis method not only helps understand the system architecture, but also guides refactoring decisions, resource allocation, and testing strategy formulation. By focusing on key modules and important dependencies, development teams can conduct code reviews, performance optimization, and risk management more effectively.

[0010] S102. Assign task priorities based on developer skill levels, combine technical complexity, calculate the development time estimate for each module, and generate an initial schedule.

[0011] Obtain the technical requirements of all modules of the project, conduct a detailed analysis of the functions, performance, and user experience of each module, evaluate the complexity of the modules based on technical complexity and innovation factors, quantify the evaluation results into complexity levels or weights, and obtain the module complexity matrix. Obtain the skill level and experience data of developers, including the programming languages, frameworks, development tools they have mastered, and the relevant project experience they have participated in, evaluate the skills of each developer, and obtain the developer skill matrix. For the module complexity matrix and the developer skill matrix, use the Hungarian algorithm to optimally match modules and developers. The matching goal is to match the skills of developers with the complexity of the modules on the premise of meeting the technical requirements of the modules. According to the module complexity and the skill level of developers, use the COCOMO model to estimate the development workload and time of each module. The basic formula of the COCOMO model is: PM=a(KLOC)^bEAF, where PM is man-months, KLOC is thousands of lines of code, a and b are experience parameters, and EAF is an adjustment factor. Select parameter values ​​based on the scale, complexity, and personnel quality factors of the project, substitute them into the formula for estimation, and obtain the estimated development workload and time of each module. The analytic hierarchy process is used to evaluate the priority of the modules in combination with business value, technical risk and dependency factors to obtain the priority weight of each module; based on the module priority and estimated development time, the critical path method (CPM) is used to generate the initial version of the project schedule. The modules are regarded as activities in the AON network diagram, and the dependencies between modules are regarded as the order of activities. The earliest start time, the latest start time, the earliest end time and the latest end time of each activity are calculated using forward recursion and reverse recursion to find the critical path and determine the key activities and milestone nodes of the project. According to the estimated workload of each module and the available time of the developers, it is determined whether there is a resource conflict. If there is a resource conflict, the resource conflict can be eliminated by delaying the start time of non-critical activities and adjusting the task allocation measures to obtain an executable project schedule.

[0012] For example, in software project management, it is crucial to accurately evaluate module complexity and developer skills. Taking an e-commerce platform as an example, the system can be divided into modules such as user management, product management, order processing, and payment system. For each module, its functional requirements, performance indicators, and user experience requirements need to be analyzed in detail. For example, the payment system module not only needs to handle multiple payment methods, but also ensure transaction security and high concurrent processing capabilities. By considering technical complexity and innovation factors, the payment system can be given a higher complexity score, such as 8 points (out of 10 points). At the same time, the skill level of the development team members needs to be evaluated. Suppose there is a developer named Xiao Z who is proficient in Java, familiar with the Spring framework, and has 3 years of experience in payment system development. His skill score in the payment system field can be 9 points. By constructing a module complexity matrix and a developer skill matrix, the Hungarian algorithm can be used for optimal matching to ensure that each module is managed by the most appropriate person. The COCOMO model provides a reliable method for estimating development workload. For the payment system module, assuming that the estimated code volume is 5,000 lines, the parameters a=3.0 and b=1.12 of the semi-independent project are selected, and considering the high reliability requirements of the project, the EAF may be adjusted to 1.15. Through calculation, the development workload estimate of the module can be obtained. Next, the priority of each module needs to be evaluated. Using the hierarchical analysis method, the priority of the module can be evaluated by considering factors such as business value, technical risk and dependency, and the priority weight of each module can be obtained. The hierarchical analysis method can be used to construct factors such as business value, technical risk, and dependency into a hierarchical structure. By comparing the importance of these factors two by two, a judgment matrix can be obtained, and then the priority weight of each module can be calculated. For example, in an e-commerce platform, the payment system often has higher business value and technical risk, so it may be given a higher priority weight. Based on the module priority and estimated development time, the critical path method can be used to generate an initial project schedule. According to the dependency relationship between modules, an AON network diagram is constructed, and the modules are regarded as activities and the dependencies are regarded as sequential relationships to form a directed acyclic graph. Starting from the starting activity, use forward recursion to calculate the earliest start time and earliest end time of each activity. During the calculation process, if activity A is the predecessor activity of activity B, then the earliest start time of activity B is equal to the earliest end time of activity A. Starting from the terminating activity, use reverse recursion to calculate the latest start time and latest end time of each activity. During the calculation process, if activity B is the successor activity of activity A, then the latest end time of activity A is equal to the latest start time of activity B. For each activity, determine whether its earliest start time is equal to the latest start time, and whether the earliest end time is equal to the latest end time. If they are equal, the activity is a critical activity, otherwise it is a non-critical activity. Find the path composed of critical activities, which is the critical path.Activities on the critical path are all critical activities, which determine the total duration of the project. Determine milestone nodes, that is, important activities or time points on the critical path. Milestone nodes usually mark major progress or phased results of the project and need to be focused on and managed. According to the critical path and milestone nodes, optimize resource allocation and schedule to ensure that the project is completed on time. For non-critical activities, their start and end times can be adjusted appropriately to improve resource utilization efficiency and project flexibility. In the e-commerce platform development project, the user management module may be a prerequisite for other modules, so it is likely to become a node on the critical path. By identifying the critical path, the key activities and milestones of the project can be determined, providing important guidance for project management. Finally, it is necessary to resolve possible resource conflicts. Assume that Xiao Z is assigned part of the user management module in addition to being responsible for the payment system, which may lead to working time conflicts. By appropriately delaying the start time of non-critical activities or adjusting task allocation, the project can be ensured to proceed smoothly. This comprehensive project planning method can not only improve development efficiency, but also reduce project risks and ensure the optimal allocation of resources. By accurately matching developer skills with module complexity, the expertise of team members can be fully utilized while providing them with appropriate challenges and growth opportunities. Priority-based scheduling ensures that the most critical functions are developed and tested in a timely manner to better meet market needs and user expectations.

[0013] S103. Monitor the development progress of key modules in real time. If any delay is found, trigger the resource allocation mechanism, re-evaluate task priorities, and adjust developer allocation.

[0014] A1. Obtain the preset development progress threshold and actual development progress data of key modules, and compare the preset development progress threshold with the actual development progress data; A2. If the actual development progress data is lower than the preset development progress threshold, trigger the resource allocation mechanism; A3. Obtain the task feature data and developer skill data of historical projects, and establish a support vector machine model based on the task feature data and developer skill data; A4. Obtain the task features of the current project, input the task features of the current project into the support vector machine model, and predict the priority of each task through the support vector machine model; A5. Obtain the developer skill data and work saturation A6. Write the personnel deployment plan into the project management system database, trigger the project management system to automatically generate adjustment notifications, and update the project schedule; A7. Continuously monitor the development progress of key modules, regularly obtain actual progress data from the project management system, and determine whether the actual progress data is still lower than the preset development progress threshold; A8. If the actual progress data is still lower than the preset development progress threshold, return to step A2 and re-trigger resource deployment until the actual progress data is synchronized with the preset development progress threshold.

[0015] For example, for an order processing module of an e-commerce platform, a minimum requirement for the number of function points completed per week can be set. Assuming that 10 function points are expected to be completed per week, the threshold can be set to 8, and an alarm will be triggered if it is lower than this value. The actual development progress data can be automatically collected through project management tools. For example, developers update the task status every day, and the system automatically calculates the number of completed function points. When it is detected that the actual progress is lower than the threshold, the system automatically marks the module as "progress lag" and starts the resource allocation mechanism. In order to achieve intelligent resource allocation, machine learning technology can be used. Features such as task complexity, estimated working hours, dependencies, and corresponding priority labels can be extracted from historical projects for training support vector machine models. Obtain task feature data of historical projects, including task type, task complexity, task duration, etc., and use them as input features of the support vector machine model. Obtain developer skill data of historical projects, including developer technical level, years of experience, and areas of expertise, etc., and use them as output labels of the support vector machine model. Based on the acquired task feature data and developer skill data, a support vector machine model is constructed, and the model is trained using historical data to obtain a trained support vector machine model. In actual applications, the task features of the current project are input into the trained support vector machine model. For example, for the user authentication module, features such as "medium complexity, estimated working hours 40 hours, and database module dependency" may be input. The model will output a priority prediction, such as "high priority". With the task priority prediction result, the next step is to allocate personnel. The Hungarian algorithm can be used here, which can find the optimal solution in many-to-many matching problems. The skill data and current work saturation of the developer need to be considered. Specifically, the skill data and work saturation data of the developer are preprocessed and converted into the input format required by the Hungarian algorithm. Among them, the skill data is represented as a personnel-skill matrix, and the work saturation data is represented as a personnel-task matrix. Apply the Hungarian algorithm, use the task priority value as the weight, and make the best match between the personnel-skill matrix and the personnel-task matrix to obtain the personnel allocation plan. For example, an engineer who is proficient in back-end development may be more suitable for handling database-related tasks. The personnel allocation plan will be written into the project management system database, and the system will automatically generate an adjustment notice. For example, "Engineer Z: Please shift your focus to the user authentication module, which is expected to take 40 hours." At the same time, the system will update the project schedule and may postpone some tasks on non-critical paths to ensure that key modules can be completed on time. This process is continuous and iterative. The system will regularly check whether the actual progress is still lagging behind. If the progress problem persists, further adjustments may be required, such as increasing human resources or re-evaluating the project scope. This dynamic adjustment mechanism can respond to changes and challenges in the project in a timely manner and improve the flexibility and efficiency of project management.This method can not only detect and solve progress problems in a timely manner, but also maximize the efficiency of team resource utilization. The introduction of machine learning technology makes the judgment of task priority more objective and accurate, while the automated resource allocation and notification system greatly reduces the manual operations of project managers, allowing them to devote more energy to strategic decision-making and team management.

[0016] S104. Build a Bayesian network model, taking hidden factors including team collaboration efficiency, technical debt accumulation, and sudden technical problems as nodes, construct a probability relationship diagram, and quantify the impact of hidden factors on progress.

[0017] Obtain historical project data, use the maximum likelihood estimation method to estimate the conditional probability distribution parameters of each node in the Bayesian network model, and obtain the probability distribution of hidden factors such as team collaboration efficiency, technical debt accumulation, and sudden technical problems; use the Monte Carlo simulation method to randomly generate multiple combinations of hidden factors, input them into the Bayesian network model, calculate the conditional probability distribution of project progress under each combination, and quantify the distribution of the impact of hidden factors on project progress; based on the information gain principle, calculate the information entropy of the conditional probability distribution of project progress, and by comparing the change in information entropy after introducing each hidden factor node, judge the significance of the impact of each hidden factor on the project progress, and identify the key factors that have the greatest impact on the progress; for key hidden factors, evaluate the impact of their current status on the project progress, and compare the probability of progress delay under the current state with the preset delay risk threshold. The value is compared with the expected value. If it exceeds the threshold, an early warning is triggered to prompt the project manager to take countermeasures. During the project implementation, project progress, manpower input, and demand change tracking data are continuously collected, and data preprocessing technology is used to convert the data into the input of the Bayesian network model. The maximum a posteriori probability estimation method is used to combine the prior distribution and the newly collected data to dynamically update the probability distribution of the implicit factor nodes, continuously optimize the Bayesian network model, and improve the accuracy of project progress prediction. If the impact of a certain implicit factor on the project progress continues to exceed expectations, the progress delay caused by the factor is diagnosed and quantified, and the proportion of the delayed time to the planned progress is evaluated. If it exceeds the preset threshold, the project manager is prompted to evaluate the necessity of adjusting the project plan, weigh the progress goals, risk tolerance, and resource input factors, and adjust the project plan in a timely manner to control progress risks.

[0018] For example, the Bayesian network model is a powerful probabilistic graph model that can effectively capture complex dependencies between variables. In project management, Bayesian networks can be used to model the impact of implicit factors such as team collaboration efficiency, technical debt accumulation, and sudden technical problems on project progress. First, historical project data needs to be collected. These data may include the completion time of past projects, team size, code quality indicators, and the frequency of technical problems. The conditional probability distribution parameters of each node in the Bayesian network can be estimated by the maximum likelihood estimation method. For example, it may be found that when the team collaboration efficiency is high, the probability of shortening the project completion time is 70%; and when the technical debt accumulation is serious, the probability of project delay may be as high as 80%. Next, the Monte Carlo simulation method is used to quantify the impact of implicit factors on project progress. Assume that 1,000 sets of implicit factor value combinations are randomly generated, each set contains different combinations of team collaboration efficiency (high / medium / low), technical debt accumulation (serious / general / minor), and sudden technical problems (frequent / occasional / rare). By inputting these combinations into the Bayesian network model, we can get the probability distribution of the project being completed on time, slightly delayed, or seriously delayed in each case. Based on the principle of information gain, we can calculate the information entropy of the conditional probability distribution of the project progress and compare the changes in the information entropy after introducing each implicit factor. Assume that after introducing the team collaboration efficiency node, the information entropy decreases by 0.5, while after introducing the technical debt accumulation node, the information entropy decreases by 0.8. This shows that the impact of technical debt accumulation on project progress may be more significant and is a key factor that needs to be focused on. For the identified key factors, it is necessary to evaluate the impact of their current status on the project progress. If the probability of project delay exceeds the preset risk threshold (such as 30%) under the current technical debt accumulation state, the system will trigger an early warning to prompt project managers to take measures, such as increasing code refactoring time or adjusting development strategies. During the project implementation process, it is necessary to continuously collect data and update the model. For example, collect team members' work logs, code submission records, and requirement change documents every week. Through data preprocessing, these raw data can be converted into the input of the Bayesian network model. Using the maximum a posteriori probability estimation method, the probability distribution of the implicit factor node can be dynamically updated by combining the prior distribution and new data. In this way, as the project progresses, the prediction model will become more and more accurate. If the impact of a hidden factor continues to exceed expectations, in-depth diagnosis is required. For example, if the delay caused by sudden technical problems has accounted for 25% of the planned progress, exceeding the preset 20% threshold, the system will prompt project managers to re-evaluate the project plan. At this time, managers need to weigh the progress goals, risk tolerance and resource investment, and may consider increasing human resources, adjusting the project scope or extending the delivery deadline to control progress risks. This method can not only timely discover and respond to hidden risks in the project, but also continuously optimize the prediction model to improve the scientificity and effectiveness of project management.This approach, based on data and probabilistic models, can help project managers make more informed and objective decisions, thereby increasing the probability of timely project delivery.

[0019] S105. Dynamically update the module development time estimate based on the real-time progress data and the Bayesian network output, generate an adjusted progress plan, and feed the adjusted progress plan back to the resource allocation mechanism.

[0020] The real-time progress data of the project is obtained and converted into the input format of the pre-built Bayesian network model through data preprocessing; the processed data is input into the Bayesian network model and the development time estimation results of each module are obtained through reasoning analysis; the module development time estimation results output by the Bayesian network model are compared with the time estimation values ​​in the original schedule plan to calculate the estimation deviation; if the estimation deviation exceeds the preset threshold, the schedule adjustment process is triggered, and the milestone time nodes and the planned time of key tasks in the original schedule plan are modified according to the module development time estimation results to generate an adjusted schedule plan; the impact of the adjusted schedule plan on the overall project progress is analyzed through the critical path method to determine the adjustment range and impact range of the schedule plan; the adjusted schedule plan is used as input, and the resource allocation plan is optimized through the genetic algorithm, with the total project duration and resource utilization rate as the optimization targets, and the resource allocation plan that meets the progress constraints and the resource utilization rate is higher than the preset threshold is obtained through the selection, crossover and mutation operations of the genetic algorithm; the optimized resource allocation plan is applied to project management, and the resource allocation is dynamically adjusted through the project management system to ensure that the project is executed according to the adjusted schedule plan.

[0021] For example, taking a large e-commerce platform development project as an example, the project management system can be used to collect data such as the code submission frequency, bug fixing time, and team communication records of each module. These raw data need to be cleaned and converted to adapt to the pre-built Bayesian network model. For example, convert the number of daily code submissions into a percentage of development progress, convert the bug fixing time into a technical difficulty index, and so on. After inputting the processed data into the Bayesian network model, the development time estimate results of each module can be obtained. Suppose that for the payment module, the original planned development time is 10 days, but the model estimates that it will take 12 days. This 2-day difference may be due to the fact that the model takes into account the influence of implicit factors such as team collaboration efficiency and technical debt. If this deviation exceeds the preset 15% threshold, the schedule adjustment process will be triggered. According to the deviation amplitude exceeding the threshold, the weighted average algorithm is used to calculate the adjustment amount of the milestone time nodes and the planned time of the key tasks; according to the calculated adjustment amount, the milestone time nodes of the corresponding modules in the original schedule and the planned start time and planned completion time of the key tasks are modified to generate the adjusted module schedule; the adjusted schedules of each module are summarized, and the critical path of the entire project is determined through the critical path method, and the milestone time nodes across modules are calibrated to form the adjusted overall project schedule; when adjusting the schedule, the dependencies between modules need to be considered. In the adjustment process, the impact of this delay on other related modules needs to be considered. For example, the order processing module related to the payment module may also need to be postponed accordingly. The critical path method can be used to analyze the impact of this adjustment on the overall project schedule. Assuming that the payment module is on the critical path, the 2-day delay will directly affect the final delivery date of the project. At this time, it is necessary to evaluate whether it is possible to make up for this delay by adjusting other tasks on the non-critical path. After adjusting the schedule, it is also necessary to analyze its impact on resource requirements. For example, the extension of the payment module development time may cause developers to continue working after the original end date. This may conflict with the resource requirements of other modules. To solve this problem, a genetic algorithm can be used to optimize the resource allocation plan. Specifically, a genetic algorithm is used to encode the resource allocation plan, and each possible allocation plan is represented as an individual to construct an initial population. According to the two indicators of total project duration and resource utilization, a fitness function is constructed to evaluate the pros and cons of each resource allocation plan individual. The fitness of the individuals in the current population is evaluated, and the fitness value of each individual is calculated according to the fitness function. The higher the fitness value, the better the time performance and resource utilization performance of the resource allocation plan. According to the fitness value of the individual, a roulette wheel selection operator is used to select a group of high-quality individuals with high fitness from the current population as the parents of the new generation population. The selected parent individuals are crossovered, and the partial coding fragments of the two parent individuals are exchanged by randomly selecting the crossover point to generate new offspring individuals, which inherit the high-quality genes of the parent.The offspring individuals are subjected to mutation operations with a certain probability, and certain genes in the individual codes are randomly changed, new gene combinations are introduced, the diversity of the population is increased, and the algorithm is prevented from prematurely converging to the local optimum. The generated offspring individuals are added to the new generation population, and multi-generation iterative optimization is performed until the termination condition is met (such as reaching the preset number of iterations or fitness convergence), and the resource allocation scheme corresponding to the individual with the highest fitness in the current population is output as the optimal allocation result. For example, the algorithm may suggest that the user interface optimization task originally planned to start after the payment module be brought forward to make full use of the front-end developers who are temporarily idle due to the delay of the payment module. This dynamic adjustment can not only improve resource utilization, but also partially offset the overall progress lag caused by the delay of the core module. In this way, dynamic optimization of project progress and resource allocation is achieved. The advantage of this method is that it can respond to changes in the project in a timely manner and adjust management strategies according to real-time data, thereby improving the flexibility and accuracy of project management. This analysis helps project managers assess the scope of the adjustment and formulate corresponding mitigation strategies. Through this dynamic adjustment, it is possible to better cope with uncertainties in the project and increase the probability of completing the project on time. This data-driven project management approach not only improves the accuracy of estimates, but also helps project managers make more scientific decisions.

[0022] S106. If the deviation between the output of the progress prediction model and the actual situation exceeds a preset threshold, the model self-learning mechanism is triggered to retrain the progress prediction model and update the Bayesian network and adaptive filtering parameters.

[0023] The output result of the software development progress prediction model and the actual situation data in the corresponding time period are obtained, and the deviation value between the output result and the actual situation data is calculated; whether the deviation value exceeds the preset threshold value is determined, and if so, the model self-learning mechanism is triggered; the actual situation data is used as training data, and the parameters of the progress prediction model are optimized and updated by using the naive Bayes classification algorithm to obtain the optimized model parameters; wherein, the parameters of the progress prediction model are optimized and updated by using the naive Bayes classification algorithm, including: calculating the posterior probability under different parameter values, and selecting the parameter value with the largest posterior probability as the optimized model parameter; the input data of the progress prediction model is preprocessed by using the Kalman filtering algorithm to obtain the preprocessed input data; wherein, the input data of the progress prediction model is preprocessed by using the Kalman filtering algorithm, including: establishing a state equation and an observation equation, estimating the true value of the input data, and removing noise and interference in the input data; applying the optimized model parameters and the preprocessed input data to the progress prediction model to obtain the optimized progress prediction model; using the optimized progress prediction model to predict new input data and output the prediction result.

[0024] For example, first, it is necessary to obtain the output results of the progress prediction model and the actual situation data in the corresponding time period. For example, in a 6-month e-commerce platform development project, the progress prediction model may estimate that the core payment module will take 4 weeks to complete, while the actual situation is 5 weeks. At this time, the deviation value is calculated to be 25%. This deviation value is compared with the preset threshold (such as 20%), and it is found that it exceeds the threshold, thus triggering the model self-learning mechanism. The core of this mechanism is to use the actual situation data as new training data to retrain the progress prediction model. In this process, the naive Bayes classification algorithm plays an important role. The naive Bayes classification algorithm is based on the Bayesian theorem and assumes that the features are independent of each other. In the scenario of the self-learning mechanism, the various features of the project (such as team size, technical complexity, frequency of demand changes, etc.) can be used as input, and the actual completion time can be used as output. By calculating the posterior probability under different parameter values, the parameter value with the highest probability can be selected as the optimized model parameter. For example, if it is found that the probability of project delay is highest when the team size is 10 people, the technical complexity is high, and the frequency of demand changes is once a week, then the model will adjust the weights of these parameters accordingly. At the same time, in order to improve data quality, the Kalman filter algorithm is introduced to preprocess the input data of the model. Kalman filtering is a recursive estimation algorithm that can effectively remove noise and interference in the data. In software development progress prediction, noise may come from factors such as temporary overtime and sudden technical problems. By establishing state equations (such as equations describing project progress changes) and observation equations (such as describing actual observed progress data), Kalman filtering can estimate data that is closer to the actual situation. For example, suppose that in a certain week, due to temporary overtime, the project progress suddenly accelerated by 20%. Kalman filtering will consider historical data and current observations to obtain a more reasonable estimate, which may be a 10% progress improvement. This can avoid the model from being overly sensitive to short-term fluctuations and provide more stable predictions. After applying the updated naive Bayes classification model parameters and Kalman filter parameters to the progress prediction model, an optimized model is obtained. The optimized model will have significantly improved prediction accuracy when facing similar projects. For example, in the next similar payment module development task, the optimized model may predict that it will take 4.5 weeks to complete, which is closer to the actual situation than the original 4 weeks. Through this continuous self-learning mechanism, the progress prediction model can adapt to the dynamic changes of the project environment. For example, if the team introduces new development tools or methodologies, resulting in improved development efficiency, the model can also capture this change through continuous learning and reflect it in future predictions. This not only improves the management efficiency of a single project, but also provides a basis for continuous improvement of the project management capabilities of the entire organization. Kalman filtering can remove noise interference from the data and improve the robustness of the optimized model.

[0025] The preferred embodiments of the present invention disclosed above are only used to help explain the present invention. The preferred embodiments do not describe all the details in detail, nor do they limit the invention to only specific implementation methods. Obviously, many modifications and changes can be made according to the content of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present invention, so that those skilled in the art can understand and use the present invention well. The present invention is limited only by the claims and their full scope and equivalents.

Claims

1. A software development project progress forecasting management method based on artificial intelligence, characterized in that: The method comprises: Obtain the project module dependency diagram, analyze the dependency strength and impact range between modules, and determine the weights of key modules and their dependent modules; Assign task priorities based on developer skill levels, combine technical complexity, build a progress prediction model, calculate the development time estimate for each module, and generate an initial progress plan; Monitor the development progress of key modules in real time. If any lag is found, the resource allocation mechanism will be triggered to re-evaluate task priorities and re-allocate developers. Build a Bayesian network model, taking hidden factors such as team collaboration efficiency, technical debt accumulation, and sudden technical problems as nodes, build a probability relationship diagram, and quantify the impact of hidden factors on progress; Dynamically update module development time estimates based on real-time progress data and Bayesian network output, generate adjusted progress plans, and feed the adjusted progress plans back to the resource allocation mechanism; If the deviation between the output of the progress prediction model and the actual situation exceeds the preset threshold, the model self-learning mechanism is triggered to retrain the progress prediction model and update the Bayesian network and adaptive filtering parameters.

2. The method according to claim 1, characterized in that The step of obtaining a project module dependency graph, analyzing the dependency strength and impact range between modules, and determining the weights of key modules and their dependent modules includes: Obtain dependency data of all modules in the project, preprocess and clean the dependency data, and build a module dependency graph; The NetworkX library is used to calculate the strength coefficient of the dependencies between modules in the module dependency graph. The strength coefficient is determined by the number and weight of the dependencies and is used to indicate the importance of the module. Sort the modules according to the strength coefficient, and take the top 20% of the modules as the key modules of the project; For each key module, the depth-first search algorithm in the NetworkX library is used to identify the upstream modules that it directly and indirectly depends on, and obtain the set of dependent modules of the key module; Perform K-means clustering analysis on the dependent module sets of key modules and divide them into different dependent module groups according to the similarities between modules; For each dependent module group, the hierarchical analysis method is used to calculate the dependency contribution weight of each module in the group to the key module by constructing a judgment matrix; Multiply the strength coefficient of the key module by the contribution weight of its dependent module group to obtain the comprehensive importance index of the key module; Based on the Matplotlib library, draw a global weight distribution diagram of the project module dependencies. The size of the node in the weight distribution diagram represents the comprehensive importance of the module, and the thickness of the edge represents the weight of the dependency. Through the Dijkstra shortest path algorithm, the critical paths and dependency chains whose overall impact on the project is greater than the preset threshold are identified in the weight distribution graph.

3. The method according to claim 1, characterized in that The task priority is assigned according to the skill level of the developers, combined with the technical complexity, the development time estimate of each module is calculated, and the initial schedule is generated, including: Obtain the technical requirements of all modules of the project, conduct complexity assessment on the modules, quantify the assessment results into complexity levels or weights, and obtain the module complexity matrix; Obtain the skill level and experience data of developers, evaluate the skills of each developer, and obtain the developer skill matrix; Based on the module complexity matrix and developer skill matrix, the Hungarian algorithm is used to optimally match modules with developers. The goal of matching is to match the developer's skills with the module complexity while meeting the module's technical requirements; Use the COCOMO model to build a progress prediction model to estimate the development workload and time of each module; The basic formula of the COCOMO model is: PM = a(KLOC)^bEAF, where PM is man-months, KLOC is thousands of lines of code, a and b are empirical parameters, and EAF is an adjustment factor; Select parameter values ​​based on the project's scale, complexity, and personnel quality, and substitute them into the formula for estimation to obtain the estimated development workload and time for each module; Using the analytic hierarchy process, combined with business value, technical risk and dependency factors, the module priority is evaluated to obtain the priority weight of each module; Generate the initial version of the project schedule using the critical path method based on module priorities and estimated development time; Treat modules as activities in the AON network diagram, and the dependencies between modules as the order of activities. Use forward recursion and reverse recursion to calculate the earliest start time, latest start time, earliest end time, and latest end time of each activity, find out the critical path, and determine the key activities and milestone nodes of the project. Determine whether there is a resource conflict based on the estimated workload of each module and the available time of the developers; If there is a resource conflict, it can be eliminated by delaying the start time of non-critical activities and adjusting task allocation measures to obtain an executable project schedule.

4. The method according to claim 1, characterized in that The real-time monitoring of the development progress of key modules, if any lag is found, triggers the resource allocation mechanism, re-evaluates the task priority, and adjusts the allocation of developers, including: A1. Obtain the preset development progress threshold and actual development progress data of the key modules, and compare the preset development progress threshold with the actual development progress data; A2. If the actual development progress data is lower than the preset development progress threshold, the resource allocation mechanism is triggered; A3. Obtain task feature data and developer skill data of historical projects, and establish a support vector machine model based on the task feature data and developer skill data; A4. Obtain the task features of the current project, input the task features of the current project into the support vector machine model, and predict the priority of each task through the support vector machine model; A5. Obtain the skill data and work saturation data of developers, and use the Hungarian algorithm to calculate the personnel deployment plan based on the task priority prediction results, the skill data and work saturation data of developers; A6. Write the personnel deployment plan into the project management system database, trigger the project management system to automatically generate adjustment notifications, and update the project schedule; A7. Continuously monitor the development progress of key modules, regularly obtain actual progress data from the project management system, and determine whether the actual progress data is still below the preset development progress threshold; A8. If the actual progress data is still lower than the preset development progress threshold, return to step A2 and re-trigger resource allocation until the actual progress data is synchronized with the preset development progress threshold.

5. The method according to claim 1, characterized in that The Bayesian network model is constructed by taking hidden factors including team collaboration efficiency, technical debt accumulation, and sudden technical problems as nodes, constructing a probability relationship diagram, and quantifying the impact of hidden factors on progress, including: Obtain historical project data, use the maximum likelihood estimation method to estimate the conditional probability distribution parameters of each node in the Bayesian network model, and obtain the probability distribution of team collaboration efficiency, technical debt accumulation, and hidden factors of sudden technical problems; The Monte Carlo simulation method is used to randomly generate multiple combinations of implicit factors, which are input into the Bayesian network model to calculate the conditional probability distribution of the project progress under each combination, and to quantify the distribution of the impact of implicit factors on the project progress. Based on the information gain principle, the information entropy of the conditional probability distribution of the project schedule is calculated. By comparing the changes in the information entropy after introducing each implicit factor node, the significance of the impact of each implicit factor on the project schedule is judged, and the key factors with the greatest impact on the schedule are identified; For key hidden factors, evaluate the impact of their current status on the project progress, and compare the probability of progress delay under the current status with the preset delay risk threshold. If the threshold is exceeded, an early warning is triggered to prompt project managers to take countermeasures; During the project implementation process, we continuously collect project progress, human resources input and demand change tracking data, use data preprocessing technology to convert the data into the input of the Bayesian network model, and use the maximum a posteriori probability estimation method to combine the prior distribution and the newly collected data to dynamically update the probability distribution of the hidden factor nodes, continuously optimize the Bayesian network model, and improve the accuracy of project progress prediction; If the impact of a hidden factor on the project progress continues to exceed expectations, the progress delay caused by the factor will be diagnosed and quantified, and the proportion of the delayed time to the planned progress will be evaluated. If it exceeds the preset threshold, the project manager will be prompted to evaluate the necessity of adjusting the project plan, weigh the progress goals, risk tolerance and resource input factors, and adjust the project plan in a timely manner to control progress risks.

6. The method according to claim 1, characterized in that The method of dynamically updating module development time estimates based on real-time progress data and Bayesian network output, generating an adjusted progress plan, and feeding the adjusted progress plan back to the resource allocation mechanism includes: Obtain real-time project progress data and convert it into the input format of the pre-built Bayesian network model through data preprocessing; The processed data is input into the Bayesian network model, and the development time estimation results of each module are obtained through reasoning analysis; Compare the module development time estimation results output by the Bayesian network model with the time estimation value in the original schedule and calculate the estimation deviation; If the estimation deviation exceeds the preset threshold, the schedule adjustment process is triggered. According to the module development time estimation result, the milestone time nodes and the planned time of key tasks in the original schedule are modified to generate an adjusted schedule. Analyze the impact of the adjusted schedule on the overall project progress through the critical path method, and determine the adjustment range and impact scope of the schedule; The adjusted schedule is used as input, and the resource allocation plan is optimized through genetic algorithm. The total project duration and resource utilization rate are taken as optimization targets. Through the selection, crossover and mutation operations of genetic algorithm, a resource allocation plan that meets the schedule constraints and has a resource utilization rate higher than the preset threshold is obtained; Apply the optimized resource allocation plan to project management, dynamically adjust resource allocation through the project management system, and ensure that the project is executed according to the adjusted schedule.

7. The method according to claim 1, characterized in that If the deviation between the output of the progress prediction model and the actual situation exceeds a preset threshold, the model self-learning mechanism is triggered to retrain the progress prediction model and update the Bayesian network and adaptive filtering parameters, including: Obtain the output results of the software development progress prediction model and the actual situation data in the corresponding time period, and calculate the deviation value between the output results and the actual situation data; Determine whether the deviation value exceeds the preset threshold. If so, trigger the model self-learning mechanism; The actual situation data is used as training data, and the naive Bayes classification algorithm is used to optimize and update the parameters of the progress prediction model to obtain the optimized model parameters; Among them, the naive Bayes classification algorithm is used to optimize and update the parameters of the progress prediction model, including: calculating the posterior probability under different parameter values, and selecting the parameter value with the largest posterior probability as the optimized model parameter; Preprocessing the input data of the progress prediction model by using the Kalman filter algorithm to obtain preprocessed input data; Among them, the input data of the progress prediction model is preprocessed by the Kalman filter algorithm, including: establishing state equations and observation equations, estimating the true value of the input data, and removing noise and interference in the input data; Applying the optimized model parameters and the preprocessed input data to the progress prediction model to obtain an optimized progress prediction model; Use the optimized progress prediction model to predict new input data and output the prediction results.

Citation Information

Patent Citations

  • BIM-based building construction management system and method

    CN118536716A

  • Hydraulic engineering progress prediction system based on multiple construction stages

    CN118886677A

  • Software development management system

    CN118886837A

  • Work task management system

    CN119026894A

  • Method and System for Adaptive Project Risk Management

    US20080255910A1

Cited By

  • Test risk identification method and system based on artificial intelligence

    CN119988240A

  • Bridge construction progress monitoring method and system based on BIM

    CN120047119A

  • Whole vehicle development progress management method and system

    CN120278537A

  • Engineering construction digital project management method and system

    CN120494758A

  • Enterprise resource scheduling optimization method based on artificial intelligence and large model algorithm

    CN120822757A