CN120013250A - A software development management method and system based on big data - Google Patents
A software development management method and system based on big data Download PDFInfo
- Publication number
- CN120013250A CN120013250A CN202510130655.9A CN202510130655A CN120013250A CN 120013250 A CN120013250 A CN 120013250A CN 202510130655 A CN202510130655 A CN 202510130655A CN 120013250 A CN120013250 A CN 120013250A
- Authority
- CN
- China
- Prior art keywords
- development
- days
- delay
- priority
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Biophysics (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Development Economics (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to the technical field of software development management and discloses a software development management method and system based on big data, wherein the method comprises the steps of obtaining development type problem data; counting delay days according to the development problem data to obtain development delay days, calculating influence according to the development delay days and the development problem data to obtain development influence coefficients, calculating priority according to the development delay days and the development influence coefficients to obtain development priority, marking risks according to the priority and the development problem data to determine risk grades of all development problems, and adjusting working hours of all development problems according to preset period adjustment rules according to the risk grades. The method has the following effects that the working hours can be adjusted according to the existing development problem data, and the software development efficiency is improved.
Description
Technical Field
The invention relates to the technical field of software development management, in particular to a software development management method and system based on big data.
Background
In the context of rapid development of modern information technology, computer software has become an integral part of various industries, and its complexity and scale have also been increasing. This not only promotes the role of software in business operations, but also presents unprecedented challenges to software development and management efforts. Traditional software development project management relies on linear task decomposition structures (WBSs) and gante graphs, among other tools, to plan progress, allocate resources, and track task status. However, as the complexity of the project increases, such static approaches increasingly expose limitations, particularly when faced with dynamically changing demands, that make it difficult to flexibly adjust and accurately predict project progress.
In one existing software development platform employing task management, a series of tasks are first created according to the overall planning of the project, each task containing detailed description, responsible person, priority, predicted start time and end time, etc., and different types of artifacts such as user stories, defects, etc. can be created. Then, the dependency relationship among the tasks is defined through the blocking relationship or the custom field, so that certain tasks are ensured to be finished first to start other tasks, and the dependency relationship is intuitively displayed in a Gantt chart form by utilizing an advanced plug-in. In the task execution process, a billboard or a sprint board is used for tracking the change of the task state, and residual workload is monitored through a burnout diagram so as to timely identify potential risk points. In addition, the priorities of tasks are periodically checked and adjusted according to factors such as business requirements, technical challenges and the like, and high-priority tasks are rapidly positioned by using labels and filters. Finally, after each iteration is finished, various statistical charts are generated to evaluate team performances, and the review meeting is organized to summarize experience training, and the action plan is added to the next iteration as a new task.
However, such task-based task management systems suffer from certain drawbacks, particularly in terms of evaluating and predicting the progress of the project. This makes it difficult to make decisions accurately, since only the completion of the task itself is of interest, and the impact of the task on the overall project progress is ignored. For example, when emergency changes or delays on critical paths are encountered, there is a lack of efficient mechanisms to quantitatively analyze the specific impact of these changes on deadlines, resulting in inefficiency in software development.
Disclosure of Invention
The invention provides a software development management method and system based on big data, which are used for improving software development efficiency.
In order to solve the above technical problems, the present invention provides a software development management method based on big data, including:
acquiring development class problem data;
Counting delay days according to the development type problem data to obtain development delay days;
Performing influence calculation according to the development delay days and the development type problem data to obtain a development influence coefficient;
Performing priority calculation according to the development delay days and the development influence coefficient to obtain development priority;
carrying out risk marking according to the priority and the development problem data, and determining the risk level of each development problem;
And adjusting the working hours of each development type problem according to the risk level and a preset period adjustment rule.
In an optional implementation manner, the counting of the delay days according to the development class problem data to obtain development delay days includes:
For the completed development problems, taking the recorded delay time as the development delay days;
for development class problems that are not completed, the following formula is used to calculate:
;
Wherein, In order to develop the number of days of delay,As a deferred day for the relevance problem,As a total number of association questions,In order to delay the basal days,Is the relevance problem serial number.
In an optional implementation manner, the calculating the influence according to the development delay days and the development class problem data to obtain a development influence coefficient includes:
the development influence coefficient is calculated by the following formula:
;
Wherein, In order to develop the coefficient of influence,In order to develop the number of days of delay,For the critical path weight of the problem,Is the total duration of the project.
In an alternative embodiment, the acquiring process of the critical path weight of the problem includes:
Path optimization is carried out according to the development problem data, and an optimal path is obtained;
Marking development type problems on the optimal path as critical problems;
Marking development type problems outside the optimal path as non-critical problems;
setting the problem critical path weight of the critical problem to a preset first weight;
The problem critical path weights for non-critical problems are calculated by the following formula:
;
Wherein, Is thatQuestion critical path weights for the number development class questions,As a basis for the weight of the weight,Is thatThe float time of the number development class problem,Is the maximum float time for all non-critical tasks in the project.
In an alternative embodiment, the calculating the priority according to the development delay days and the development influence coefficient to obtain the development priority includes:
Development priority is calculated by the following formula:
;
Wherein, In order to develop the degree of priority,In order to develop the number of days of delay,In order to develop the coefficient of influence,For the critical path weight of the problem,Is thatDevelopment delay days of the number development class problem,Is thatDevelopment influence coefficients of the number development class problem,Is thatQuestion critical path weights for number development class questions.
In an optional embodiment, the determining the risk level of each development problem according to the priority and the development problem data includes:
multiplying the development priority by the development delay days to obtain the influence of the current period;
Traversing all development problems in sequence, and determining the risk level of the corresponding development problems as high risk when the development delay days are smaller than the influence of the current period;
and when the development delay days are larger than the current period influence, determining the risk level of the corresponding development type problem as low risk.
In an optional implementation manner, the adjusting the working hours of each development type problem according to the risk level and the preset period adjustment rule includes:
When the risk level is high risk, multiplying the working hours of the development type problems by a preset first coefficient, and adding preset emergency buffering working hours;
and when the risk level is low risk, carrying out genetic optimization according to the following fitness formula to obtain the optimal working hours:
;
Wherein, Is thatThe degree of adaptation of the number development class problem,For the longest estimated man-hour without adjustment,Is thatNumber development class problem, and number development class problem.
In a second aspect, the present invention provides a software development management system based on big data, including:
the data acquisition module is used for acquiring development type problem data;
the delay statistics module is used for counting delay days according to the development type problem data to obtain development delay days;
The influence calculation module is used for calculating influence according to the development delay days and the development class problem data to obtain a development influence coefficient;
The priority calculation module is used for calculating priority according to the development delay days and the development influence coefficient to obtain development priority;
the risk marking module is used for marking risks according to the priority and the development problem data and determining the risk level of each development problem;
And the working hour adjusting module is used for adjusting the working hour of each development problem according to the risk level and a preset period adjusting rule.
In a third aspect, the present invention further provides an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, where the processor implements a big data based software development management method according to any one of the above when executing the computer program.
In a fourth aspect, the present invention further provides a computer readable storage medium, where the computer readable storage medium includes a stored computer program, where when the computer program runs, the device where the computer readable storage medium is controlled to execute a software development management method based on big data as described in any one of the above.
Compared with the prior art, the method and the system have the beneficial effects that the method and the system for managing software development based on big data are disclosed, the method comprises the steps of obtaining development problem data, counting delay days according to the development problem data to obtain development delay days, calculating influence according to the development delay days and the development problem data to obtain development influence coefficients, calculating priority according to the development delay days and the development influence coefficients to obtain development priority, carrying out risk marking according to the priority and the development problem data to determine risk levels of various development problems, and adjusting working hours of various development problems according to preset period adjustment rules according to the risk levels. The method has the following effects that the man-hour can be adjusted according to the existing development problem, and the software development efficiency is improved.
Specifically, the method provides a delay day formula for developing problems through statistics and calculation, and quantifies development influence coefficients by combining factors such as total project duration, critical path weights of the problems and the like. For the development problems which are already completed, the recorded actual delay time is taken as the development delay days. This is an intuitive and easy to implement method, ensuring the authenticity and reliability of the statistics. For incomplete development problems, a calculation method is designed to delay days. The method considers the number of relevance questions and the influence degree of each relevance question on the overall project progress, and reflects the minimum delay risk of the project even if no other relevance questions exist. This design embodies the scientificity of mathematical physics, i.e., the complex problem is simplified by quantitative analysis, making the assessment more objective. Then, in order to calculate the development influence coefficient, another calculation formula is designed, and the measurement standard of the development delay influence is further refined. The method is helpful for identifying which problems are main factors really influencing project progress, so that project managers are allowed to preferentially process the problems with high influence coefficients, resource allocation is optimized, unnecessary delay time is reduced, and software development efficiency is improved.
Furthermore, the method provides a set of solution flow from quantitative analysis to risk management and resource allocation so as to improve the effect and efficiency of project management. First, by calculating the development priority of each development class problem, the importance and urgency of the problem can be evaluated according to specific numerical values, thereby more scientifically distributing resources and time.
Then, a dynamic assessment of risk is achieved. Determining the risk level of each development class problem is accomplished by comparing the development delay days to the current cycle impact. A development class problem is marked as high risk if the number of deferred days is less than its current cycle impact, and otherwise classified as low risk if the number of deferred days is greater than the current cycle impact. Such risk marking means helps to identify potential risk points ahead of time so that teams can take preventive measures or adjust plans in time.
For the problem determined to be high risk, a method of increasing man-hours and adding emergency buffer man-hours is adopted, ensuring that there is enough time to cope with the situation. Aiming at the problem of low risk, the man-hour arrangement is adjusted by an optimization algorithm so as to achieve the optimal resource configuration. The two strategies provide significant technical improvements for software development project management, including the method of adding man-hours and adding emergency buffer man-hours to handle high risk problems and the method of optimizing resource allocation of low risk problems using genetic algorithms.
For high risk problems, additional distribution man-hours and introduction of emergency buffer time can provide a more flexible time frame to cope with uncertainty. This not only helps to alleviate progress delays caused by accidents, thereby maintaining stable progress of the project.
Optimization of man-hour scheduling by applying genetic algorithms is an innovative and effective solution to the low risk problem. The genetic algorithm is a search heuristic algorithm based on natural selection and genetic principles, and can find a globally optimal or near globally optimal solution in a complex solution space. In a software development scenario, this means that the best resource allocation scheme can be iteratively found by simulating the evolution process (e.g. selection, crossover, mutation, etc.). Compared with the traditional linear programming or simplex method, the genetic algorithm can be more suitable for the optimization requirements under nonlinear, multivariable and multi-constraint conditions, so that the efficiency and the accuracy are improved. The efficiency of software development is improved.
Drawings
FIG. 1 is a schematic flow chart of a software development management method based on big data according to a first embodiment of the present invention;
Fig. 2 is a schematic structural diagram of a software development management system based on big data according to a second embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the context of rapid development of modern information technology, computer software has become an integral part of various industries, and its complexity and scale have also been increasing. This not only promotes the role of software in business operations, but also presents unprecedented challenges to software development and management efforts. Traditional software development project management relies on linear task decomposition structures (WBSs) and gante graphs, among other tools, to plan progress, allocate resources, and track task status. However, as the complexity of the project increases, such static approaches increasingly expose limitations, particularly when faced with dynamically changing demands, that make it difficult to flexibly adjust and accurately predict project progress.
In one existing software development platform employing task management, a series of tasks are first created according to the overall planning of the project, each task containing detailed description, responsible person, priority, predicted start time and end time, etc., and different types of artifacts such as user stories, defects, etc. can be created. Then, the dependency relationship among the tasks is defined through the blocking relationship or the custom field, so that certain tasks are ensured to be finished first to start other tasks, and the dependency relationship is intuitively displayed in a Gantt chart form by utilizing an advanced plug-in. In the task execution process, a billboard or a sprint board is used for tracking the change of the task state, and residual workload is monitored through a burnout diagram so as to timely identify potential risk points. In addition, the priorities of tasks are periodically checked and adjusted according to factors such as business requirements, technical challenges and the like, and high-priority tasks are rapidly positioned by using labels and filters. Finally, after each iteration is finished, various statistical charts are generated to evaluate team performances, and the review meeting is organized to summarize experience training, and the action plan is added to the next iteration as a new task.
However, such task-based task management systems suffer from certain drawbacks, particularly in terms of evaluating and predicting the progress of the project. This makes it difficult to make decisions accurately, since only the completion of the task itself is of interest, and the impact of the task on the overall project progress is ignored. For example, when emergency changes or delays on critical paths are encountered, there is a lack of efficient mechanisms to quantitatively analyze the specific impact of these changes on deadlines, resulting in inefficiency in software development.
In order to solve the above problems, referring to fig. 1, a first embodiment of the present invention provides a software development management method based on big data, comprising the steps of:
S11, acquiring development type problem data;
S12, counting delay days according to the development type problem data to obtain development delay days;
S13, calculating influence according to the development delay days and the development type problem data to obtain a development influence coefficient;
S14, calculating the priority according to the development delay days and the development influence coefficient to obtain development priority;
S15, carrying out risk marking according to the priority and the development problem data, and determining the risk level of each development problem;
s16, adjusting the working hours of each development type problem according to the risk level and a preset period adjustment rule.
In step S11, development class problem data is acquired.
In one embodiment, the development class problem data is stored in the form of a knowledge graph. The nodes in the knowledge graph comprise task nodes, each task is an independent node, and specific information about the task, such as task ID, name, description, responsible person, expected start time and end time, and the like, is contained. At the same time, development class problems, also exist as individual nodes, recording the time of discovery, severity level, status (e.g., repaired, to-be-verified, etc.), and assigned to which developer is responsible for resolution. In addition to the entities described above, more important is the relationship (Edges) between them, which acts as an edge to the knowledge-graph. Including a "dependent" relationship, means that one task depends on another task before it can begin. Or "cause" relationship, describing that a certain defect is caused by a particular task or code segment. These nodes and edges form a complex network graph in which each node can be connected to a plurality of other nodes, and each edge has its unique attributes describing the nature of the relationship.
In one embodiment, the connection to the data source storing the knowledge-graph is established through an API or database interface. The scope of the data to be acquired is determined firstly in the subsequent searching, for example, all tasks in a specific time period or development problems belonging to a specific project. And sending the constructed query statement to a graph database for execution, and acquiring the task nodes and the development class problem nodes which meet the conditions and the associated edges thereof. And analyzing the returned data, extracting key information (such as task ID, name, description, expected start time, end time and the like) of each node and attributes (such as relationship type, weight and the like) of each edge, and facilitating subsequent operation. Based on the analyzed node and side information, a network diagram reflecting the relevance between tasks and development problems is constructed. This can be accomplished by adding nodes and edges to the graph objects in memory, or by directly generating a visual chart for visual presentation. Necessary metadata such as status (repaired, to be verified), severity level, discovery time, etc. are appended to each node and edge to enrich the semantic information of the data. Meanwhile, the responsible person of each task and the problem assigned to which developer is responsible for solving are recorded, so that responsibility tracking is facilitated.
In step S12, statistics of delay days is performed according to the development type problem data, so as to obtain development delay days.
In one embodiment, for the development type problems which are already completed, the development delay time is taken as the development delay days;
for development class problems that are not completed, the following formula is used to calculate:
;
Wherein, In order to develop the number of days of delay,Delay days for the development of the relevance problem,As a total number of association questions,In order to delay the basal days,Is the relevance problem serial number.
It should be noted that, the relevance problem refers to those problems having a direct or indirect dependency relationship with the current development class problem. For example, in software development, the implementation of one module depends on the completion of another module, or the testing of one function needs to wait until the relevant code is written. Which questions are interrelated is determined by the dependencies in the knowledge graph traversal tool or other project management tool. For each incomplete development class problem, the system identifies all other tasks, defects, or demand changes, etc. associated with it and records these associated problems as values for the development delay days. The total number of relevance questions refers to the number of relevance questions. Statistical from the project management system. When a development class problem is marked as incomplete, the system automatically looks up and counts all the problems associated with it as a total value. The base days of delineation is the minimum risk of delineation that the project is exposed to, even if no other relevance problems exist. This can be seen as a conservative estimate, ensuring that even in the most ideal case a certain time buffer is reserved. May be set to 0.2 days, and the method is not limited thereto. Further, considering that not all the associated problems cause the current problem to be completely stopped, but there is a certain probabilistic influence, a compromise is adopted to calculate the average influence degree.
In step S13, an influence calculation is performed according to the development delay days and the development class problem data, so as to obtain a development influence coefficient.
In one embodiment, the development influence coefficient is calculated by the following formula:
;
Wherein, In order to develop the coefficient of influence,In order to develop the number of days of delay,For the critical path weight of the problem,Is the total duration of the project.
In one embodiment, path optimization is performed according to the development type problem data to obtain an optimal path;
Marking development type problems on the optimal path as critical problems;
Marking development type problems outside the optimal path as non-critical problems;
setting the problem critical path weight of the critical problem to a preset first weight;
The problem critical path weights for non-critical problems are calculated by the following formula:
;
Wherein, Is thatQuestion critical path weights for the number development class questions,As a basis for the weight of the weight,Is thatThe float time of the number development class problem,Is the maximum float time for all non-critical tasks in the project.
It should be noted that the development influence coefficient is used to quantify the influence degree of a development class problem on the progress of the whole project. It reflects how much negative the project will be if the problem is delayed. The method uses the given formula for calculation. The question critical path weight is used to measure whether a question is located on the "critical path" of an item, i.e., those task chains that directly affect the final completion date of the item. Tasks on critical paths have high weights because any delay to them directly results in a delay to the whole project. The total duration of a project is the time span from the start of the project to the expected end, and is a fixed period of time, e.g., 90 days, expressed in days or other units of time, in a time frame that is already well defined during the project planning phase. The first weight is set to 0.95, which is not limited to this, but may not be greater than 1.
In one embodiment, the predicted completion time of a task is used as the weight of an edge. And developing class tasks as nodes to construct a graph structure network. I.e. the entities in the knowledge graph and the relationships between them are converted into a weighted directed graph. Each development class problem acts as a vertex, and the dependencies between them act as weighted edges. This has a data structure that can be directly applied to the graph algorithm. And then, applying Dijkstra algorithm to the weighted directed graph to obtain the optimal path with shortest development time. Once the critical paths are determined, these critical development class problems are then marked in the knowledge graph. This can be achieved by adding specific tags or attribute values to enable quick positioning for subsequent management and monitoring.
In one embodiment, the Dijkstra algorithm process of the optimal path comprises determining the initial 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 setting all values except the source node to infinity initially. Another precursor node array is created to record information of the previous node on the shortest path to each node for final reconstruction of the path. The nodes to be processed are managed using a priority queue implemented with a minimum heap, ordered from small to large in terms of the currently known shortest path length. And sequentially taking out the forefront node in the queue from the source node for processing, updating the distance array and the precursor node array if the obtained path is shorter than the existing record for each adjacent node of the nodes, and adding the obtained adjacent nodes into the priority queue. Stopping iteration when the priority queue is empty or the target node (the last task of the project) has been found, and obtaining the optimal path.
In step S14, a priority is calculated according to the development delay days and the development influence coefficient, so as to obtain a development priority.
In one embodiment, development priority is calculated by the following formula:
;
Wherein, In order to develop the degree of priority,In order to develop the number of days of delay,In order to develop the coefficient of influence,For the critical path weight of the problem,Is thatDevelopment delay days of the number development class problem,Is thatDevelopment influence coefficients of the number development class problem,Is thatQuestion critical path weights for number development class questions.
It should be noted that development priority is the final result of the calculation, and represents the importance or urgency of each development class problem relative to all other problems, and determines which tasks should be preferentially processed. The longer a task is delayed, the greater its potential impact. By dividing the effect of a single problem by the sum of the effects of all problems, a normalized scale value can be obtained, i.e. developing priorities, which can ensure that all priorities add up to 1 and that the priorities of each problem are in the range of 0, 1 for subsequent calculations.
In step S15, risk labeling is performed according to the priority and the development problem data, and the risk level of each development problem is determined.
In one embodiment, the current period influence is obtained by multiplying the development priority and the development delay days, all development problems are traversed in sequence, when the development delay days are smaller than the current period influence, the risk level of the corresponding development problems is determined to be high risk, and when the development delay days are larger than the current period influence, the risk level of the corresponding development problems is determined to be low risk.
It should be noted that, for example, for a development class problem with a development priority of 0.8, there is a delay of 5 days, and then the current period effect obtained by calculation is 4 days. For a development delay of 3 days in the database, the development problem is regarded as a high risk problem.
In step S16, man-hours of each development type problem are adjusted according to the risk level and a preset period adjustment rule.
In one embodiment, when the risk level is high risk, multiplying the man-hour of the development type problem by a preset first coefficient, and adding a preset emergency buffer man-hour;
and when the risk level is low risk, carrying out genetic optimization according to the following fitness formula to obtain the optimal working hours:
;
Wherein, Is thatThe degree of adaptation of the number development class problem,For the longest estimated man-hour without adjustment,Is thatNumber development class problem, and number development class problem.
In one embodiment, applying genetic algorithms for man-hour optimization includes creating an initial population, first defining a "chromosome" to represent candidate solutions to each development class problem. The chromosome is a task allocation scheduling vector, wherein each element represents a specific task and its corresponding estimated man-hour. A certain number (e.g., 100) of such chromosomes are randomly generated as an initial population. The chromosome may represent a specific time unit with a real number code or an integer code. For example, if a task is expected to take 5 days to complete, then the value of the task in the chromosome is 5. And carrying out fitness calculation according to the given fitness formula, wherein the higher the fitness is, the better the scheme is, namely, the shorter the adjusted working hours are, and the project progress is not affected. Based on the fitness value of each individual, a roulette selection method is used to select parents in the next generation population. Individuals with high fitness have a greater probability of being selected, but are not absolutely guaranteed, so population diversity can be maintained. Two individuals are randomly selected from the parent and a crossover point is randomly selected between them. The two individuals are then swapped for the later part starting from the crossover point, yielding two new offspring. For example, if two parents are [3, 5, 7] and [2, 4, 6], respectively, and the intersection is in the second position, then the newly generated offspring are [3, 4, 6] and [2, 5, 7]. This step is a crossover operation. Some bits of some individuals are randomly selected to make minor changes, such as changing the workload of a day, etc. This variation helps introduce new features that avoid premature convergence of the algorithm to the locally optimal solution. This step is a mutation operation. And replacing part of members in the old population with the new individuals after selection, crossing and mutation to form a new generation population. And repeatedly executing the process until reaching the convergence condition or reaching the maximum iteration number, and obtaining the optimal estimated working hour.
In summary, the invention discloses a software development management method based on big data, aiming at optimizing project management and resource allocation through quantitative analysis and risk assessment. The method firstly acquires various problem data related to development, wherein the data comprises, but is not limited to, task completion conditions, defect reports, change requests and the like, and the data form a comprehensive description of the current state of software development. For the problems which have been solved, the actual delay time is directly recorded as the development delay days, while for the problems which have not been solved, the delay days are predicted according to the number of the relevance problems and the influence degree of each relevance problem on the overall progress, and the process considers the minimum delay risk of the project even if other relevance problems exist.
Further, the method introduces the concept of developing influence coefficients to measure the degree of influence of a specific problem on the progress of the whole project. This coefficient is calculated based on the number of development delay days, whether the problem is on a critical path (i.e., a task chain that has a direct impact on deadlines), and the total duration of the project. To determine which problems are critical, the system builds a weighted directed graph and applies a shortest path algorithm, such as the Dijkstra algorithm, to find the optimal path, thereby identifying those critical tasks that directly affect the completion date of the project. The noncritical tasks are weighted differently depending on the float time, thus forming a complete impact assessment system.
After the development influence coefficients of the respective problems are clarified, the calculation of the priority is next. This step comprehensively considers the development delay days and development influence coefficients, and aims to assign a numerical value reflecting the importance and the degree of urgency, namely development priority, to each development class problem. This value not only determines the order of resource allocation, but also forms the basis for subsequent risk management. By performing a traversal comparison of all development class questions, a question will be marked as high risk when its development delay days are less than the current cycle impact, and vice versa, as low risk. This dynamic risk tagging mechanism allows teams to identify potential risk points in advance and adjust plans accordingly.
Finally, a differential man-hour adjustment strategy is adopted for the problems of different risk grades, namely for the high risk problems, the estimated man-hour is increased, the emergency buffer time is added, enough flexibility is ensured to cope with uncertainty, and for the low risk problems, the optimal man-hour arrangement is searched by utilizing a genetic algorithm, so that the optimal configuration of resources is realized. The genetic algorithm is used as a search heuristic algorithm, can simulate a natural selection process, iteratively finds a global or approximate global optimal solution in a complex solution space, is suitable for processing optimization problems under nonlinear, multivariable and multi-constraint conditions, and can obtain an effective solution even under more complex conditions.
In summary, the software development management method provided by the invention not only focuses on the completion condition of a single task, but also deeply analyzes the influence of the tasks on the overall project progress.
Referring to fig. 2, a second embodiment of the present invention provides a software development management system based on big data, including:
the data acquisition module is used for acquiring development type problem data;
the delay statistics module is used for counting delay days according to the development type problem data to obtain development delay days;
The influence calculation module is used for calculating influence according to the development delay days and the development class problem data to obtain a development influence coefficient;
The priority calculation module is used for calculating priority according to the development delay days and the development influence coefficient to obtain development priority;
the risk marking module is used for marking risks according to the priority and the development problem data and determining the risk level of each development problem;
And the working hour adjusting module is used for adjusting the working hour of each development problem according to the risk level and a preset period adjusting rule.
Preferably, the data acquisition module is configured to:
development class problem data is obtained.
Preferably, the delay statistics module is configured to:
counting delay days according to the development type problem data to obtain development delay days, wherein the method comprises the following steps:
For the completed development problems, taking the recorded delay time as the development delay days;
for development class problems that are not completed, the following formula is used to calculate:
;
Wherein, In order to develop the number of days of delay,Delay days for the development of the relevance problem,As a total number of association questions,In order to delay the basal days,Is the relevance problem serial number.
Preferably, the influence calculation module is configured to:
performing influence calculation according to the development delay days and the development class problem data to obtain a development influence coefficient, wherein the method comprises the following steps:
the development influence coefficient is calculated by the following formula:
;
Wherein, In order to develop the coefficient of influence,In order to develop the number of days of delay,For the critical path weight of the problem,Is the total duration of the project.
Preferably, the acquiring process of the critical path weight of the problem includes:
Path optimization is carried out according to the development problem data, and an optimal path is obtained;
Marking development type problems on the optimal path as critical problems;
Marking development type problems outside the optimal path as non-critical problems;
setting the problem critical path weight of the critical problem to a preset first weight;
The problem critical path weights for non-critical problems are calculated by the following formula:
;
Wherein, Is thatQuestion critical path weights for the number development class questions,As a basis for the weight of the weight,Is thatThe float time of the number development class problem,Is the maximum float time for all non-critical tasks in the project.
Preferably, the priority calculating module is configured to:
And calculating the priority according to the development delay days and the development influence coefficient to obtain development priority, wherein the method comprises the following steps:
Development priority is calculated by the following formula:
;
Wherein, In order to develop the degree of priority,In order to develop the number of days of delay,In order to develop the coefficient of influence,For the critical path weight of the problem,Is thatDevelopment delay days of the number development class problem,Is thatDevelopment influence coefficients of the number development class problem,Is thatQuestion critical path weights for number development class questions.
Preferably, the risk marking module is configured to:
Performing risk marking according to the priority and the development problem data, and determining the risk level of each development problem, including:
multiplying the development priority by the development delay days to obtain the influence of the current period;
Traversing all development problems in sequence, and determining the risk level of the corresponding development problems as high risk when the development delay days are smaller than the influence of the current period;
and when the development delay days are larger than the current period influence, determining the risk level of the corresponding development type problem as low risk.
Preferably, the man-hour adjustment module is configured to:
and adjusting working hours of each development type problem according to the risk level and a preset period adjustment rule, wherein the working hours comprise:
When the risk level is high risk, multiplying the working hours of the development type problems by a preset first coefficient, and adding preset emergency buffering working hours;
and when the risk level is low risk, carrying out genetic optimization according to the following fitness formula to obtain the optimal working hours:
;
Wherein, Is thatThe degree of adaptation of the number development class problem,For the longest estimated man-hour without adjustment,Is thatNumber development class problem, and number development class problem.
It should be noted that, the software development management system based on big data provided by the embodiment of the present invention is used for executing all the flow steps of the software development management method based on big data in the foregoing embodiment, and the working principles and beneficial effects of the two correspond one to one, so that the description is omitted.
The embodiment of the invention also provides electronic equipment. The electronic device comprises a processor, a memory and a computer program, such as a data acquisition program, stored in the memory and executable on the processor. The steps in the above embodiments of the software development management method based on big data are implemented when the processor executes the computer program, for example, step S11 shown in fig. 1. Or the processor, when executing the computer program, performs the functions of the modules/units, e.g. data modules, in the above-described device embodiments.
The computer program may be divided into one or more modules/units, which are stored in the memory and executed by the processor to accomplish the present invention, for example. The one or more modules/units may be a series of computer program instruction segments capable of performing the specified functions, which instruction segments are used for describing the execution of the computer program in the electronic device.
The electronic equipment can be a desktop computer, a notebook computer, a palm computer, an intelligent tablet and other computing equipment. The electronic device may include, but is not limited to, a processor, a memory. It will be appreciated by those skilled in the art that the above components are merely examples of electronic devices and are not limiting of electronic devices, and may include more or fewer components than those described above, or may combine certain components, or different components, e.g., the electronic devices may also include input-output devices, network access devices, buses, etc.
The Processor may be a central processing unit (Central Processing Unit, CPU), other general purpose Processor, digital signal Processor (DIGITAL SIGNAL Processor, DSP), application SPECIFIC INTEGRATED Circuit (ASIC), off-the-shelf Programmable gate array (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like that is a control center of the electronic device, connecting various parts of the overall electronic device using various interfaces and lines.
The memory may be used to store the computer program and/or modules, and the processor may implement various functions of the electronic device by running or executing the computer program and/or modules stored in the memory and invoking data stored in the memory. The memory may mainly include a storage program area which may store an operating system, an application program required for at least one function (such as a sound playing function, an image playing function, etc.), etc., and a storage data area which may store data created according to the use of the cellular phone (such as audio data, a phonebook, etc.), etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as a hard disk, memory, plug-in hard disk, smart memory card (SMART MEDIA CARD, SMC), secure Digital (SD) card, flash memory card (FLASH CARD), at least one disk storage device, flash memory device, or other volatile solid-state storage device.
Wherein the integrated modules/units of the electronic device may be stored in a computer readable storage medium if implemented in the form of software functional units and sold or used as stand alone products. Based on such understanding, the present invention may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the computer readable medium contains content that can be appropriately scaled according to the requirements of jurisdictions in which such content is subject to legislation and patent practice, such as in certain jurisdictions in which such content is subject to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
It should be noted that the above-described apparatus embodiments are merely illustrative, and the units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the embodiment of the device provided by the invention, the connection relation between the modules represents that the modules have communication connection, and can be specifically implemented as one or more communication buses or signal lines. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
The foregoing embodiments have been provided for the purpose of illustrating the general principles of the present invention, and are not to be construed as limiting the scope of the invention. It should be noted that any modifications, equivalent substitutions, improvements, etc. made by those skilled in the art without departing from the spirit and principles of the present invention are intended to be included in the scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510130655.9A CN120013250A (en) | 2025-02-06 | 2025-02-06 | A software development management method and system based on big data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510130655.9A CN120013250A (en) | 2025-02-06 | 2025-02-06 | A software development management method and system based on big data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120013250A true CN120013250A (en) | 2025-05-16 |
Family
ID=95671187
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510130655.9A Withdrawn CN120013250A (en) | 2025-02-06 | 2025-02-06 | A software development management method and system based on big data |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120013250A (en) |
-
2025
- 2025-02-06 CN CN202510130655.9A patent/CN120013250A/en not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10846643B2 (en) | Method and system for predicting task completion of a time period based on task completion rates and data trend of prior time periods in view of attributes of tasks using machine learning models | |
| US20230011954A1 (en) | Device, method, and system for business plan management | |
| US20190026663A1 (en) | Inferring time estimates in workflow tracking systems | |
| US11017339B2 (en) | Cognitive labor forecasting | |
| CN112508723B (en) | Financial risk prediction method, device and electronic equipment based on automatic optimal modeling | |
| CN109978392B (en) | Agile software development management method, apparatus, electronic equipment, storage medium | |
| CN118411001A (en) | BIM-based intelligent engineering period management method and system | |
| JP7719572B2 (en) | Computer-implemented method, computer program, and system (predicted query processing) | |
| US12106240B2 (en) | Systems and methods for analyzing user projects | |
| EP3118807A1 (en) | Prioritizing and planning issues in automation | |
| CN119356886B (en) | Large model workflow arranging method, device, equipment and storage medium | |
| US20120197677A1 (en) | Multi-role based assignment | |
| CN114444782A (en) | Enterprise asset management method and device, storage medium and computer equipment | |
| US20150018060A1 (en) | System and method for decision making in strategic environments | |
| AU2024227278A1 (en) | Utilizing machine learning models to analyze an impact of a change request | |
| KR20180130733A (en) | System and method for recommending component reuse based on collaboration dependency | |
| CN119721650A (en) | Personnel dispatching method, device and computer storage medium | |
| CN108681505A (en) | A kind of Test Case Prioritization method and apparatus based on decision tree | |
| US20060025981A1 (en) | Automatic configuration of transaction-based performance models | |
| CN120996215A (en) | A multi-domain task processing method, system, device, and medium based on knowledge fusion and agent collaboration | |
| US12175302B2 (en) | Transitioning of computer-related services based on performance criteria with flow efficiency value | |
| CN115689143A (en) | Work order assignment method, device, electronic device and medium | |
| CN120013250A (en) | A software development management method and system based on big data | |
| CN118151940A (en) | Code labeling method, device, computer equipment and storage medium | |
| JP2021071912A (en) | Mapping system and mapping method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WW01 | Invention patent application withdrawn after publication |
Application publication date: 20250516 |
|
| WW01 | Invention patent application withdrawn after publication |