Software development management method and system based on big data
Through the software development management method based on big data, the number of development delay days, influence coefficient and priority are calculated, the risk level is marked and the working hours are adjusted, which solves the problem that traditional methods are difficult to predict project progress and improves the efficiency of software development.
Patent Information
- Application Number
- CN202510130655.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-06
- Publication Date
- 2025-05-16
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional software development project management methods are difficult to flexibly adjust and accurately predict project progress when facing complex and dynamic needs, especially in evaluating and predicting project progress.
Using a software development management method based on big data, we use the acquisition of development problem data, calculate the development delay days, influence coefficient and priority, mark the risk level, and adjust the working hours according to the risk level to improve the efficiency of software development.
Through quantitative analysis and risk assessment, optimize project management and resource allocation, improve software development efficiency, and ensure accurate prediction and flexible adjustment of project progress.
Smart Images

Figure CN120013250A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software development management, and in particular to a software development management method and system based on big data. Background Art
[0002] With the rapid development of modern information technology, computer software has become an indispensable part of all walks of life, and its complexity and scale are also growing. This not only enhances the role of software in business operations, but also brings unprecedented challenges to software development management. Traditional software development project management relies on linear tools such as task breakdown structure (WBS) and Gantt chart to plan schedules, allocate resources, and track task status. However, as the complexity of the project increases, such static methods gradually expose their limitations, especially in the face of dynamically changing needs, it is difficult to flexibly adjust and accurately predict project progress.
[0003] In an existing software development platform, task management is adopted. First, a series of tasks are created according to the overall planning of the project. Each task contains detailed description, responsible person, priority, estimated start time and end time, and can create different types of artifacts such as user stories and defects. Next, the dependencies between tasks are clarified through "blocking" relationships or custom fields to ensure that some tasks must be completed before other tasks can be started; advanced plug-ins are used to visually display these dependencies in the form of Gantt charts. During the execution of tasks, Kanban boards or sprint boards are used to track changes in task status, and the remaining workload is monitored through burndown charts to identify potential risk points in a timely manner. In addition, the priorities of tasks are regularly reviewed and adjusted according to factors such as business needs and technical challenges, and high-priority tasks are quickly located using tags and filters. Finally, after each iteration, various statistical charts are generated to evaluate team performance, and retrospective meetings are organized to summarize lessons learned, and action plans are added as new tasks to the next iteration.
[0004] However, this task-based task management system has certain defects, especially in evaluating and predicting the progress of the project. Since it only focuses on the completion of the task itself and ignores the impact of the task on the overall project progress, it is difficult to make accurate decisions. For example, when encountering emergency changes or delays on the critical path, there is a lack of effective mechanisms to quantify and analyze the specific impact of these changes on the deadline, resulting in low software development efficiency. Summary of the invention
[0005] The present invention provides a software development management method and system based on big data to improve software development efficiency.
[0006] In a first aspect, in order to solve the above technical problems, the present invention provides a software development management method based on big data, comprising: Get development problem data; Counting the number of days of delay according to the development problem data to obtain the number of days of development delay; Calculate the influence according to the development delay days and the development problem data to obtain a development impact coefficient; Calculate the priority according to the development delay days and the development impact coefficient to obtain the development priority; Perform risk marking according to the priority and the development-related problem data to determine the risk level of each development-related problem; The working hours for each development type of problem are adjusted according to the risk level and the preset periodic adjustment rules.
[0007] In an optional implementation, the counting of the number of days of delay according to the development problem data to obtain the number of days of development delay includes: For completed development issues, the recorded delay time will be used as the development delay days; For unfinished development problems, the following formula is used for calculation: ;
[0008] in, The number of days for development extension, The number of days for extension for relevance issues, is the total number of related questions, The basic number of days for extension. It is the serial number of the related question.
[0009] In an optional implementation, the influence calculation is performed according to the development delay days and the development problem data to obtain the development influence coefficient, including: The development impact coefficient is calculated by the following formula: ;
[0010] in, To develop the impact coefficient, The number of days for development extension, is the critical path weight of the problem, The total duration of the project.
[0011] In an optional implementation, the process of obtaining the critical path weight of the problem includes: Perform path optimization according to the development problem data to obtain the optimal path; Marking the development issues on the optimal path as critical issues; Mark development issues outside the optimal path as non-critical issues; Setting the critical path weight of the critical problem to a preset first weight; The critical path weight of non-critical issues is calculated by the following formula: ;
[0012] in, for The critical path weight of the development problem, is the weight base, for The floating time for development issues, The maximum float time for all non-critical tasks in the project.
[0013] In an optional implementation manner, the priority is calculated according to the development delay days and the development impact coefficient to obtain the development priority, including: The development priority is calculated using the following formula: ;
[0014] in, For development priorities, The number of days for development extension, To develop the impact coefficient, is the critical path weight of the problem, for Development delay days for development issues, for The development impact coefficient of the development problem, for The critical path weight of development-related problems.
[0015] In an optional implementation, the risk marking according to the priority and the development problem data to determine the risk level of each development problem includes: The impact of the current cycle is obtained by multiplying the development priority by the development delay days; Traversing all development issues in sequence, when the development delay days are less than the current cycle impact, determining the risk level of the corresponding development issue as high risk; When the development delay days are greater than the current cycle impact, the risk level of the corresponding development-related problem is determined to be low risk.
[0016] In an optional implementation, adjusting the working hours for each development problem according to the risk level and a preset period adjustment rule includes: When the risk level is high risk, the working hours of the development problem are multiplied by a preset first coefficient, and a preset emergency buffer working hours are added; When the risk level is low risk, genetic optimization is performed according to the following fitness formula to obtain the optimal working hours: ;
[0017] in, for The fitness of the development problem, is the longest estimated working time without adjustment. for The estimated working hours after the adjustment of the development issues.
[0018] In a second aspect, the present invention provides a software development management system based on big data, comprising: Data acquisition module, used to obtain development problem data; A delay statistics module is used to count the delay days according to the development problem data to obtain the development delay days; An impact calculation module, used to calculate the impact according to the development delay days and the development problem data to obtain a development impact coefficient; A priority calculation module, used to calculate the priority according to the development delay days and the development impact coefficient to obtain the development priority; A risk marking module, used to mark risks according to the priority and the development problem data, and determine the risk level of each development problem; The working hours adjustment module is used to adjust the working hours of various development issues according to the risk level and the preset periodic adjustment rules.
[0019] In a third aspect, the present invention also provides an electronic device comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, it implements any one of the above-mentioned software development management methods based on big data.
[0020] In a fourth aspect, the present invention also provides a computer-readable storage medium, which includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute any one of the above-mentioned big data-based software development management methods.
[0021] Compared with the prior art, the present invention has the following beneficial effects: the present invention discloses a software development management method and system based on big data, the method comprising: obtaining development problem data; performing statistics on the number of days of delay according to the development problem data to obtain the number of days of development delay; performing influence calculation according to the number of days of development delay and the development problem data to obtain the development influence coefficient; performing priority calculation according to the number of days of development delay and the development influence coefficient to obtain the development priority; performing risk marking according to the priority and the development problem data to determine the risk level of each development problem; adjusting the working hours of each development problem according to the preset period adjustment rules according to the risk level. The present method has the following effects: the working hours can be adjusted according to the existing development problems to improve the software development efficiency.
[0022] Specifically, this method proposes a formula for calculating the number of days of delay for development problems by counting and calculating them, and quantifies the development impact coefficient by combining factors such as the total project duration and the critical path weight of the problem. For completed development problems, the actual delay time recorded is used as the development delay days. This is an intuitive and easy-to-implement method that ensures the authenticity and reliability of statistical data. For unfinished development problems, a calculation method is designed to estimate the number of days of delay. This method takes into account the number of related problems and the degree of impact of each related problem on the overall project progress, and reflects the minimum delay risk faced by the project even if there are no other related problems. This design embodies the scientific nature of mathematics and physics, that is, complex problems are simplified through quantitative analysis, making the evaluation more objective. Then, in order to calculate the development impact coefficient, another calculation formula is designed to further refine the measurement criteria for the impact of development delay. This method helps to identify which problems are the main factors that really affect the progress of the project, allowing project managers to prioritize these high-impact problems, optimize resource allocation, reduce unnecessary delays, and improve software development efficiency.
[0023] Furthermore, this method provides a set of solutions from quantitative analysis to risk management and resource allocation to improve the effectiveness and efficiency of project management. First, by calculating the development priority of each development issue, the importance and urgency of the issue can be evaluated based on specific values, so that resources and time can be allocated more scientifically.
[0024] Next, we implement a dynamic assessment of risk. The risk level of each development issue is determined by comparing the number of development delay days with the impact of the current cycle. If the number of development delay days for a development issue is less than its impact on the current cycle, the issue is marked as high risk; conversely, if the number of delay days is greater than the impact of the current cycle, it is classified as low risk. This risk marking method helps to identify potential risk points in advance, so that the team can take preventive measures or adjust plans in a timely manner.
[0025] For issues identified as high-risk, the method of increasing working hours and adding emergency buffer working hours is adopted to ensure that there is enough time to deal with the situation. For low-risk issues, the working hours are adjusted through the optimization algorithm to achieve the best resource allocation. The two strategies of increasing working hours and adding emergency buffer working hours to deal with high-risk issues and using genetic algorithms to optimize resource allocation for low-risk issues provide significant technical improvements for software development project management.
[0026] For high-risk issues, allocating additional work hours and introducing emergency buffer time can provide a more flexible time frame to cope with uncertainty. This will not only help alleviate the progress delays caused by unexpected situations, but also maintain the stable progress of the project.
[0027] For low-risk problems, applying genetic algorithms to optimize work schedules is an innovative and effective solution. Genetic algorithms are search heuristic algorithms based on the principles of natural selection and genetics, which can find the global optimal or approximate global optimal solution in a complex solution space. In software development scenarios, this means that the best resource allocation solution can be iteratively found by simulating evolutionary processes (such as selection, crossover, mutation and other operations). Compared with traditional linear programming or simplex methods, genetic algorithms are more adaptable to optimization requirements under nonlinear, multi-variable and multi-constraint conditions, thereby improving efficiency and accuracy. Improve the efficiency of software development. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 This is a flowchart of a software development management method based on big data provided by the first embodiment of the present invention; Figure 2 It is a structural diagram of a software development management system based on big data provided by the second embodiment of the present invention. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not 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.
[0030] With the rapid development of modern information technology, computer software has become an indispensable part of all walks of life, and its complexity and scale are also growing. This not only enhances the role of software in business operations, but also brings unprecedented challenges to software development management. Traditional software development project management relies on linear tools such as task breakdown structure (WBS) and Gantt chart to plan schedules, allocate resources, and track task status. However, as the complexity of the project increases, such static methods gradually expose their limitations, especially in the face of dynamically changing needs, it is difficult to flexibly adjust and accurately predict project progress.
[0031] In an existing software development platform, task management is adopted. First, a series of tasks are created according to the overall planning of the project. Each task contains detailed description, responsible person, priority, estimated start time and end time, and can create different types of artifacts such as user stories and defects. Next, the dependencies between tasks are clarified through "blocking" relationships or custom fields to ensure that some tasks must be completed before other tasks can be started; advanced plug-ins are used to visually display these dependencies in the form of Gantt charts. During the execution of tasks, Kanban boards or sprint boards are used to track changes in task status, and the remaining workload is monitored through burndown charts to identify potential risk points in a timely manner. In addition, the priorities of tasks are regularly reviewed and adjusted according to factors such as business needs and technical challenges, and high-priority tasks are quickly located using tags and filters. Finally, after each iteration, various statistical charts are generated to evaluate team performance, and retrospective meetings are organized to summarize lessons learned, and action plans are added as new tasks to the next iteration.
[0032] However, this task-based task management system has certain defects, especially in evaluating and predicting the progress of the project. Since it only focuses on the completion of the task itself and ignores the impact of the task on the overall project progress, it is difficult to make accurate decisions. For example, when encountering emergency changes or delays on the critical path, there is a lack of effective mechanisms to quantify and analyze the specific impact of these changes on the deadline, resulting in low software development efficiency.
[0033] To solve the above problems, refer to Figure 1 The first embodiment of the present invention provides a software development management method based on big data, comprising the following steps: S11, obtaining development problem data; S12, counting the number of days of delay according to the development problem data to obtain the number of days of development delay; S13, calculating the influence according to the development delay days and the development problem data to obtain a development influence coefficient; S14, calculating the priority according to the development delay days and the development impact coefficient to obtain the development priority; S15, performing risk marking according to the priority and the development-related problem data, and determining the risk level of each development-related problem; S16, adjusting the working hours for each development type problem according to the risk level and the preset period adjustment rules.
[0034] In step S11, development-related question data is obtained.
[0035] In one embodiment, the development problem data is stored in the form of a knowledge graph. The nodes in the knowledge graph include task nodes, each of which is an independent node containing specific information about the task, such as task ID, name, description, person in charge, expected start time and end time, etc. At the same time, development problems also exist as separate nodes, recording the time of discovery, severity level, status (such as fixed, pending verification, etc.), and which developer is assigned to solve them. In addition to the above entities, more important are the relationships (Edges) between them, which serve as edges in the knowledge graph. Including "depends on" relationships, indicating that a task depends on the completion of another task before it can start. Or "cause" relationships, describing that a defect is caused by a specific task or code segment. These nodes and edges form a complex network graph, in which each node can be connected to multiple other nodes, and each edge has its own unique attributes to describe the nature of the relationship.
[0036] In one implementation, a connection is established with a data source storing a knowledge graph through an API or a database interface. In subsequent searches, the data range to be obtained is first determined, such as all tasks within a specific time period, or development issues belonging to a specific project. The constructed query statement is sent to the graph database for execution to obtain qualified task nodes and development issue nodes and their associated edges. The returned data is parsed to extract key information of each node (such as task ID, name, description, expected start time and end time, etc.), as well as the attributes of each edge (such as relationship type, weight, etc.) to facilitate subsequent operations. Based on the parsed node and edge information, a network diagram reflecting the correlation between tasks and development issues is constructed. This can be achieved by adding nodes and edges to the graph object in memory, or by directly generating a visual chart for intuitive display. Necessary metadata is attached to each node and edge, such as status (fixed, pending verification), severity level, discovery time, etc., to enrich the semantic information of the data. At the same time, the person in charge of each task and the problem assigned to which developer is responsible for solving are recorded to facilitate responsibility tracking.
[0037] In step S12, the number of days of delay is counted according to the development problem data to obtain the number of days of development delay.
[0038] In one implementation, for completed development issues, the recorded delay time is used as the development delay days; For unfinished development problems, the following formula is used for calculation: ;
[0039] in, The number of days for development extension, Development delay for dependency issues, is the total number of related questions, The basic number of days for extension. It is the serial number of the related question.
[0040] It is worth noting that correlation issues refer to those issues that have direct or indirect dependencies with current development issues. For example, in software development, the implementation of one module depends on the completion of another module; or the testing of a function needs to wait until the relevant code is written. Determine which issues are interrelated through the dependencies in the knowledge graph traversal tool or other project management tools. For each unfinished development issue, the system will identify all other tasks, defects or requirement changes related to it, and record these related issues as the value of the development delay days. The total number of correlation issues refers to the number of the above-mentioned correlation issues. It is obtained from the project management system. When a development issue is marked as unfinished, the system will automatically find and count all the issues related to it and use them as the total value. The basic delay days are the minimum delay risk faced by the project even if there are no other correlation issues. This can be regarded as a conservative estimate to ensure that a certain time buffer is reserved even in the best case. It can be set to 0.2 days, which is not limited in this method. Furthermore, considering that not all related problems will cause the current problem to completely stagnate, but have a certain probabilistic impact, a compromise method is adopted to calculate the average impact degree.
[0041] In step S13, influence calculation is performed based on the development delay days and the development-related problem data to obtain a development influence coefficient.
[0042] In one implementation, the development impact coefficient is calculated using the following formula: ;
[0043] in, To develop the impact coefficient, The number of days for development extension, is the critical path weight of the problem, The total duration of the project.
[0044] In one implementation, path optimization is performed based on the development problem data to obtain an optimal path; Marking the development issues on the optimal path as critical issues; Mark development issues outside the optimal path as non-critical issues; Setting the critical path weight of the critical problem to a preset first weight; The critical path weight of non-critical issues is calculated by the following formula: ;
[0045] in, for The critical path weight of the development problem, is the weight base, for The floating time for development issues, The maximum float time for all non-critical tasks in the project.
[0046] It is worth noting that the development impact coefficient is used to quantify the impact of a development-related problem on the progress of the entire project. It reflects how much negative impact the project will have if the problem is delayed. This method uses the given formula for calculation. The problem critical path weight is used to measure whether a problem is on the "critical path" of the project, that is, the task chain that directly affects the final completion date of the project. Tasks on the critical path have high weights because any delay in them will directly lead to delays in the entire project. The total duration of the project is the time span from the start of the project to the expected end. It is a time frame that has been clearly defined in the project planning stage. It is a fixed time period expressed in days or other time units, such as 90 days. The first weight is set to 0.95, which is not limited by this method, but cannot be greater than 1.
[0047] In one implementation, the estimated completion time of the task is used as the weight of the edge. Development tasks are used as nodes to construct a graph structure network. That is, the entities in the knowledge graph and the relationships between them are converted into a weighted directed graph. Each development problem is used as a vertex, and the dependencies between them are weighted edges. In this way, there is a data structure that can be directly applied to graph algorithms. The Dijkstra algorithm is then applied to this weighted directed graph to obtain the optimal path with the shortest development time. Once the critical path is determined, the next step is to mark these critical development problems in the knowledge graph. This can be achieved by adding specific tags or attribute values so that they can be quickly located during subsequent management and monitoring.
[0048] In one embodiment, the Dijkstra algorithm process of the optimal path includes: determining the starting task of the project as the source node of the algorithm; creating a distance array to store the shortest path length from the source node to all other nodes, and initially setting all values except the source node to infinity. Create another predecessor node array to record the information of the previous node on the shortest path to each node for final reconstruction of the path. Use a priority queue implemented by a minimum heap to manage the nodes to be processed, and sort them from small to large according to the current known shortest path length. Starting from the source node, take out the front node in the queue in turn for processing. For each adjacent node of the node, if the obtained path is shorter than the existing record, update the distance array and the predecessor node array, and add the obtained adjacent node to the priority queue. When the priority queue is empty or the target node has been found (the last task of the project), stop the iteration and get the optimal path.
[0049] In step S14, priority is calculated based on the development delay days and the development impact coefficient to obtain the development priority.
[0050] In one implementation, the development priority is calculated using the following formula: ;
[0051] in, For development priorities, The number of days for development extension, To develop the impact coefficient, is the critical path weight of the problem, for Development delay days for development issues, for The development impact coefficient of the development problem, for The critical path weight of development-related problems.
[0052] It is worth noting that the development priority is the final calculated result, which indicates the importance or urgency of each development issue relative to all other issues. It determines which tasks should be prioritized. The longer a task is delayed, the greater its potential impact. By dividing the impact of a single issue by the sum of the impacts of all issues, a standardized ratio value, the development priority, can be obtained. This ensures that all priorities add up to 1 and that the priority of each issue is in the range of [0, 1] for subsequent calculations.
[0053] In step S15, risk marking is performed according to the priority and the development-related problem data to determine the risk level of each development-related problem.
[0054] In one implementation, the current cycle impact is obtained by multiplying the development priority and the development delay days; all development issues are traversed in turn, and when the development delay days are less than the current cycle impact, the risk level of the corresponding development issue is determined to be high risk; when the development delay days are greater than the current cycle impact, the risk level of the corresponding development issue is determined to be low risk.
[0055] It is worth noting that the current cycle affects the calculation. For example, for a development issue with a development priority of 0.8, there is a 5-day delay, so the calculated current cycle impact is 4 days. If the development delay days in the database are 3 days, this development issue is considered a high-risk issue.
[0056] In step S16, the working hours for each development problem are adjusted according to the risk level and the preset cycle adjustment rules.
[0057] In one implementation, when the risk level is high risk, the man-hours of the development-related issues are multiplied by a preset first coefficient, and a preset emergency buffer man-hour is added; When the risk level is low risk, genetic optimization is performed according to the following fitness formula to obtain the optimal working hours: ;
[0058] in, for The fitness of the development problem, is the longest estimated working time without adjustment. for The estimated working hours after the adjustment of the development issues.
[0059] In one embodiment, a genetic algorithm is applied to optimize working hours, including: creating an initial population, first, defining a "chromosome" to represent a candidate solution for each development class problem. The chromosome here is a time schedule vector for task allocation, in which each element represents a specific task and its corresponding estimated working hours. A certain number (e.g., 100) of such chromosomes are randomly generated as the initial population. The chromosome can be encoded with real numbers or integers to represent specific time units. For example, if a task is expected to take 5 days to complete, the value of the task in the chromosome is 5. The fitness is calculated according to the given fitness formula, and the higher the fitness means the better the solution, that is, the adjusted working hours are shorter and do not affect the project progress. Based on the fitness value of each individual, the roulette wheel selection method is used to select the parents in the next generation population. Individuals with high fitness have a greater probability of being selected, but it is not absolutely guaranteed, so that the population diversity can be maintained. Two individuals are randomly selected from the parent generation, and a crossover point is randomly selected between them. Then the parts of the two individuals starting from the crossover point are exchanged to generate two new offspring. For example, if the two parents are [3, 5, 7] and [2, 4, 6], and the crossover point is at the second position, the new offspring are [3, 4, 6] and [2, 5, 7]. This step is the crossover operation. Randomly select some individuals and make slight changes to some bits, such as changing the workload for a day. This mutation helps introduce new features and prevent the algorithm from converging to a local optimal solution too early. This step is the mutation operation. Replace some members of the old population with the new individuals that have been selected, crossed, and mutated to form a new generation of population. Repeat the above process until the convergence condition is reached or the maximum number of iterations is reached to obtain the optimal estimated working time.
[0060] In summary, the present invention discloses a software development management method based on big data, which aims to optimize project management and resource allocation through quantitative analysis and risk assessment. The method first obtains various types of problem data related to development, including but not limited to task completion status, defect reports, change requests, etc., which constitute a comprehensive description of the current status of software development. For solved problems, the actual delay time is directly recorded as the development delay days; for unsolved problems, the delay days are predicted based on the number of related problems and the degree of influence of each related problem on the overall progress. This process takes into account the minimum delay risk of the project even when there are no other related problems.
[0061] Furthermore, the method introduces the concept of development impact coefficient to measure the impact of a specific issue on the entire project schedule. This coefficient is calculated based on the number of days of development delay, whether the issue is on the critical path (i.e., the chain of tasks that have a direct impact on the deadline), and the total duration of the project. In order to determine which issues are critical, the system constructs a weighted directed graph and applies the shortest path algorithm such as Dijkstra algorithm to find the optimal path, thereby identifying those critical tasks that directly affect the project completion date. Non-critical tasks are given different weights based on the float time, thus forming a complete impact assessment system.
[0062] After clarifying the development impact coefficient of each issue, the next step is to calculate the priority. This step takes into account the development delay days and the development impact coefficient, aiming to assign a value that reflects its importance and urgency to each development issue - the development priority. This value not only determines the order of resource allocation, but also becomes the basis for subsequent risk management. By traversing and comparing all development issues, when the development delay days of a certain issue are less than the impact of the current cycle, it will be marked as high risk; otherwise, it will be regarded as low risk. This dynamic risk marking mechanism allows the team to identify potential risk points in advance and adjust plans accordingly.
[0063] Finally, we adopt differentiated work time adjustment strategies for problems with different risk levels: for high-risk problems, we increase the estimated work time and add emergency buffer time to ensure sufficient flexibility to deal with uncertainty; for low-risk problems, we use genetic algorithms to find the optimal work time arrangement to achieve the best allocation of resources. As a search heuristic algorithm, genetic algorithms can simulate the process of natural selection and iteratively find the global or approximate global optimal solution in a complex solution space. They are suitable for dealing with optimization problems under nonlinear, multi-variable and multi-constraint conditions, so that even more complex situations can get effective solutions.
[0064] In summary, the software development management method provided by the present invention not only focuses on the completion status of individual tasks, but also deeply analyzes the impact of these tasks on the overall project progress. This method uses precise data statistics and scientific mathematical models to respond to changes in a timely manner, reduce unnecessary delays, and improve the efficiency of software development management.
[0065] Reference Figure 2 The second embodiment of the present invention provides a software development management system based on big data, including: Data acquisition module, used to obtain development problem data; A delay statistics module is used to count the delay days according to the development problem data to obtain the development delay days; An impact calculation module, used to calculate the impact according to the development delay days and the development problem data to obtain a development impact coefficient; A priority calculation module, used to calculate the priority according to the development delay days and the development impact coefficient to obtain the development priority; A risk marking module, used to mark risks according to the priority and the development problem data, and determine the risk level of each development problem; The working hours adjustment module is used to adjust the working hours of various development issues according to the risk level and the preset periodic adjustment rules.
[0066] Preferably, the data acquisition module is used to: Get development issue data.
[0067] Preferably, the delay statistics module is used to: The number of days of delay is counted according to the development problem data to obtain the number of days of development delay, including: For completed development issues, the recorded delay time will be used as the development delay days; For unfinished development problems, the following formula is used for calculation: ;
[0068] in, The number of days for development extension, Development delay for dependency issues, is the total number of related questions, The basic number of days for extension. It is the serial number of the related question.
[0069] Preferably, the impact calculation module is used to: The influence is calculated based on the development delay days and the development problem data to obtain the development impact coefficient, including: The development impact coefficient is calculated by the following formula: ;
[0070] in, To develop the impact coefficient, The number of days for development extension, is the critical path weight of the problem, The total duration of the project.
[0071] Preferably, the process of obtaining the critical path weight of the problem includes: Perform path optimization according to the development problem data to obtain the optimal path; Marking the development issues on the optimal path as critical issues; Mark development issues outside the optimal path as non-critical issues; Setting the critical path weight of the critical problem to a preset first weight; The critical path weight of non-critical issues is calculated by the following formula: ;
[0072] in, for The critical path weight of the development problem, is the weight base, for The floating time for development issues, The maximum float time for all non-critical tasks in the project.
[0073] Preferably, the priority calculation module is used to: The priority is calculated according to the development delay days and the development impact coefficient to obtain the development priority, including: The development priority is calculated using the following formula: ;
[0074] in, For development priorities, The number of days for development extension, To develop the impact coefficient, is the critical path weight of the problem, for Development delay days for development issues, for The development impact coefficient of the development problem, for The critical path weight of development-related problems.
[0075] Preferably, the risk marking module is used to: Risk marking is performed according to the priority and the development problem data to determine the risk level of each development problem, including: The impact of the current cycle is obtained by multiplying the development priority by the development delay days; Traversing all development issues in sequence, when the development delay days are less than the current cycle impact, determining the risk level of the corresponding development issue as high risk; When the development delay days are greater than the current cycle impact, the risk level of the corresponding development-related problem is determined to be low risk.
[0076] Preferably, the working hours adjustment module is used to: According to the risk level and the preset cycle adjustment rules, the working hours for each development problem are adjusted, including: When the risk level is high risk, the working hours of the development problem are multiplied by a preset first coefficient, and a preset emergency buffer working hours are added; When the risk level is low risk, genetic optimization is performed according to the following fitness formula to obtain the optimal working hours: ;
[0077] in, for The fitness of the development problem, is the longest estimated working time without adjustment. for The estimated working hours after the adjustment of the development issues.
[0078] It should be noted that the software development management system based on big data provided in an embodiment of the present invention is used to execute all the process steps of the software development management method based on big data in the above embodiment. The working principles and beneficial effects of the two correspond one to one, so they will not be repeated here.
[0079] The embodiment of the present invention further provides an electronic device. The electronic device includes: a processor, a memory, and a computer program stored in the memory and executable on the processor, such as a data acquisition program. When the processor executes the computer program, the steps in the above-mentioned software development management method based on big data are implemented, such as Figure 1 Alternatively, when the processor executes the computer program, the functions of each module / unit in the above-mentioned device embodiments are implemented, such as the data module.
[0080] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory and executed by the processor to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of implementing specific functions, which are used to describe the execution process of the computer program in the electronic device.
[0081] The electronic device may be a computing device such as a desktop computer, a notebook, a PDA, and a smart tablet. The electronic device may include, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that the above components are merely examples of electronic devices and do not constitute a limitation on the electronic device. The electronic device may include more or fewer components than the above components, or may combine certain components, or different components. For example, the electronic device may also include input and output devices, network access devices, buses, etc.
[0082] The processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the electronic device, and uses various interfaces and lines to connect various parts of the entire electronic device.
[0083] The memory can be used to store the computer program and / or module, and the processor realizes various functions of the electronic device by running or executing the computer program and / or module stored in the memory, and calling the data stored in the memory. The memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0084] Wherein, if the module / unit integrated in the electronic device is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0085] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art may understand and implement it without paying any creative effort.
[0086] The specific embodiments described above further illustrate the purpose, technical solutions and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. It is particularly pointed out that for those skilled in the art, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of protection of the present invention.
Claims
1. A software development management method based on big data, characterized in that: include: Get development problem data; Counting the number of days of delay according to the development problem data to obtain the number of days of development delay; Calculate the influence according to the development delay days and the development problem data to obtain a development impact coefficient; Calculate the priority according to the development delay days and the development impact coefficient to obtain the development priority; Perform risk marking according to the priority and the development-related problem data to determine the risk level of each development-related problem; The working hours for each development type of problem are adjusted according to the risk level and the preset periodic adjustment rules.
2. The software development management method based on big data according to claim 1, characterized in that: The counting of the number of days of delay according to the development problem data to obtain the number of days of development delay includes: For completed development issues, the recorded delay time will be used as the development delay days; For unfinished development problems, the following formula is used for calculation: ;in, The number of days for development extension, Development delay for dependency issues, is the total number of related questions, The basic number of days for extension. It is the serial number of the related question.
3. The software development management method based on big data according to claim 1, characterized in that: The influence calculation is performed according to the development delay days and the development problem data to obtain the development influence coefficient, including: The development impact coefficient is calculated by the following formula: ;in, To develop the impact coefficient, The number of days for development extension, is the critical path weight of the problem, The total duration of the project.
4. The software development management method based on big data according to claim 3 is characterized in that: The process of obtaining the critical path weight of the problem includes: Perform path optimization according to the development problem data to obtain the optimal path; Marking the development issues on the optimal path as critical issues; Mark development issues outside the optimal path as non-critical issues; Setting the critical path weight of the critical problem to a preset first weight; The critical path weight of non-critical issues is calculated by the following formula: ;in, for The critical path weight of the development problem, is the weight base, for The floating time for development issues, The maximum float time for all non-critical tasks in the project.
5. The software development management method based on big data according to claim 1, characterized in that: The priority is calculated according to the development delay days and the development impact coefficient to obtain the development priority, including: The development priority is calculated using the following formula: ;in, For development priorities, The number of days for development extension, To develop the impact coefficient, is the critical path weight of the problem, for Development delay days for development issues, for The development impact coefficient of the development problem, for The critical path weight of development-related problems.
6. The software development management method based on big data according to claim 1, characterized in that: The risk marking according to the priority and the development problem data to determine the risk level of each development problem includes: The impact of the current cycle is obtained by multiplying the development priority by the development delay days; Traversing all development issues in sequence, when the development delay days are less than the current cycle impact, determining the risk level of the corresponding development issue as high risk; When the development delay days are greater than the current cycle impact, the risk level of the corresponding development-related problem is determined to be low risk.
7. The software development management method based on big data according to claim 1, characterized in that: The adjusting of the working hours for each development problem according to the risk level and the preset period adjustment rules includes: When the risk level is high risk, the working hours of the development problem are multiplied by a preset first coefficient, and a preset emergency buffer working hours are added; When the risk level is low risk, genetic optimization is performed according to the following fitness formula to obtain the optimal working hours: ;in, for The fitness of the development problem The longest estimated working hours without adjustment. for The estimated working hours after the adjustment of the development issues.
8. A software development management system based on big data, characterized in that: include: Data acquisition module, used to obtain development problem data; A delay statistics module is used to count the delay days according to the development problem data to obtain the development delay days; An impact calculation module, used to calculate the impact according to the development delay days and the development problem data to obtain a development impact coefficient; A priority calculation module, used to calculate the priority according to the development delay days and the development impact coefficient to obtain the development priority; A risk marking module, used to mark risks according to the priority and the development problem data, and determine the risk level of each development problem; The working hours adjustment module is used to adjust the working hours of various development issues according to the risk level and the preset periodic adjustment rules.
9. An electronic device, characterized in that: It includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, and when the processor executes the computer program, it implements the big data-based software development management method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute the big data-based software development management method as described in any one of claims 1 to 7.