Engineer engineering skill proficiency evaluation method
By identifying the engineer's core skill categories and task completion rate data, and dynamically compute the skill level and resource allocation, the problem of lag in engineer skill evaluation in the existing technology is solved, and the direct mapping and real-time adaptation of engineer abilities and performance is achieved, improving the efficiency and accuracy of project scheduling.
Patent Information
- Application Number
- CN202510641116.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-19
- Publication Date
- 2025-08-12
AI Technical Summary
The lack of dynamic data support in the existing technology when evaluating engineers' engineering skills proficiency, resulting in lagging evaluation results, wasted resources and low team collaboration efficiency, and it is impossible to accurately identify the real ability adaptability of engineers in tasks at different stages.
By identifying the engineer's core skill categories, collecting skill level input, combining the task timely completion rate data, generating engineer's basic information files, setting the numerical weights of skills at different stages, dynamically computing skill levels and resource allocation, and generating performance proficiency index.
It realizes the direct mapping of engineer abilities and performance data, avoids subjective deviations, is time-based dynamic and real-time, strengthens the portrayal of engineers' comprehensive execution ability, and adapts to complex project scheduling scenarios.
Smart Images

Figure CN120471524A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of social humanities research, and in particular to a method for evaluating the engineering skill proficiency of engineers. Background Art
[0002] The field of social and humanities research technology is a collection of cross-disciplinary technologies that focuses on human social behavior, organizational structure, career development, human resource management, educational evaluation, and cognitive ability modeling. This field is widely used in social system behavior analysis, personnel performance evaluation, collaboration mechanism optimization, and social structure modeling.
[0003] Existing technologies in the field of social sciences and humanities research are mostly based on static classification, manual assessment or item scoring. The evaluation path relies on static job models or qualitative indicator mapping, resulting in a lack of dynamic data support for changes in engineers' capabilities, task responsiveness and collaborative effectiveness. In real business scenarios with complex organizational structures and frequent changes in project phases, such technologies often have problems such as delayed evaluation results, imbalanced matching and mismatched scheduling resources. For example, in the execution of projects with multiple projects crossing over, the inability to accurately identify the true ability adaptability of engineers in tasks at different stages often leads to the waste of resources such as repeated calls for highly skilled personnel and idle capabilities, which in turn affects project schedules, quality stability and team collaboration efficiency. Therefore, improvements are needed. Summary of the Invention
[0004] The purpose of the present invention is to solve the shortcomings of the prior art and to propose a method for evaluating the engineering skill proficiency of engineers.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a method for evaluating an engineer's engineering skill proficiency, comprising the following steps:
[0006] Identify the core skill categories of engineers, collect input on their skill levels to establish a personnel skills inventory, generate raw skill data input, and based on the raw skill data input, collect on-time completion rate data for engineers' task completion metrics and associate it with their skill level input to establish a basic information file for engineers;
[0007] Define the various project lifecycle stages and key workflow nodes of the project, set the numerical weights of core skill categories at different stage nodes, generate a stage skill weight definition table, and based on the stage skill weight definition table, select the current project lifecycle stage and extract the numerical weights of each skill corresponding to the stage to obtain the skill weight value of the current stage;
[0008] Obtaining skill level input based on the engineer's basic information file, calling the skill weight value of the current stage, generating skill level data to be weighted, and performing calculation of the skill level and the corresponding skill weight value of the current stage based on the skill level data to be weighted and combining the task priority adjustment of the resource allocation plan to obtain a dynamic weighted skill score;
[0009] Based on the basic information file of the engineer, the task completion rate data is extracted, combined with the dynamic weighted skill score, and associated with the engineer's organizational structure and team composition information to generate an efficiency proficiency index.
[0010] Preferably, the steps for obtaining the original skill data input are:
[0011] Based on the engineering organization's job list, we extracted job numbers and job function descriptions. We then categorized and mapped the job function descriptions according to three types of labels: professional domain terms, core responsibility verb phrases, and technical behavior categories. We then constructed a corresponding matrix between job function labels and skill module labels. Based on the matrix matching results, we assigned each engineer a job number and labeled their corresponding core skill module label, generating a categorized list of core skill categories for each engineer.
[0012] Based on the engineer core skill category classification list, by accessing the engineer training records, practical evaluation records and project experience registration forms, the skill name, corresponding skill module label, evaluation level label and evaluation source identifier in each record are extracted. The evaluation level labels from multiple sources under the same skill module label are coded and graded, and the highest evaluation level is used as the main label to retain the unique identifier. The information of each skill module label and evaluation level label of the engineer is integrated to obtain the engineer skill level input summary table;
[0013] Based on the engineer skill level input summary table, the correspondence between skill module labels, assessment level labels and job numbers is called, and all skill level inputs of each engineer are numbered and sorted according to the skill module labels and the job numbers are clustered and merged to generate a structured record list containing three-dimensional data fields of job number, skill module label and skill level code, and generate the original skill data input.
[0014] Preferably, the steps for obtaining the basic information file of the engineer are:
[0015] Based on the position number and skill module label bound to each engineer in the original skill data input, the personnel task allocation list in the project task execution record table is matched, the task number and task planned start and end time undertaken by the corresponding engineer in multiple projects are extracted from the task allocation list, the task actual completion time field is generated in combination with the actual task submission time, the difference between the task planned start and end time and the actual completion time is calculated and the task completion status is marked, and a task on-time completion rate data record set containing the task number, task completion status, task planned time and actual completion time is generated;
[0016] Based on the task on-time completion rate data record set, all task numbers and task completion status fields corresponding to each engineer are sorted and counted according to the time dimension, and the ratio of the number of task items with an on-time completion status to the total number of tasks is extracted as the engineer's task on-time completion rate indicator. At the same time, the skill level code corresponding to the engineer in the original skill data input is called to construct a one-to-one mapping structure between the task on-time completion rate indicator and the skill level code, and generate a list of associations between the engineer's task performance and skill level;
[0017] Based on the list of associations between engineer task performance and skill level, the engineer's position number, skill module label, skill level code, task number, task completion status, and task on-time completion rate indicator field contents are integrated, and all fields are aggregated and encapsulated using the engineer's unique identity number as the primary key to generate an engineer basic information file.
[0018] Preferably, the steps for obtaining the stage skill weight definition table are:
[0019] According to the project type corresponding to the project number in the project management database, the phase division list and the start and end time identifiers of each phase in the project life cycle template are extracted. Then, combined with the flowchart file configured in the task scheduling plan, the workflow nodes contained in each phase and the total number of workflow nodes are extracted to obtain the mapping structure set between the project life cycle phase and the key workflow nodes;
[0020] Calculating a comprehensive adaptation value of a skill category based on the project lifecycle phase and key workflow node mapping structure set;
[0021] Based on the comprehensive adaptation value of each core skill category at the current stage node, the comprehensive adaptation value of all skill categories is aggregated by stage number, and structurally associated with the process node number, stage number and skill category number respectively to generate a stage skill weight definition table.
[0022] Preferably, the steps for obtaining the skill weight value at the current stage are:
[0023] Call the timestamp record corresponding to the current project number, parse the stage number interval in the life cycle template where the current time is located, identify the stage identifier corresponding to the stage number and the unique identifier field in the stage skill weight definition table, and obtain the current project life cycle stage identifier;
[0024] Based on the current project lifecycle stage identifier, all record rows that match the stage identifier field are filtered from the stage skill weight definition table, and the skill category number and comprehensive adaptation value in the record row are paired and extracted to obtain the skill category number and numerical weight combination corresponding to the current project lifecycle stage;
[0025] Based on the combination of skill category numbers and numerical weights corresponding to the current project life cycle stage, data entries with missing values, duplicate numbers or abnormal formats in the numerical weight fields are eliminated, and the data are sorted in ascending order by skill category numbers to generate the skill weight value for the current stage.
[0026] Preferably, the steps for obtaining the skill level data to be weighted are:
[0027] Extract the bound skill module tags and corresponding skill level codes based on the position number of each engineer in the engineer basic information file, and aggregate them according to the skill module tags to form a structured correspondence table of skill module tags and skill level codes to obtain the engineer skill level input set;
[0028] Based on the engineer skill level input set, traverse the skill category numbers identified in the skill weight values of the current stage, match the mapping relationship between the skill module labels and the skill category numbers one by one, bind the successfully matched skill level codes with the corresponding numerical weight combinations, and obtain the result of pairing the engineer's skill level code and skill numerical weight at the current stage;
[0029] Based on the pairing results of the engineer's skill level code and skill numerical weight at the current stage, the coding weight combination of all skill module labels of each engineer is regularized, numbered and filled with zeros to generate the skill level data to be weighted.
[0030] Preferably, the steps for obtaining the dynamic weighted skill score are:
[0031] Based on the skill module label, skill level code, and skill numerical weight of each engineer in the weighted skill level data, the engineers are grouped according to their numbers and sorted by skill module label to form a matching list of skill levels and weights corresponding to the engineer numbers, thus obtaining a list of combinations of engineer skill levels and skill numerical weights.
[0032] Based on the list of engineer skill levels and skill numerical weight combinations, combined with the task numbers corresponding to the engineers in the resource allocation plan, the priority level label corresponding to each task number is extracted. The task priority level label is converted into a numerical form according to the fixed score mapping rule to obtain the mapping result between the engineer number and the task priority value;
[0033] Based on the mapping results between the engineer number and the task priority value, the engineer's dynamic weighted skill score at the current task stage is calculated.
[0034] Preferably, the steps for obtaining the performance proficiency index are:
[0035] Based on the identity identification field of each engineer in the engineer basic information file, the corresponding task number and the completion status and planned duration information of the task marked in the archived record are extracted. The total number of tasks and the number of tasks completed on time for each engineer are aggregated according to the task number and the completion rate is calculated to obtain a result set associated with the engineer number and the on-time completion rate of the task;
[0036] Based on the result set of associations between the engineer number and the on-time completion rate of the task, combined with the generated dynamically weighted skill score, the number of direct superiors, number of horizontally collaborating engineers, and team size parameters corresponding to each engineer in the organizational structure mapping table and the team composition configuration list are retrieved to calculate the effectiveness proficiency index;
[0037] Based on the engineer's efficiency proficiency index, combined with the engineer's identity identification field and position number, it is organized into an output structure record with the engineer number as the primary key.
[0038] Compared with the prior art, the advantages and positive effects of the present invention are:
[0039] This invention identifies engineers' core skill categories and aggregates skill level inputs, combined with a structural analysis of on-time task completion rates. This creates a direct mapping between engineer capabilities and actual performance data, avoiding the bias of capability assessments that rely solely on subjective impressions. Based on a clear delineation of project phases and process nodes, the changing trends in skill requirements are quantified as skill numerical weights at different phases. By extracting correlation information between phases and skills, skill assessments are given a temporal dynamic nature. Based on the binding relationship between skill weights and skill level data at the current phase, skill levels are dynamically calculated using task priorities and resource allocation practices, enabling a quantitative assessment of engineers' current task adaptability. After integrating organizational structure and team composition information, task completion efficiency and weighted skill performance are superimposed, and a performance proficiency index is constructed using multi-level data items, enhancing the ability to characterize engineers' comprehensive execution capabilities. Throughout the entire process, skill identification is based on the mapping of job behaviors and capabilities, performance extraction is based on behavior timeliness and result feedback, and adaptability evaluation is based on the synergy between task structure and resource factors. The output indicators form a clear closed loop, establishing a dynamic person-job matching logic that offers excellent real-time performance and structural flexibility for complex project scheduling scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 Schematic diagram of the steps of the present invention. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0042] See also Figure 1 The present invention provides a technical solution, a method for evaluating an engineer's engineering skill proficiency, comprising the following steps:
[0043] Identify the core skill categories of engineers, collect input on their skill levels to establish a personnel skills inventory, generate raw skill data input, and based on this data, collect on-time completion rate data for engineers' task completion metrics and associate it with their skill level input to establish a basic information file for engineers.
[0044] Define the various project lifecycle stages and key workflow nodes of the project, set the numerical weights of core skill categories at different stage nodes, generate a stage skill weight definition table, and based on the stage skill weight definition table, select the current project lifecycle stage and extract the numerical weights of each skill corresponding to that stage to obtain the skill weight value of the current stage;
[0045] Based on the engineer's basic information file, the skill level input is obtained, the skill weight value of the current stage is called, and the skill level data to be weighted is generated. Based on the skill level data to be weighted, the skill level and the corresponding skill weight value of the current stage are calculated and combined with the task priority adjustment of the resource allocation plan to obtain a dynamic weighted skill score;
[0046] Based on the engineer's basic information file, the task completion rate data is extracted, combined with the dynamic weighted skill score, and associated with the engineer's organizational structure and team composition information to generate an efficiency proficiency index.
[0047] The steps for obtaining the original skill data input are:
[0048] Based on the engineering organization's job list, we extracted job numbers and job function descriptions. We then categorized and mapped the job function descriptions according to three types of labels: professional domain terms, core responsibility verb phrases, and technical behavior categories. We then constructed a corresponding matrix between job function labels and skill module labels. Based on the matrix matching results, we assigned each engineer a job number and labeled their corresponding core skill module label, generating a categorized list of core skill categories for each engineer.
[0049] Based on the engineer core skill category classification list, by accessing engineer training records, practical evaluation records, and project experience registration forms, we extracted the skill name, corresponding skill module label, evaluation level label, and evaluation source identifier from each record. We then performed code conversion and level alignment on the evaluation level labels from multiple sources under the same skill module label. We used the highest evaluation level as the primary label to retain the unique identifier. We then integrated the information from each engineer's skill module label and evaluation level label to obtain a summary table of engineer skill level inputs.
[0050] Based on the summary table of engineer skill level inputs, the correspondence between skill module labels, assessment level labels and job numbers is called, and all skill level inputs of each engineer are numbered and sorted according to the skill module labels and the job numbers are clustered and merged. A structured record list containing three-dimensional data fields of job number, skill module label and skill level code is generated to generate the original skill data input.
[0051] Specifically, by consulting the company's latest "Engineering Organization Position Establishment List", we extract the structured "position number" and unstructured "position function description content" one by one, and parse each "position function description content" through a predefined keyword library and rule set. The keyword library is jointly reviewed by technical experts and human resources experts and contains three types of label information: the first type is "professional field terms", such as "digital signal processing", "radio frequency circuit design", "artificial intelligence model training", etc. The second type is "core responsibility verb phrases", such as "responsible for system architecture design", "execution module unit testing", "optimization algorithm efficiency", etc. The third type is "technical behavior category", such as " Principle analysis", "code writing", "simulation verification", "troubleshooting", etc. The system automatically or manually identifies and extracts these labels from the job function description, and then combines these extracted labels to form a preliminary "job function label". At the same time, it calls the pre-built "skill module library", which has defined standard "skill module labels" and their detailed descriptions, such as "SKM001: Embedded system bottom-level driver development", "SKM002: High-frequency communication protocol stack implementation", "SKM003: Machine learning application deployment and tuning". Then, the core step is to build a corresponding matrix between "job function labels" and "skill module labels". The construction of this matrix is based on the The evaluation of the correlation between two types of labels can be done by using a semantic similarity calculation method. For example, the description texts of the job function labels and skill module labels are converted into vector representations, and then the cosine similarity between them is calculated. A "mapping correlation threshold" is set, and the threshold setting process is as follows: First, 20 representative positions in the company are selected, and a review team composed of three senior technical experts and two human resources experts is formed. The team independently manually assigns the most relevant skill module labels to the functional descriptions of these positions. Then, the semantic similarity scores between the "job function labels-skill module labels" pairs manually confirmed by these experts are calculated, and the distribution of these scores is statistically analyzed. For example, it is found that the expert-confirmed The strong correlation matching score is generally higher than 0.7, while the weak correlation or no correlation score is lower than 0.4. In this case, the "mapping correlation threshold" can be set to 0.65. Only when the calculated semantic similarity score is greater than or equal to 0.65, it is considered that there is a valid mapping between the "position function label" and the "skill module label", and the corresponding position in the corresponding matrix is marked as "associated". If it is less than 0.65, it is marked as "unrelated" or left blank. After completing the matrix construction, the system automatically marks all the "core skill module labels" corresponding to the position of each engineer (whose "position number" has been pre-bound) based on the matching results of this matrix, and finally generates a structured "engineer core skill category classification list".
[0052] Based on the "Engineer Core Skill Category Classification List" generated in the previous stage, and combined with the systematic access and data extraction of the company's internal "Engineer Training Records", "Practical Assessment Records" and "Project Experience Registration Form", for each "core skill module label" associated with each engineer in the list, the relevant "skill name" (such as "C++ Advanced Programming Skills", "XX Model PLC Fault Diagnosis"), the original "skill module label" corresponding to the skill in the record (make sure it can be mapped to the standard core skill module label), the original "assessment level label" (such as "Excellent", "Pass", "Failed" in the training record, "Grade A", "Grade B", "Grade C" in the practical assessment, "Project Leader", "Core Developer", "General Participant" in the project experience) and the clear "assessment source identifier" (such as "XX Certification Training Phase 3", "2024 Skills Competition", "Smart Factory V2.0 Project"), due to different sources, The "assessment level label" standards of each source vary, requiring "coding conversion" and "level alignment." To this end, a globally unified skill level coding standard should be established, such as a five-level system: Level 1 (Understanding), Level 2 (Mastery), Level 3 (Proficiency), Level 4 (Mastery), and Level 5 (Expert). The coding conversion rules are jointly discussed and announced by the Technical Management Committee and the Human Resources Department. For example, "Excellent" in training records will be converted to Level 4 (Mastery), and "Pass" will be converted to Level 3 (Proficiency); "Grade A" in practical assessments will be converted to Level 4 (Mastery), "Grade B" will be converted to Level 3 (Proficiency), and "Grade C" will be converted to Level 2 (Mastery); "Project Leader" or "Core Developer" in project experience can be assessed as Level 4 (Proficiency) or Level 5 (Expert) based on project complexity and contribution, and "General Participant" will be assessed as Level 3 (Proficiency). A specific conversion example is as follows: If an engineer's training record shows "Excellent" in "C++ Advanced Programming Skills," it will be converted to Level 4; in "Smart Factory V2.0 project, this skill experience might be converted to Level 4 or 5 based on the project assessment. For example, if an engineer is assessed as Level 4, for the same "Core Skill Module Label," if they have ratings from multiple "Assessment Source Identifiers," the highest rating among all those levels that have been coded and unified into the five-level system will be used as the engineer's authoritative rating for this skill module, and the corresponding "Assessment Source Identifier" will be recorded. For example, if an engineer's training record for the skill "SKM001: Embedded System Low-Level Driver Development" is converted to Level 3 and their practical assessment is converted to Level 4, then Level 4 will be used as their final rating for this skill. Subsequently, all of each engineer's "Core Skill Module Labels," their corresponding unified and prioritized "Assessment Level Labels" (i.e., codes from 1 to 5), and their primary "Assessment Source Identifiers" will be integrated to form a structured "Engineer Skill Level Input Summary Table."
[0053] Based on the "Engineer Skill Level Input Summary Table" generated in the previous step, which already contains each engineer's unique identifier, the various "Core Skill Module Tags" they possess, and the corresponding uniformly coded "Assessment Level Tags", it is first necessary to call or associate it with the engineer's "Position Number". This "Position Number" information has been bound to each engineer in the initial stage and should be searchable in the summary table or obtained through the engineer's unique identifier link. At the same time, ensure that each "Core Skill Module Tag" has its own pre-set and fixed unique internal identification code, such as "SKM001", "SKM002", etc., and this code has a clear sorting rule (such as alphanumeric order or order of business importance). Next, for all skill level input data of each engineer recorded in the "Engineer Skill Level Input Summary Table", that is, all "Core Skill Module Tags" under their name and the corresponding numerical "Assessment Level Tags", strictly sort them in ascending order according to the preset internal identification codes of these "Core Skill Module Tags". For example, if an engineer has level information for both "SKM003" and "SKM001" skill modules, "SKM002" will be sorted first during processing. This ensures the consistency of the internal order of the data records. Next, the skill level data of all engineers, sorted by the skill modules described above, is logically clustered and merged according to their respective "position numbers." This means that in the final data set, the skill information of engineers with the same "position number" will be grouped together, or the "position number" will serve as a key index field in the data record, facilitating subsequent position-based analysis and statistics. For example, the skill data of all engineers with a "position number" of "PG-SoftArch-L3" (standing for Senior Software Architect Level 3) will constitute an identifiable subset. Through these meticulous sorting, sorting, and merging operations, a structured record is generated for each skill of each engineer, containing three core data fields: the "position number," the internal identification code of the "core skill module label" corresponding to the skill (such as SKM001), and the unified "skill level code" for the skill (such as 3 for proficient and 4 for mastery). These records are aggregated to form a comprehensive, standardized list, which is the "raw skill data input."
[0054] The steps to obtain the engineer's basic information file are as follows:
[0055] Based on the job number and skill module label associated with each engineer in the original skill data input, the personnel task assignment list in the project task execution record table is matched. The task numbers and task planned start and end times undertaken by the corresponding engineer in multiple projects are extracted from the task assignment list. The actual task completion time field is generated based on the actual task submission time. The difference between the task planned start and end time and the actual completion time is calculated and the task completion status is marked. This generates a task on-time completion rate data record set containing the task number, task completion status, task planned time, and actual completion time.
[0056] Based on the on-time task completion rate data record set, all task numbers and task completion status fields corresponding to each engineer are sorted and counted by time. The ratio of the number of task items with an on-time completion status to the total number of tasks is extracted as the engineer's on-time task completion rate indicator. At the same time, the skill level code corresponding to the engineer in the original skill data input is used to construct a one-to-one mapping structure between the on-time task completion rate indicator and the skill level code, generating a list of associations between the engineer's task performance and skill level.
[0057] Based on the list of associations between engineer task performance and skill level, the engineer's position number, skill module label, skill level code, task number, task completion status, and task on-time completion rate indicator field contents are integrated. All fields are aggregated and encapsulated using the engineer's unique identity number as the primary key to generate an engineer's basic information file.
[0058] Specifically, based on the "position number" and "core skill module label" bound to each engineer contained in the "original skill data input" obtained in the previous stage, the system will actively query and accurately match the "project task execution record table" maintained within the company. The record table stores the detailed "personnel task allocation list" of all project tasks. For each engineer in the "original skill data input", using his unique employee identity number, the "personnel task allocation list" is retrieved and extracted from the "personnel task allocation list" every specific "task number" undertaken by the engineer in all past projects, such as "PRJ2023-Q4-DEV-TASK-001", as well as the number associated with each The "task planned start and end time" associated with the task is specific to the planned start date and time (for example, "2023-10-09 09:00:00") and the planned completion date and time (for example, "2023-10-13 18:00:00"). At the same time, the system automatically captures the "actual task submission time" of each task (for example, "2023-10-13 17:30:00") from the integrated project management tool or task tracking system, or when it cannot be captured automatically, the project manager or engineer is allowed to supplement the entry in the system and generate a standardized "task actual completion time field" based on this timestamp data. Subsequently, for each completed task, , by comparing the "actual completion time of the task" with the "planned completion time of the task", the time difference between the two is calculated. For example, the calculation formula is: time difference (hours) = (time stamp of "actual completion time of the task" - time stamp of "planned completion time of the task") converted into hours. Next, this difference is evaluated and "task completion status marking" is performed based on the pre-set "task completion status judgment standard". The specific setting process of the judgment standard is as follows: First, define a "on-time completion grace period". The setting of this grace period refers to the statistical analysis of the company's historical project data in the past two years. The analysis results show that about 80% of task delays do not exceed the planned completion time. The project management committee jointly determined the "on-time completion grace period" to be 4 hours based on business characteristics and customer tolerance. Based on this, the status marking rule is as follows: if the calculated time difference is negative or zero (that is, the actual completion is no later than the planned completion), the task completion status is marked as "Ahead of Time"; if the time difference is positive and less than or equal to 4 hours, it is marked as "On Time"; if the time difference is positive and greater than 4 hours, it is marked as "Overdue". For example, if a task is scheduled to be completed at 17:00 on Friday and is completed at 16:00 on Friday, it is "Ahead of Time"; if it is completed at 19:00 on Friday (2 hours late, within the 4-hour grace period), it is "On Time";If the task is completed by 9:00 AM on Saturday (a delay exceeding 4 hours), it is considered "overdue." By executing this series of extraction, calculation, and status annotation processes for each task record under the engineer's name, a structured "Task On-Time Completion Rate Data Record Set" is generated, including the "Task Number," "Task Completion Status" (which can be "Ahead of Time," "On Time," or "Overdue"), "Task Planned Time" (including complete planned start and planned finish timestamps), and "Actual Completion Time" (with complete timestamps).
[0059] According to the "Task On-Time Completion Rate Data Record Set" generated after processing in the previous stage, for each engineer in the system, first collect all the "Task Number" corresponding to it and the associated "Task Completion Status" field information in the record set, and strictly sort these task records in the ascending order of "Task Planned Completion Time" in the time dimension to ensure the consistency and traceability of subsequent statistical calibers. When conducting task completion statistics, tasks with "Task Completion Status" marked as "Ahead of Time" or "On Time" are clearly considered to meet the organization's expectations for on-time completion. Then, accurately calculate each engineer's Among all the tasks that have been closed or judged, the sum of the number of task items with a "task completion status of "ahead of time" and the number of task items with a status of "on time" is calculated. At the same time, the total number of closed or judged tasks undertaken by the engineer is counted. The "task on time completion rate index" of the engineer is calculated by dividing the former (the total number of tasks on time and ahead of time) by the latter (the total number of tasks). This index is expressed as a decimal between 0 and 1. For example, if an engineer has completed a total of 20 judged tasks, of which 15 are in the status of "on time", 3 are in the status of "ahead of time", and 2 are in the status of "Overdue", then its "Task On-Time Completion Rate Index" is (15+3) / 20=0.90. After calculating this index, the system will call the "Original Skill Data Input" generated in the previous stage to extract all the "Core Skill Module Labels" corresponding to the current engineer and their respective "Skill Level Codes" (for example, the level code of "SKM004: Cloud Platform Architecture Design" is 4, and the level code of "SKM007: Agile Project Management" is 3). The next key step is to build a correlation between the engineer's "Task On-Time Completion Rate Index" and the various "Skill Level Codes" he possesses. Specifically, a one-to-one mapping structure is created for each engineer. This record contains the engineer's unique identity, the calculated single "task on-time completion rate indicator" value, and a collection or list of all its "core skill module tags" and corresponding "skill level codes". In this way, a comprehensive task execution performance (task on-time completion rate indicator) is clearly associated with its multi-dimensional skill level (various skill level codes). Finally, such associated records of all engineers are brought together to generate an "engineer task performance and skill level association list".
[0060] Based on the "Engineer Task Performance and Skill Level Association List" carefully constructed in the previous stage, the list has recorded each engineer's unique identity, comprehensive "task completion rate index on time", and all the "core skill module labels" and corresponding "skill level codes" they have mastered. In order to generate the final and more detailed "Engineer Basic Information File", a series of data integration and aggregation operations need to be performed. The specific process is as follows: For each engineer record in the "Engineer Task Performance and Skill Level Association List", first, based on its unique engineer identity number, back-search and call the "original skill data input" generated in the earlier stage, from this Extract the "position number" that strictly corresponds to the engineer from the data input (for example, "PG-SENIOR-DEV-003" represents senior development engineer level 3), as well as each of the "core skill module labels" (such as "SKM001: embedded system bottom driver development") and the corresponding "skill level code" (such as level 4). There may be multiple pieces of these skill information to fully reflect the engineer's skill map. At the same time, it is also necessary to filter out all the specific "task numbers" belonging to the engineer from the "task on-time completion rate data record set" generated in the first step, and each task's clear "task completion status" (its value is "ahead of time", "on time" or "on time") Overdue"), as well as the "task plan time" (including the precise timestamps of the planned start and planned completion) and "actual completion time" (precise timestamp) of each task, to ensure that the performance details of each historical task are taken into consideration. After collecting all the above fields, including the engineer's "position number", all of his "core skill module labels" and the corresponding "skill level code" list, all the "task numbers" he has executed and the corresponding "task completion status" and related timestamp lists, as well as the single numerical "task on-time completion rate index" calculated previously, these multi-source and multi-dimensional information are strictly based on the "engineer unique identity number" as the core The system uses structured "aggregation encapsulation" with keys, which means that the system will create an independent, comprehensive electronic file record for each engineer. The record can use a nested data structure. For example, the top level contains the engineer's identity number, job number, and task completion rate indicator, and nested below it is a skill list (each containing a skill module label and level code) and a task history list (each containing a task number, status and time information). In this way, all relevant scattered data fields are organically integrated and centrally organized and stored around each individual engineer, ultimately generating an "engineer basic information file" with comprehensive content, clear structure, and easy query and analysis.
[0061] The steps to obtain the stage skill weight definition table are:
[0062] According to the project type corresponding to the project number in the project management database, the phase division list and the start and end time identifiers of each phase in the project life cycle template are extracted. Then, combined with the flowchart file configured in the task scheduling plan, the workflow nodes contained in each phase and the total number of workflow nodes are extracted to obtain the mapping structure set between the project life cycle phase and the key workflow nodes;
[0063] Based on the mapping structure set of project life cycle stages and key workflow nodes, the comprehensive adaptation value of the skill category is calculated using the following formula:
[0064]
[0065] Among them, Q k is the comprehensive adaptation value of the kth core skill category at the current stage node, F k is the total call frequency of the skill category in the current stage (unit: times), L k The total execution time of the corresponding tasks of this skill category in the current stage (unit: hours), Indicates the skill call density per unit time, P k The number of process nodes that have this skill category configured in the current stage, RET k The number of retries for failed tasks, NE k The number of engineers assigned to this skill category in the current stage node;
[0066] Based on the comprehensive adaptation value of each core skill category at the current stage node, the comprehensive adaptation value of all skill categories is aggregated by stage number, and structurally associated with the process node number, stage number and skill category number respectively to generate a stage skill weight definition table.
[0067] Specifically, according to the "project numbers" and their corresponding "project types" stored in the "project management database" integrated within the enterprise, for example, the project type corresponding to the project number "PJ2024-001" is "new product development type" or the project type corresponding to the project number "PJ2024-002" is "customer customized development type", the system first selects and calls the matching template from the predefined "project life cycle template library" based on this "project type". The template library contains standard "phase division lists" for different project types (such as "waterfall model", "agile development-Scrum", "iterative model", etc.). For example, if a "new product development type" project adopts the waterfall model, its "phase division list" may be "requirements analysis phase", "design phase", "coding phase", "testing phase", "deployment phase" and "maintenance phase" in order. At the same time, the template also clearly defines the "start and end time marks corresponding to each phase". This mark is not an absolute date, but a relative project milestone or time percentage, which is used to guide the specific time setting during actual project planning. Next, the system consults the detailed "flowchart file" (usually an electronic file in BPMN, Visio, or a similar format) configured in the "task scheduling plan" associated with the project. By parsing this "flowchart file," the system extracts the names or numbers of all "workflow nodes" contained in "each stage" of the project lifecycle, as well as the total number of these nodes. For example, in the "design stage," the so-called "workflow nodes" may include "detailed requirements clarification node," "system architecture design review node," "database model design node," "user interface prototyping node," and so on. The system will count that the "design stage" contains 12 such "workflow nodes." By integrating the stage information obtained from the "project lifecycle template" with the workflow nodes and their quantity information for each stage extracted from the "flowchart file," the system ultimately generates a structured "project lifecycle stage and key workflow node mapping structure set." This structure set clearly lists the identifier of each project lifecycle stage, as well as a list and total number of all key workflow nodes within that stage.
[0068] formula: The benefit of the formula is that it comprehensively evaluates the adaptability of specific core skill categories at a certain stage of the project. It not only considers the frequency of skill calls and the breadth of processes covered, but also takes into account the efficiency of performing related tasks and the ability to cope with the risk of task failure with resource support. By maximizing the demand and application breadth of skills through the numerator and minimizing the potential risks and resource pressure of skill application through the denominator, a relatively comprehensive quantitative indicator of skill adaptability is obtained. This design enables managers to more accurately identify the truly critical and efficient skills at different stages of the project, providing data support for resource allocation and personnel scheduling. Specifically, This ensures that high-frequency and efficient skills receive higher evaluations, ln(1+P k ) item rewards those skills that are applied in more process nodes. At the same time, the use of the logarithmic function avoids the disproportionate impact caused by too many nodes. The RET in the denominator k The item penalizes the application of skills that are error-prone or lead to rework, while The term reflects the buffering effect of human resource investment on risk. The denominator is designed to be 1+… in order to avoid the divisor being zero and to ensure that the basic adaptation value is positive.
[0069] F k The steps for obtaining the parameter are as follows: This parameter represents the total frequency of the kth core skill category being called by various tasks in the current project phase. The acquisition method is as follows: First, from the historical task data of the project management system or the task breakdown structure (WBS) of the current project, all task records belonging to the project phase currently being evaluated are filtered out. Secondly, each task record needs to be pre-marked with the "core skill category" required for its execution. For example, the task "user authentication module development" requires two core skills: "Java backend development" and "database design". Then, for the kth core skill, the total number of times this skill is marked in all the tasks in the current phase that have been filtered out is counted. This total number is F k The value of is in "times". Example: In the "coding phase" of a project, by analyzing 150 specific development tasks in this phase, it is found that the core skill category "Java backend development" is explicitly or implicitly required or called 120 times in these tasks. k The value is 120 times.
[0070] L k The steps for obtaining the parameter are as follows: This parameter represents the total cumulative execution time of all tasks related to the k-th core skill category in the current project phase. The acquisition method is as follows: First, all completed or ongoing tasks in the current project phase are screened from the project management system or time recording system, and the k-th core skills that these tasks rely on when executing are identified. Then, the actual working hours (for completed tasks) or current working hours (for ongoing tasks) of these tasks that use the k-th core skills are summarized. If a task uses multiple skills at the same time, the task working hours must be allocated to each related skill category according to the preset rules (such as average distribution or weighted distribution by contribution), and finally the total execution time L of the k-th skill in this phase is accumulated. k, in hours. Example: In the above "Coding Phase", there are 80 tasks related to the "Java Backend Development" skill. The total actual execution hours of these tasks (or the hours allocated to the "Java Backend Development" skill) are 320 hours. For the "Java Backend Development" skill category, its L in this phase is k The value is 320 hours.
[0071] P k The steps to obtain the parameter are as follows: This parameter represents the number of workflow nodes that are explicitly configured or specified to require the participation of the k-th core skill category in the current project phase. The acquisition method is: based on the generated "project life cycle phase and key workflow node mapping structure set" and a pre-established "skill category and workflow node requirement association library" (this library is defined by domain experts and indicates which workflow nodes usually require which skills support), for the current project phase, traverse all workflow nodes included in the phase, and count how many of them specify the participation of the k-th core skill category in their definition or actual execution allocation. This number is P k The value of is in "pieces". Example: In the "Coding Phase", there are 20 standard workflow nodes (such as "Code Writing", "Unit Testing", "Code Review", "Defect Fixing", etc.). By consulting the "Skill Category and Workflow Node Requirement Association Library", it is found that 15 of these workflow nodes clearly or usually require the participation of the "Java Backend Development" skill. For the "Java Backend Development" skill category, its P in this phase is k The value is 15.
[0072] RET k The steps to obtain the parameter are as follows: This parameter represents the total number of retries or reworks that occurred due to execution failure or quality problems in tasks related to the kth core skill category in the current project phase. The method of obtaining it is as follows: from the project quality management system, defect tracking system or task change records, all tasks related to the kth core skill in the current project phase are screened out, and the total number of times these tasks need to be re-executed, code modified, or significantly adjusted due to reasons such as failure to achieve the expected goals, defects, or failure to pass the review is counted. This total is RET k The value of is in "times". Example: In the "Coding Phase", in tasks related to the "Java Backend Development" skill, the total number of rework or retries due to code defects, test failures, etc. is 10. For the "Java Backend Development" skill category, the RET k The value is 10 times.
[0073] NE kThe steps for obtaining the parameter are as follows: This parameter represents the total number of engineers assigned to perform tasks related to the kth core skill category in each workflow node of the current project stage (deduplication calculation, that is, the same engineer appearing in different tasks is only counted as one person. If man-days are considered, deduplication is not performed, and the number of people is used here). The method for obtaining it is: check the resource allocation plan or the actual task undertaker record of the current project stage, and for all tasks related to the kth core skill category, count how many different engineers have participated in the execution of these tasks. The number of people after deduplication is NE k The value of is in “person”. Example: In the “Coding Phase”, a total of 8 different engineers participated in the task involving the “Java Backend Development” skill. For the “Java Backend Development” skill category, the NE k The value is 8 people.
[0074] When L k =0, F k must also be equal to 0. At this time, the numerator The term will be considered as 0, so that the entire Q k A value of 0 indicates that the skill has no practical application at this stage and the adaptation value is zero.
[0075] Calculation process: Take the parameter values of the "Java Backend Development" skill category in the "Coding Phase" obtained above as an example to calculate: F k =120 times, L k =320 hours, P k =15, RET k =10 times, NE k =8 people;
[0076] First calculate the skill call density:
[0077] times / hour;
[0078] Then calculate the process node impact factor:
[0079] ln(1+P k )=ln(1+15)=ln(16)≈2.7726;
[0080] Next, calculate the ratio term in the risk and resource adjustment factor:
[0081]
[0082] Calculate the denominator:
[0083]
[0084] Finally, calculate the comprehensive adaptation value Q k :
[0085]
[0086] Q k ≈0.2292;
[0087] The results show that the core skill category "Java backend development" has a comprehensive adaptability value of 0.2292 in the "coding phase" of the current project. This value itself is a relative indicator used to compare the adaptability of different skills at the same phase, or the adaptability of the same skill at different phases. Generally speaking, Q k The higher the value, the higher the demand for the skill, the wider its application, the better its efficiency, the acceptable risk, or the sufficient resources to cope with it. k If the value is 0.5, its adaptability is higher than "Java backend development"; if it is 0.1, it is lower than "Java backend development". Enterprises can set a reference range for the adaptability value level based on historical data and project characteristics. For example, 0.0 to 0.15 is rated as "low adaptability", 0.15 to 0.3 is rated as "medium adaptability", and 0.3 and above is rated as "high adaptability". The current calculation result of 0.2292 can be regarded as "medium adaptability". This comprehensive adaptability value Q k It will serve as the basic data for the skill weight definition table in the subsequent generation phase.
[0088] Based on the various "core skill categories" calculated in the previous stage, at a specific node in the current project stage (or the entire stage, depending on Q k The calculation granularity, here set as the stage granularity) of the "comprehensive adaptation value" Q k , the system will perform aggregation and association operations. First, the "comprehensive adaptation values" of all core skill categories are grouped and aggregated according to the "stage number" of the project (for example, "PD001" represents the demand analysis stage, "PD002" represents the design stage, etc. These numbers are derived from the extracted stage division list) to ensure that each project stage has a set of corresponding adaptation values for each skill category. Subsequently, the system associates these aggregated "comprehensive adaptation values" with the corresponding "process node number" (if Q k It is calculated at the node level, or the phase Q kThe system creates or updates a data table in which each row of records contains at least the "stage number", "skill category number" and the "comprehensive adaptation value" of the skill in the stage. The "comprehensive adaptation value" is then regarded as the preliminary weight of the skill in the stage. For example, a record may be: "Stage number: PD002 (design stage), skill category number: SKC001 (Java backend development), comprehensive adaptation value (weight): 0.2292". By repeating this process for all project stages and all core skill categories, a complete and structured "stage skill weight definition table" is finally generated. The table defines in detail the numerical weight that each core skill category should have at different stages of the project life cycle.
[0089] The steps to obtain the skill weight value at the current stage are:
[0090] Call the timestamp record corresponding to the current project number, parse the stage number interval in the life cycle template where the current time is located, identify the stage identifier corresponding to the stage number and the unique identifier field in the stage skill weight definition table, and obtain the current project life cycle stage identifier;
[0091] Based on the current project lifecycle stage identifier, all record rows that match the stage identifier field are filtered from the stage skill weight definition table. The skill category number and comprehensive adaptation value in the record row are paired and extracted to obtain the skill category number and numerical weight combination corresponding to the current project lifecycle stage.
[0092] Based on the combination of skill category numbers and numerical weights corresponding to the current project life cycle stage, data entries with missing values, duplicate numbers or abnormal formats in the numerical weight fields are eliminated, and the data are sorted in ascending order by skill category numbers to generate the skill weight value for the current stage.
[0093] Specifically, first, the system accesses the project management system or related database according to the "current project number" specified in the current operation or query request, and retrieves a series of "timestamp records" associated with the "current project number". These timestamp records may include the project start time, key milestone completion time, and the real-time time of the current system. In this step, the main focus is on the latest timestamp that can reflect the current progress of the project, that is, the "current time". Then, the system will load the "life cycle template" that matches the project type. The template defines in detail the various stages of the project and their corresponding "stage number intervals". For example, a typical software development project life cycle template may include "PD001-Requirement Analysis Stage: Week 1 to Week 4 after Project Start", "PD002-Design Stage: Week 5 to Week 8 after Project Start", and "PD003-Coding Stage: Week 9 to Week 16 after Project Start". By comparing the obtained "current time" with the start and end time of each "stage number interval" in the "life cycle template", the system parses and determines which "stage number interval" the "current time" falls into, thereby identifying the "stage number" the project is currently in. For example, if the current time is the 10th week after the project start, the project is in the "PD003-Coding Stage". Subsequently, the system uses this identified "stage number" (such as "PD003") as the search key to query and match the corresponding "stage identifier" in the previously generated "stage skill weight definition table" and the "unique identifier field" in the table that uniquely identifies the weight record of this stage. This "unique identifier field" is usually the primary key representing the stage in the "stage skill weight definition table" or a specially established index field. Through this series of precise parsing and identification operations, a clear "current project life cycle stage identifier" is finally obtained.
[0094] Based on the "Current Project Lifecycle Phase Identifier" obtained in the previous process, for example, if it is determined that the current project is in the "PD003-Coding Phase", the system will use this "Current Project Lifecycle Phase Identifier" as the core query condition, and perform data filtering operations in the "Phase Skill Weight Definition Table" that has been constructed in the previous step. Specifically, the system will traverse each record in the "Phase Skill Weight Definition Table" and check whether the "Phase Identifier Field" in the record (the field stores the phase number such as "PD003") is completely matched with the passed-in "Current Project Lifecycle Phase Identifier". All record rows that meet this matching condition will be completely retrieved to form a data subset. Each such record row contains the relevant weight information of a core skill category under this project phase. Then, from these filtered record rows, the system will further accurately select Two key data are extracted: one is the "skill category number" (for example, "SKC001" represents "Java back-end development", "SKC002" represents "database management", etc.), and the other is the "comprehensive adaptation value" corresponding to the skill category. This "comprehensive adaptation value" is the previously calculated value representing the importance of the skill at this stage (also called weight in the previous article). The system strictly pairs the "skill category number" in each record with its corresponding "comprehensive adaptation value", such as forming data pairs such as ("SKC001", 0.45) and ("SKC002", 0.30). By performing this pairing extraction operation on all filtered record rows, a structured list or set is finally generated, which is the "combination of skill category numbers and numerical weights corresponding to the current project life cycle stage".
[0095] Based on the "combination of skill category numbers and numerical weights corresponding to the current project life cycle stage" obtained in the previous stage, this combination is a preliminary list containing multiple skill categories and their corresponding numerical weights. In order to ensure the quality of the data and the accuracy of subsequent calculations, a series of data cleaning and sorting operations are required. First, the system will check each data entry in the list one by one, focusing on its "numerical weight" field. If the "numerical weight" field is found to be empty, marked as "N / A" or any form of null value indication, such data entries will be defined as having "missing values" and eliminated. For example, entries such as ("SKC003", NULL) will be removed. Secondly, the system will check whether there are "duplicate numbers", that is, the same "skill category number" appears multiple times in the list. If a duplicate is found, it needs to be processed according to the preset rules. For example, the entry with the higher "numerical weight" is retained by default, or the first-appearing entry is simply retained and subsequent duplicates are eliminated, or all duplicate entries are marked as pending review. Here, the rule of retaining the first-appearing entry and eliminating the rest is adopted. For example, if the list is [("SKC001", 0.45), ("SKC001", 0.42)], then ("SKC001", 0.42) will be eliminated. Again, the system will check the "format abnormality" of the "numeric weight" field to ensure that it is a valid decimal number format and the value is within a predefined reasonable range. For example, the weight value should be between 0 and 1. Any non-numeric characters (such as the text "high") or values outside this range (such as 1.2 or -0.1) will be considered "format abnormalities" and the data entry will be eliminated. The setting of this reasonable range is based on the calculation logic of the comprehensive adaptation value to ensure that the weight has practical significance. After completing the above elimination operation, the system will sort all the verified and valid "skill category number and numerical weight" data entries in ascending order strictly according to the alphanumeric order of the "skill category number" (for example, SKC001, SKC002, SKC005...). Through this series of screening, deduplication, verification and sorting processing, a clean, orderly and directly used "current stage skill weight value" list is finally generated.
[0096] The steps to obtain the weighted skill level data are as follows:
[0097] Based on each engineer's position number in the engineer basic information file, the bound skill module tags and corresponding skill level codes are extracted. Then, a structured correspondence table of skill module tags and skill level codes is formed by aggregating them according to the skill module tags to obtain the engineer skill level input set.
[0098] Based on the engineer skill level input set, the skill category numbers identified in the skill weight values of the current stage are traversed, and the mapping relationship between skill module labels and skill category numbers is matched one by one. The successfully matched skill level codes are combined with the corresponding numerical weights to obtain the pairing result of the engineer's skill level code and skill numerical weight at the current stage;
[0099] Based on the pairing results of the engineer's skill level code and skill numerical weight at the current stage, the coding weight combination of all skill module labels of each engineer is regularized, numbered and filled with zeros to generate the skill level data to be weighted.
[0100] Specifically, based on the "Engineer Basic Information File" constructed in the previous steps, for each engineer recorded in the file, the system will first accurately lock the engineer's file record based on his unique "Engineer Unique Identity Number" and extract the "Position Number" information from his file. Then, the system will deeply analyze the list of all "Skill Module Tags" bound to the engineer's file and the standardized "Skill Level Code" corresponding to each "Skill Module Tag". For example, the file of Engineer Zhang San (Position Number: PG-DEV-001) may contain the skill module tag "SKM001: Java Backend Development" corresponding to the skill level code 4 (Proficient), and the skill corresponding to "SKM002: Database SQL Optimization". The level code is 3 (proficient). After extracting this information, the system will aggregate all the "skill module tags" and corresponding "skill level codes" for each engineer, and organize them into a structured correspondence table or key-value pair set, where the key is the "skill module tag" and the value is the "skill level code" corresponding to the tag. For example, for engineer Zhang San, the corresponding table may be {"SKM001": 4, "SKM002": 3}. By performing this extraction and aggregation operation on all engineers in the "Engineer Basic Information File", an "Engineer Skill Level Input Set" containing the skill portraits of all engineers is finally formed. Each element in this set represents an engineer and a complete list of the skill modules he has mastered and the corresponding level codes.
[0101] Based on the "Engineer Skill Level Input Set" generated in the previous stage, and the list of "Current Stage Skill Weight Values" for the specific stage of the current project obtained in the previous step (the list contains all the "Skill Category Numbers" that are considered important in the current stage and their corresponding "Numerical Weights"), the system will then match each engineer's skills with the weight of the current stage. The specific operations are as follows: First, the system selects an engineer's skill data from the "Engineer Skill Level Input Set" for processing. Then, the system will traverse each entry in the "Current Stage Skill Weight Value" list. Each entry contains a "Skill Category Number" (for example, "SKC-BACKEND" represents the back-end development skill category) and a "numerical weight" (for example, 0.6). For each "skill category number" in the list, the system needs to find a matching entry in the "skill module label" owned by the engineer. The matching here depends on a pre-defined and maintained "skill module label and skill category number mapping table". This mapping table is constructed by the technical expert committee within the enterprise according to industry standards and internal skill system, and clarifies which macro "skill module label" (such as "SKM001: Java back-end development") should belong to. For example, the mapping table may define that "SKM001" and "SKM005: Python API development" both belong to the "SKC-BACKEND" skill category. When the system successfully finds one or more "skill module tags" corresponding to the currently traversed "skill category number" in the engineer's skill list based on this mapping relationship, the system will select the highest "skill level code" (if one category corresponds to multiple module tags) that the engineer has on these matching "skill module tags" and compare this "skill level code" with the "skill weight value at the current stage". The "numerical weight" corresponding to the obtained "skill category number" is combined and bound to form a pairing record. For example, if engineer Zhang San's "SKM001" skill level code is 4, and "SKM001" is mapped to "SKC-BACKEND", and the numerical weight of "SKC-BACKEND" in the current stage is 0.6, then the pairing result is generated (Zhang San, SKC-BACKEND, level 4, weight 0.6). After completing this matching and binding process for all engineers and all skill categories with weights in the current stage, all "pairing results of engineers' skill level codes and skill numerical weights in the current stage" are obtained.
[0102] Based on the set of "skill level codes and skill numerical weight matching results" obtained in the previous stage, which contains the skills required for each engineer in the current project stage, in order to ensure the standardization and accuracy of the subsequent dynamic weighted skill score calculation, these matching results need to be finally sorted and formatted. The specific steps are as follows: First, for the "coding weight combination" of all "skill module labels" (or mapped skill category numbers) of each engineer, "field regularization" is performed to ensure that each record contains a unified field name, such as "engineer unique identity number", "skill category number", "skill level code", "skill numerical weight", and the data type of each field meets the preset standards, for example, "skill level code" is an integer and "skill numerical weight" is a floating point number. Secondly, "number marking" is performed to ensure that each skill weight combination record can be uniquely identified by the "skill category number" in the context of its engineer, or a temporary unique processing ID is generated for each combination record. Thirdly, the key "gap filling processing" is performed. The core logic of this processing is: the system will use the "current stage skill weight value" list (the list The system defines all the skill categories and their weights that should be considered in the current stage) as the benchmark, and checks whether each engineer has the corresponding records of these benchmark skill categories in their "skill level code and skill value weight matching results". If an engineer lacks a matching record for a "skill category number" in the benchmark list (which means that the engineer does not have the skill that is given a weight in the current stage, or the skill module he has is not successfully mapped to this skill category), the system will add a record for this "skill category number" for the engineer and set his "skill level code" to The value of the skill value is 0, and the "skill numerical weight" uses the original weight value of the skill category in the "Current stage skill weight value" list. For example, the current stage requires the "SKC-CLOUD" skill with a weight of 0.5. Engineer Li Si does not have a matching record for this skill, so a record (Li Si, SKC-CLOUD, level 0, weight 0.5) is added. After completing the above field regularization, numbering marking and detailed zero-filling operations for the skill weight combination of all engineers, a structured, complete "skill level data to be weighted" is finally generated that can be directly used for subsequent weighted calculations.
[0103] The steps to obtain the dynamic weighted skill score are:
[0104] Based on the skill module label, skill level code, and skill numerical weight of each engineer in the weighted skill level data, the engineers are grouped according to their numbers and sorted by skill module label to form a matching list of skill levels and weights corresponding to the engineer numbers, thus obtaining a list of combinations of engineer skill levels and skill numerical weights.
[0105] Based on the list of engineer skill levels and skill numerical weight combinations, combined with the task numbers corresponding to the engineers in the resource allocation plan, the priority level label corresponding to each task number is extracted. The task priority level label is converted into a numerical form according to the fixed score mapping rule to obtain the mapping result between the engineer number and the task priority value;
[0106] Based on the mapping results between the engineer number and the task priority value, the dynamic weighted skill score of the engineer in the current task stage is calculated using the following formula:
[0107]
[0108] Among them, Z i is the dynamic weighted skill score of the i-th engineer, G ic is the skill level code value of the i-th engineer in the c-th skill module, W ic is the skill value weight of the i-th engineer in the c-th skill module, T ic is the task priority corresponding to the cth task assigned to the i-th engineer, and m is the total number of skill modules that the engineer is authorized to handle.
[0109] Specifically, based on the "skill level data to be weighted" processed in the previous stage, the data has prepared skill level codes and corresponding skill numerical weights for each relevant skill module of each engineer. First, the system classifies and groups these data records according to the "engineer unique identity number" to ensure that all skill entries belonging to the same engineer are processed centrally. Within each engineer's skill data group, the system will further sort according to the "skill module label" (or its corresponding unique skill module number, such as "SKM001", "SKM002", etc.). This sorting adopts the alphanumeric ascending rule. After such classification, After the grouping and internal sorting operations, the original "skill level data to be weighted" is converted into a series of ordered skill level and weight matching lists for each engineer. Each list clearly lists the various skill modules possessed by the engineer and related to the current project stage, as well as the "skill level codes" corresponding to these skill modules and the "skill numerical weights" after adjusting the importance of the stage. These ordered lists of all engineers are summarized to finally form a structured "engineer skill level and skill numerical weight combination list", which provides direct and regular data input for the subsequent calculation of each engineer's dynamic weighted skill score.
[0110] Based on the "engineer skill level and skill numerical weight combination list" generated in the previous stage, and combined with the "resource allocation plan" in the enterprise project management system, the system will first extract the "task numbers" assigned to each engineer in the current project phase or specific time window for each engineer in the list. For example, engineer Li Si may be assigned tasks "TASK-A01", "TASK-B03", etc. For each extracted "task number", the system will further retrieve its preset "priority level label" from the task attributes. These labels are usually in text form, such as "very high", "high", "medium", "low", "very low", or P-level labels such as "P0", "P1", "P2", "P3", and "P4". Next, the system will apply a set of pre-defined "fixed score mapping rules" to convert these text or label-based "priority level labels" into standardized "numerical form". The mapping rules are determined by the project management office ( The Project Management Organization (PMO) or relevant technical management department formulates a comprehensive rule based on the strategic importance, urgency, and potential impact of tasks on project objectives, and ensures uniform implementation within the organization. An example rule is as follows: map the "Very High" or "P0" priority label to a value of 1, "High" or "P1" to a value of 2, "Medium" or "P2" to a value of 3, "Low" or "P3" to a value of 4, and "Very Low" or "P4" to a value of 5. The numerical design here follows the principle of "smaller values, higher priority" to accommodate the characteristics of the logarithmic function in the subsequent formula. For example, if engineer Li Si's task "TASK-A01" has a priority label of "High," its corresponding task priority value is 2. By executing this priority extraction and value conversion process for all engineers and all assigned tasks, a "engineer number to task priority value mapping result" is generated, which contains the "engineer unique identification number" and each "task number" and its corresponding "task priority value."
[0111] formula: The benefit of the formula is that it can dynamically evaluate the skill effectiveness of engineers in specific task situations. It not only takes into account the engineer's own skill proficiency (G ic ) and the importance of the skill in the current project stage (W ic ), and also innovatively incorporates the priority of the tasks undertaken by engineers (T ic ) as a regulatory factor, molecules This ensures that skills with high skill levels and large stage weights contribute more. The square root of the weight plus 1 can amplify the weight effect while avoiding the situation where the entire skill item contributes zero when the weight value is 0 (unless the skill level is also zero). It also makes the weight effect show nonlinear growth, which is closer to the value curve of important skills in reality. The denominator 1+|ln(T ic)|The contribution of individual skill scores is adjusted according to the task priority. The task priority value T ic Designed as "the smaller the value, the higher the priority" (e.g. T ic ≥1), then when T ic =1 (highest priority), ln(1)=0, the denominator is 1, and the skill item contributes the most; when T ic When the priority is reduced, ln(T ic ) increases, the denominator increases, and the contribution of this skill item to the total score decreases accordingly. This design makes the skills applied in high-priority tasks contribute more to the total score, so that the evaluation results focus more on the execution ability of key tasks.
[0112] G ic The steps for obtaining the parameter are as follows: This parameter represents the "skill level coding value" of the i-th engineer on the c-th core skill module. This value is directly extracted from the "engineer skill level and skill value weight combination list" generated in the first stage of this step, based on the specified engineer's unique identity number (corresponding to subscript i) and skill module number (corresponding to subscript c). This coding value is uniformly quantified after evaluating the engineer's training records, practical evaluation and project experience in the previous step. It is an integer, such as 1 to 5 levels, with 5 being the highest. Acquisition example: For an engineer with the engineer number "E001", query his "engineer skill level and skill value weight combination list". If his "skill level coding value" record on the skill module "SKM001" (for example, Java backend development) is 4, then G E001,SKM001 =4.
[0113] W ic The steps to obtain the parameter are as follows: This parameter represents the "skill numerical weight" corresponding to the i-th engineer on the c-th core skill module. This weight reflects the importance of the c-th skill module in the current project stage. Its value is also extracted from the generated "engineer skill level and skill numerical weight combination list" according to the specified engineer's unique identity number (corresponding to subscript i) and skill module number (corresponding to subscript c). This numerical weight is obtained by calculating the comprehensive adaptation value of the skill category in the previous step, and has been processed by filling in vacancies with zeros, etc., and is usually a decimal between 0 and 1. Acquisition example: For an engineer with an engineer number of "E001", query its "engineer skill level and skill numerical weight combination list". If the "skill numerical weight" corresponding to the skill module "SKM001" is recorded as 0.65, then W E001,SKM001 =0.65.
[0114] T icThe steps for obtaining the parameter are as follows: This parameter represents the "task priority" value corresponding to the task related to the application of the cth core skill module that the i-th engineer is assigned to perform. This value is extracted from the generated "engineer number and task priority value mapping result". For example, engineer i is responsible for a main task in the current evaluation cycle, and the priority of the main task is T i , T applied to all skill modules of this engineer ic Calculation, that is, T ic =T i If it is clear which specific task the skill module c is mainly applied to of engineer i, then T ic Get the priority value of the specific task. This value is converted from the text label (such as "high", "medium", "low") through the fixed score mapping rule and follows the principle of "the smaller the value, the higher the priority", for example, 1 represents the highest priority. Acquisition example: Engineer "E001" is currently responsible for task "TASK-X01". The "task priority value" recorded in the "engineer number and task priority value mapping result" of this task is 2 (representing "high" priority). For all skill modules c of engineer "E001", its T E001,c =2.
[0115] The steps to obtain the parameter m are as follows: This parameter represents the total number of skill modules that the i-th engineer is authorized to handle, that is, the number of core skill modules that the engineer has in the current project stage and that are assigned non-zero weights in the "Current Stage Skill Weight Value" list. This number can be obtained by counting the "Skill Value Weight" W in the entry corresponding to engineer i in the "Engineer Skill Level and Skill Value Weight Combination List". ic The number of skill modules c greater than 0 is obtained. Example: In the "Engineer Skill Level and Skill Value Weight Combination List" of engineer "E001", there are 3 skill modules (SKM001, SKM002, SKM003) whose "Skill Value Weight" is greater than 0. For engineer "E001", m=3.
[0116] Calculation process: Take engineer "E001" as an example, for example, he has the following two weighted skill modules (i.e. m=2): Skill module 1 (c=1, "SKM001"): G E001,1 =4(skill level code value), W E001,1 =0.65 (skill value weight) the priority value of its associated task T E001,1 =2 (for example, its main task priority is "high", mapped to 2);
[0117] Skill Module 2 (c=2, "SKM002"): G E001,2 =3(skill level code value), WE001,2 =0.40 (skill value weight), the priority value of its associated task is T E001,2 =2 (same as above, for example, priority is 2);
[0118] Compute the dynamic weighted skill score Z for engineer "E001" E001 :For skill module 1 (c=1): Numerator: Denominator: Scoring items for Skills Module 1:
[0119] For skill module 2 (c=2): Numerator: Denominator: 1+|ln(T E001,2 )|=1+|ln(2)|=1+|0.6931|=1+0.6931=1.6931, score items of skill module 2:
[0120] Total score Z E001 :
[0121]
[0122] The results indicate that Engineer E001's dynamically weighted skill score for the current task phase is 5.1312. This score is a comprehensive, quantitative assessment that reflects the effectiveness of the engineer's skill application within the context of the current task. A higher score generally indicates a stronger skill level, the degree to which the skill matches the current task, and the ability to apply it to high-priority tasks.
[0123] The steps to obtain the effectiveness proficiency index are:
[0124] Based on the identity field of each engineer in the engineer basic information file, the corresponding task number and the completion status and planned duration information marked in the archived record are extracted. The total number of tasks and the number of tasks completed on time for each engineer are aggregated by task number and the completion rate is calculated to obtain the association result set between engineer number and task on-time completion rate.
[0125] Based on the result set of the association between engineer number and task completion rate, combined with the generated dynamic weighted skill score, the number of direct superiors, number of horizontal collaborative engineers, and team size parameters corresponding to each engineer in the organizational structure mapping table and team composition configuration list are retrieved to calculate the effectiveness proficiency index. The calculation formula is:
[0126]
[0127] Among them, EIj is the performance proficiency index of the jth engineer, Z j is the dynamic weighted skill score of the jth engineer, B j is the number of collaborative engineers in the team of the jth engineer, D j is the on-time completion rate of the jth engineer's tasks (processed as a proportional decimal), GS j is the total number of people in the team where the jth engineer belongs;
[0128] Based on the engineer's efficiency proficiency index, combined with the engineer's identity identification field and position number, it is organized into an output structure record with the engineer number as the primary key.
[0129] Specifically, based on the "Engineer Basic Information File" that has been fully constructed in the previous steps, the system will first accurately retrieve and call up the personal file information of each engineer in the file through his unique "identification field" (such as employee number "EMP001"). From the file, the system will focus on extracting historical data related to task execution, including a list of all "task numbers" that the engineer has been responsible for, and the "completion status marked in the archived record" of each task in the system (for example, the status may be "delivered on time", "delivered ahead of schedule", "delayed delivery", "canceled", etc.) and the originally planned "planned duration information" (for example, task "T001" is planned to last 20 hours). Next, the system will aggregate the extracted task information according to the "task number" and count the effective "total number of tasks" undertaken by each engineer (for example, excluding those that have been completed). The "on-time completion quantity" here is determined based on the "completion status" field. Usually, tasks marked as "on-time delivery" and "early delivery" are both counted in the "on-time completion quantity". For example, if engineer "EMP001" is responsible for a total of 10 valid tasks, of which 6 are "on-time delivery", 2 are "early delivery", and 2 are "delayed delivery", then the on-time completion quantity is 8. Subsequently, the system calculates the engineer's task "completion ratio" (i.e., the on-time completion rate of tasks) by dividing the "on-time completion quantity" by the "total number of tasks". In the above example, the ratio is 8 / 10=0.8. By performing this series of extraction, aggregation, and calculation operations on all engineers, a "result set of association between engineer number and on-time completion rate of tasks" is finally generated, which includes the "engineer unique identification number" and its corresponding "on-time completion rate of tasks" (expressed as a decimal).
[0130] formula: The benefit of the formula is that it constructs a comprehensive index for evaluating the proficiency of engineers in multiple dimensions. The index not only includes the dynamic weighted skill score (Z j ) and task completion rate (Dj ) These two indicators directly reflect personal ability and work performance, and also innovatively introduce the team collaboration environment factor (B j and GS j ) to more comprehensively reflect the comprehensive effectiveness of engineers in the actual organizational environment. The first bracketed item Focus on the relative performance of skill scores in teamwork, dynamically weighted skill scores Z j Adding 1 is to ensure that the numerator is positive and that Z j When it is lower, there is still a base value, divided by This means that when the skill level is similar, the more peers there are in parallel collaboration, the more independent pressure or prominence an individual bears, which may be considered relatively dispersed, or it means that the individual can also perform well in large-scale collaboration. This item gives a smooth negative adjustment to the increase in the number of collaborators. The second bracketed item We focus on the performance of task completion efficiency in the context of team size, and the task completion rate D j Is the direct output, divided by ln(GS j +2) indicates that when task completion rates are similar, larger teams require individuals to work in a more complex communication and coordination environment to achieve their goals. This term provides a smooth negative adjustment for increasing team size. The ln function and the addition of 2 ensure that the denominator is positive and changes smoothly. The entire formula, through the product of these two parts, aims to identify engineers who not only have outstanding skills and high performance, but also can work effectively in different team environments.
[0131] Z j The parameter acquisition steps are as follows: This parameter represents the "dynamic weighted skill score" of the jth engineer. This score is the direct calculation output of the previous step (the step of obtaining the dynamic weighted skill score). It combines the engineer's skill level, the weight of the skill at the current stage, and the priority of the task. This value is directly retrieved from the calculation results of this step. Acquisition example: According to the calculation of the previous step, the "dynamic weighted skill score" Z of engineer "EMP001" (i.e. j = EMP001) is EMP001 It is 5.1312.
[0132] B jThe steps to obtain the parameter are: This parameter represents the number of engineers who collaborate with the j-th engineer in his team (or project group). This data is obtained by consulting the "Organizational Structure Mapping Table" in the enterprise's human resources system or the "Team Composition Configuration List" in the project management tool. The specific operation is: first locate the direct work team or project group where the j-th engineer is located, and then count the number of other engineer members in the team / group except the engineer himself and his direct superior (if clearly defined). These members are regarded as colleagues who are in a parallel collaborative relationship with the j-th engineer. Acquisition example: Engineer "EMP001" is in development group A, which has a total of 5 engineers, 1 of whom is the team leader (for example, the superior of "EMP001"). Excluding "EMP001" himself and the team leader, there are 3 other engineers. The number of parallel collaborative engineers for "EMP001" is B. EMP001 3 people. If there is no clear superior and all members of the team collaborate in parallel, the total number of team members will be reduced by 1.
[0133] D j The parameter acquisition steps are as follows: This parameter represents the "task on-time completion rate" of the jth engineer. This rate is the output result of the first stage calculation of this step and is recorded in the "result set of association between engineer number and task on-time completion rate". This value is expressed as a decimal between 0 and 1 and is directly extracted from the result set based on the engineer number. Acquisition example: According to the above steps, the "task on-time completion rate" D of engineer "EMP001" is calculated. EMP001 is 0.80.
[0134] GS j The steps to obtain the parameter are as follows: This parameter represents the "total number of people" in the work group or agile team where the j-th engineer currently belongs, including the engineer himself and all other members of the team (regardless of role, such as tester, product manager, etc., if the evaluation scope is limited to engineers, then it is the total number of engineers). This data is also obtained by consulting the "Organizational Structure Mapping Table" or "Team Composition Configuration List", by locating the group where the engineer belongs and counting the total number of members in the group. Acquisition example: Engineer "EMP001" is in Development Group A. After checking the team composition configuration list, it is confirmed that the group has a total of 5 members (including "EMP001" himself, the team leader and other engineers or related role personnel). The total number of people in the group where "EMP001" belongs, GS EMP001 For 5 people.
[0135] Calculation process: Take the parameter values of engineer "EMP001" obtained above as an example to calculate: Z EMP001 =5.1312, B EMP001 =3 people, D EMP001 =0.80, GSEMP001 =5 people;
[0136] Calculate the value inside the first bracket:
[0137]
[0138] Calculate the value inside the second bracket:
[0139]
[0140] Consult a table of natural logarithms or use a calculator, ln(7)≈1.9459
[0141]
[0142] Finally calculate the efficiency proficiency index EI EMP001 :
[0143] EI EMP001 =3.0656·0.4111;
[0144] EI EMP001 ≈1.2599;
[0145] The results indicate that engineer "EMP001" has a performance proficiency index of 1.2599. This index is a comprehensive metric that not only reflects an engineer's skill level and task completion efficiency, but also takes into account their performance in a team environment. Higher values generally indicate higher overall performance and proficiency of the engineer. This index can be used to assess an engineer's overall contribution, identify high-potential talent, or serve as a reference for promotion and training resource allocation. For example, if another engineer's performance proficiency index is 0.9, this indicates that "EMP001" has better overall performance under the current evaluation system. Companies can set different grade ranges for this index (such as excellent, good, average, and needs improvement) based on historical data and expected distribution.
[0146] Based on each engineer's "Performance Proficiency Index" calculated in the previous stage (for example, Engineer "EMP001" has a Performance Proficiency Index of 1.2599), the system then integrates this core assessment result with the engineer's other key identity information. Specifically, based on the engineer's unique "identity field" (such as employee number "EMP001"), the system retrieves the engineer's "position number" (for example, "PG-SENIOR-DEV-003" represents Senior Development Engineer Level 3) from the "Engineer Basic Information File." The system then structures these three core pieces of information: the calculated "Performance Proficiency Index," the engineer's "identity field," and their "position number." Ultimately, this information is organized into a series of standardized output records with the "engineer's unique identity number" as the primary key. Each record clearly presents an engineer's identity, current position, and the most recently assessed Performance Proficiency Index. These records can be stored in a database or generated into reports in a specific format to facilitate management's query, analysis, comparison, and subsequent human resources decision-making.
[0147] The above are merely preferred embodiments of the present invention and do not limit the present invention in any other form. Any technician familiar with the profession may use the technical content disclosed above to change or modify it into an equivalent embodiment with equivalent changes and apply it to other fields. However, any simple modification, equivalent change and modification made to the above embodiment based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall still fall within the scope of protection of the technical solution of the present invention.
Claims
1. A method for evaluating an engineer's engineering skill proficiency, characterized in that: The following steps are involved: Identify the core skill categories of engineers, collect input on their skill levels to establish a personnel skills inventory, generate raw skill data input, and based on the raw skill data input, collect on-time completion rate data for engineers' task completion metrics and associate it with their skill level input to establish a basic information file for engineers; Define the various project lifecycle stages and key workflow nodes of the project, set the numerical weights of core skill categories at different stage nodes, generate a stage skill weight definition table, and based on the stage skill weight definition table, select the current project lifecycle stage and extract the numerical weights of each skill corresponding to the stage to obtain the skill weight value of the current stage; Obtaining skill level input based on the engineer's basic information file, calling the skill weight value of the current stage, generating skill level data to be weighted, and performing calculation of the skill level and the corresponding skill weight value of the current stage based on the skill level data to be weighted and combining the task priority adjustment of the resource allocation plan to obtain a dynamic weighted skill score; Based on the basic information file of the engineer, the task completion rate data is extracted, combined with the dynamic weighted skill score, and associated with the engineer's organizational structure and team composition information to generate an efficiency proficiency index.
2. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the original skill data input are: Based on the engineering organization's job list, we extracted job numbers and job function descriptions. We then categorized and mapped the job function descriptions according to three types of labels: professional domain terms, core responsibility verb phrases, and technical behavior categories. We then constructed a corresponding matrix between job function labels and skill module labels. Based on the matrix matching results, we assigned each engineer a job number and labeled their corresponding core skill module label, generating a categorized list of core skill categories for each engineer. Based on the engineer core skill category classification list, by accessing the engineer training records, practical evaluation records and project experience registration forms, the skill name, corresponding skill module label, evaluation level label and evaluation source identifier in each record are extracted. The evaluation level labels from multiple sources under the same skill module label are coded and graded, and the highest evaluation level is used as the main label to retain the unique identifier. The information of each skill module label and evaluation level label of the engineer is integrated to obtain the engineer skill level input summary table; Based on the engineer skill level input summary table, the correspondence between skill module labels, assessment level labels and job numbers is called, and all skill level inputs of each engineer are numbered and sorted according to the skill module labels and the job numbers are clustered and merged to generate a structured record list containing three-dimensional data fields of job number, skill module label and skill level code, and generate the original skill data input.
3. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the basic information file of the engineer are as follows: Based on the position number and skill module label bound to each engineer in the original skill data input, the personnel task allocation list in the project task execution record table is matched, the task number and task planned start and end time undertaken by the corresponding engineer in multiple projects are extracted from the task allocation list, the task actual completion time field is generated in combination with the actual task submission time, the difference between the task planned start and end time and the actual completion time is calculated and the task completion status is marked, and a task on-time completion rate data record set containing the task number, task completion status, task planned time and actual completion time is generated; Based on the task on-time completion rate data record set, all task numbers and task completion status fields corresponding to each engineer are sorted and counted according to the time dimension, and the ratio of the number of task items with an on-time completion status to the total number of tasks is extracted as the engineer's task on-time completion rate indicator. At the same time, the skill level code corresponding to the engineer in the original skill data input is called to construct a one-to-one mapping structure between the task on-time completion rate indicator and the skill level code, and generate a list of associations between the engineer's task performance and skill level; Based on the list of associations between engineer task performance and skill level, the engineer's position number, skill module label, skill level code, task number, task completion status, and task on-time completion rate indicator field contents are integrated, and all fields are aggregated and encapsulated using the engineer's unique identity number as the primary key to generate an engineer basic information file.
4. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the skill weight definition table for the stage are: According to the project type corresponding to the project number in the project management database, the phase division list and the start and end time identifiers of each phase in the project life cycle template are extracted. Then, combined with the flowchart file configured in the task scheduling plan, the workflow nodes contained in each phase and the total number of workflow nodes are extracted to obtain the mapping structure set between the project life cycle phase and the key workflow nodes; Calculating a comprehensive adaptation value of a skill category based on the project lifecycle phase and key workflow node mapping structure set; Based on the comprehensive adaptation value of each core skill category at the current stage node, the comprehensive adaptation value of all skill categories is aggregated by stage number, and structurally associated with the process node number, stage number and skill category number respectively to generate a stage skill weight definition table.
5. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the skill weight value at the current stage are: Call the timestamp record corresponding to the current project number, parse the stage number interval in the life cycle template where the current time is located, identify the stage identifier corresponding to the stage number and the unique identifier field in the stage skill weight definition table, and obtain the current project life cycle stage identifier; Based on the current project lifecycle stage identifier, all record rows that match the stage identifier field are filtered from the stage skill weight definition table, and the skill category number and comprehensive adaptation value in the record row are paired and extracted to obtain the skill category number and numerical weight combination corresponding to the current project lifecycle stage; Based on the combination of skill category numbers and numerical weights corresponding to the current project life cycle stage, data entries with missing values, duplicate numbers or abnormal formats in the numerical weight fields are eliminated, and the data are sorted in ascending order by skill category numbers to generate the skill weight value for the current stage.
6. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the skill level data to be weighted are: Extract the bound skill module tags and corresponding skill level codes based on the position number of each engineer in the engineer basic information file, and aggregate them according to the skill module tags to form a structured correspondence table of skill module tags and skill level codes to obtain the engineer skill level input set; Based on the engineer skill level input set, traverse the skill category numbers identified in the skill weight values of the current stage, match the mapping relationship between the skill module labels and the skill category numbers one by one, bind the successfully matched skill level codes with the corresponding numerical weight combinations, and obtain the result of pairing the engineer's skill level code and skill numerical weight at the current stage; Based on the pairing results of the engineer's skill level code and skill numerical weight at the current stage, the coding weight combination of all skill module labels of each engineer is regularized, numbered and filled with zeros to generate the skill level data to be weighted.
7. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the dynamic weighted skill score are: Based on the skill module label, skill level code, and skill numerical weight of each engineer in the weighted skill level data, the engineers are grouped according to their numbers and sorted by skill module label to form a matching list of skill levels and weights corresponding to the engineer numbers, thus obtaining a list of combinations of engineer skill levels and skill numerical weights. Based on the list of engineer skill levels and skill numerical weight combinations, combined with the task numbers corresponding to the engineers in the resource allocation plan, the priority level label corresponding to each task number is extracted. The task priority level label is converted into a numerical form according to the fixed score mapping rule to obtain the mapping result between the engineer number and the task priority value; Based on the mapping results between the engineer number and the task priority value, the engineer's dynamic weighted skill score at the current task stage is calculated.
8. The method for evaluating an engineer's engineering skill proficiency according to claim 1, wherein: The steps for obtaining the effectiveness proficiency index are: Based on the identity identification field of each engineer in the engineer basic information file, the corresponding task number and the completion status and planned duration information of the task marked in the archived record are extracted. The total number of tasks and the number of tasks completed on time for each engineer are aggregated according to the task number and the completion rate is calculated to obtain a result set associated with the engineer number and the on-time completion rate of the task; Based on the result set of associations between the engineer number and the on-time completion rate of the task, combined with the generated dynamically weighted skill score, the number of direct superiors, number of horizontally collaborating engineers, and team size parameters corresponding to each engineer in the organizational structure mapping table and the team composition configuration list are retrieved to calculate the effectiveness proficiency index; Based on the engineer's efficiency proficiency index, combined with the engineer's identity identification field and position number, it is organized into an output structure record with the engineer number as the primary key.
Citation Information
Cited By
Network security protection method based on large language model
CN122316794A
Network security protection method based on large language model
CN122316794B
