Quality control device, quality control method, and program

The quality control device addresses the challenge of evaluating worker quality in remote software development by collecting data, creating a base model, and calculating ranks, enhancing project management and resource allocation.

JP7622830B2Active Publication Date: 2025-01-28NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023523889
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-27
Publication Date
2025-01-28
Estimated Expiration
2041-05-27

AI Technical Summary

Technical Problem

Existing technologies struggle to evaluate the work quality of workers in software development, particularly in remote environments where direct interaction is limited.

Method used

A quality control device that collects work information from multiple workers, creates a base model for evaluation, assigns weights to parameters, and calculates a rank based on these parameters to assess work quality.

Benefits of technology

Enables effective evaluation of work quality in software development, allowing for better project management and resource allocation, especially in remote settings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007622830000001
    Figure 0007622830000001
  • Figure 0007622830000002
    Figure 0007622830000002
  • Figure 0007622830000003
    Figure 0007622830000003
Patent Text Reader

Abstract

This quality management device comprises: an information collection unit that collects work information of a plurality of workers engaged in software development; a model creation unit that creates, on the basis of the work information of the plurality of workers, a base model serving as a base for evaluating work quality; and an evaluation unit that evaluates work quality of a given worker on the basis of the base model and a model based on the work information of the worker.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a technique for evaluating the quality of work in software development. [Background technology]

[0002] In software development projects, project managers need to understand and manage the quality of the work of workers, such as their work speed and the number of bugs. Meanwhile, in recent years, with the increase in crowdsourcing, workers are increasingly performing development work in remote environments.

[0003] It is difficult to fully grasp the quality of work of developers working in remote environments compared to developers who work on-site with a project manager for a long period of time. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] "An Open Source Simulation Model of Software Development and Testing" ,Shmuel Ur1, Elad Yom-Tov1, and Paul Wernick2 http: / / www.yom-tov.info / Papers / OpenSourceSoftwareModeling.pdf Summary of the Invention [Problem to be solved by the invention]

[0005] Non-Patent Document 1 discloses a technique for constructing a simulation model and evaluating the effectiveness of development strategies such as pair programming and test automation in the programming and testing phases of a software development project. However, the technique disclosed in Non-Patent Document 1 cannot evaluate the work quality of workers who perform development in a remote environment.

[0006] The present invention has been made in consideration of the above-mentioned points, and has an object to provide a technique that enables the work quality of a worker to be appropriately evaluated in software development. [Means for solving the problem]

[0007] According to the disclosed technology, there is provided an information collection unit that collects work information of a plurality of workers engaged in software development; a model creation unit that creates a base model serving as a basis for evaluating the quality of an operation based on the operation information of the plurality of workers; an evaluation unit that evaluates a task quality of a certain worker based on the base model and a model based on task information of the certain worker, a weight is assigned to each parameter constituting the model, and the evaluation unit calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters; The evaluation unit evaluates the work quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker. A quality control device is provided. Effect of the Invention

[0008] According to the disclosed technology, it becomes possible to appropriately evaluate the work quality of workers in software development. [Brief description of the drawings]

[0009] [Figure 1] 1 is a diagram illustrating an example of an overall configuration of a system according to an embodiment of the present invention. [Diagram 2] FIG. 2 illustrates an example of the configuration of a quality control device. [Diagram 3] 13 is a flowchart of an operation. [Figure 4]FIG. 13 is a diagram for explaining an example of evaluation. [Diagram 5] FIG. 13 is a diagram for explaining an example of evaluation. [Figure 6] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention (the present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment. In addition, in the following description, unless otherwise specified, "code" and "program" are used as synonyms. In other words, "code" that appears in the following description may be replaced with "program."

[0011] Furthermore, in the following description, it is assumed that a worker performs software development (code development) in a remote environment, but the technology according to the present invention can be applied in situations other than development in a remote environment.

[0012] (Outline of the embodiment) In this embodiment, a quality control device 100, which will be described later, monitors the work of workers in a remote environment and collects work information (e.g., information on work quality) of the workers. The quality control device 100 creates a model for each worker through analysis, and also creates a model that serves as a base for evaluation. By creating a base model and a model for each worker, it is possible to compare the work quality between workers. Furthermore, by creating a model, it is possible to predict the work quality expected of a worker.

[0013] (System configuration example) An example of the overall configuration of a system according to an embodiment of the present invention is shown in Fig. 1. As shown in Fig. 1, this system has a configuration in which a plurality of terminals 400, a quality control device 100, and a software development device 200 are connected to a network 300 such as the Internet.

[0014] Each terminal 400 is a terminal for a worker in a remote environment to develop software. The software development device 200 is a device for software development that has a debugging function, a code execution function, etc. Each terminal 400 accesses the software development device 200 to create code, debug, etc.

[0015] The quality control device 100 collects information on the quality of work in software development performed by each worker (each terminal 400) in the software development device 200 from the software development device 200 (or the terminal 400), creates a model (described later) based on the collected information, and evaluates the work quality of each worker. Note that the software development device 200 may be included in the quality control device 100.

[0016] (Configuration example of quality control device 100) Fig. 2 shows an example of the configuration of the quality control device 100. As shown in Fig. 2, the quality control device 100 includes an information collecting unit 110, a model creating unit 120, an evaluating unit 130, and a storage unit 140. The functions of each unit are outlined below.

[0017] The information collecting unit 110 collects information on the quality of work in software development by each worker. The model creating unit 120 creates a model based on the information collected by the information collecting unit 110. The model creating unit 120 also creates a base model.

[0018] The evaluation unit 130 evaluates the work quality of each worker based on the model created by the model creation unit 120, and outputs the evaluation result. The storage unit 140 stores the information collected by the information collection unit 110, the model created by the model creation unit 120, the evaluation result by the evaluation unit 130, etc.

[0019] The quality management device 100 may be physically composed of one device (computer), or may be composed of a plurality of network-connected devices. For example, the information collection unit 110 in the quality management device 100 may be provided in each terminal 400 of the operator, and the model creation unit 120, the evaluation unit 130, and the storage unit 140 may be provided in a remote server. The server may be a virtual machine on the cloud.

[0020] When the information collection unit 110 is provided in each terminal 400 of the operator, information regarding the work quality is collected by each terminal 400, and the collected information is stored in the storage unit 140 in the server via the network 300 and used for model creation and the like.

[0021] (Operation example of the quality management device 100) Hereinafter, an operation example of the quality management device 100 will be described according to the procedure of the flowchart shown in FIG. 3. In the following example, it is assumed that information regarding the work quality is obtained from the software development device 200.

[0022] <S101: Information collection> Each operator accesses the software development device 200 on their respective terminal 400 to perform code creation, debugging, testing, etc. The information collection unit 110 collects information regarding the work quality in software development for each operator from the software development device 200 and stores the collected information in the storage unit 140.

[0023] Information regarding the work quality is, for example, information on the speed of code creation (e.g., the number of lines of code created per hour), information on accuracy (e.g., the number of bugs per line of code), the time taken for bug fixing, etc. Each item of these collected (measured) information may be called a parameter.

[0024] In addition, the information collection unit 110 may collect raw information such as the lines of code created and the occurrence of bugs, and calculate the number of lines of code created per hour, the number of bugs per line of code, etc. by processing and analyzing this information. Further, the information collection unit 110 may collect and store raw information such as the lines of code created and the occurrence of bugs, and in S102, the model creation unit 120 may calculate the number of lines of code created per hour, the number of bugs per line of code, etc. by processing and analyzing this information.

[0025] In addition, the information regarding the work quality is not limited to the work in the code creation process, and may be, for example, the quality information regarding the document creation in the design process and the quality information regarding the test execution in the test process.

[0026] <S102: Model Creation, S103: Evaluation> In S102, based on the collected information, the model creation unit 120 creates a model of the work quality of each worker. In S103, the evaluation unit 130 evaluates the work quality of each worker based on the model of each worker and the base model which is an average model. Note that "evaluating" includes outputting the information of the model of each worker and the information of the base model.

[0027] Note that the evaluation executed in the process shown in FIG. 3 is continuously performed for a certain task (project). Further, the above base model may be created in advance before creating the models of individual workers, or may be created in parallel with the creation of the models of individual workers.

[0028] By the evaluation in S103, it is possible to evaluate the speed of the worker's code creation work, the quality of the code, and the expected risks, etc. For example, the project manager can adjust the scope, period, risks, etc. of the project based on these evaluation results. Such adjustments are continuously made as the project progresses and new workers participate, etc.

[0029] <Detailed Example of Model and Evaluation> A "model" for each worker is a set of measured (collected) values ​​(parameter values) for each worker. The individual parameter values ​​may also be referred to as a "model."

[0030] The model creation unit 120 creates a base model that serves as a basis for evaluating the models of each worker. The base model may be called a reference model.

[0031] The model creation unit 120 sets, for example, a set of average values ​​of each parameter for multiple workers as the base model. For example, assume that there are workers A, B, and C, and parameters X, Y, and Z. If the average value of parameter X for workers A to C is 1, the average value of parameter Y for workers A to C is 2, and the average value of parameter Z for workers A to C is 5, then the base model is created as "parameter X=1, parameter Y=2, parameter Z=5."

[0032] Note that using the average value for multiple workers to create the base model is just one example. A statistical value other than the average value for multiple workers may be used.

[0033] Also, a weight may be given to each parameter, for example more important parameters are assigned a higher weight.

[0034] For example, the evaluation unit 130 calculates the rank (evaluation value) of the activity quality by multiplying the value of each parameter by the weight of each parameter and adding up the results. Note that the rank may also be called a "model."

[0035] For example, if the weight of parameter X is 0.2, the weight of parameter Y is 0.5, and the weight of parameter Z is 0.1, and the model of a certain worker is "parameter X=1, parameter Y=1, parameter Z=2," the rank of that worker is 1×0.2+1×0.5+2×0.1=0.9. Note that this method of calculating the rank is just one example.

[0036] By performing the above calculations on the base model, a base rank is obtained. For example, if the base model has "parameter X=1, parameter Y=2, and parameter Z=5," the base rank is 1×0.2+2×0.5+5×0.1=1.7. As an example, the evaluation unit 130 can output the overall work quality of a certain worker by comparing the rank of the worker with the base rank. For example, information indicating that the work quality of the worker is superior to that of the base model can be output.

[0037] The rank (evaluation value) may be calculated for each parameter. For example, if parameter X=1 and its weight is 0.2, the rank for parameter X is 0.2.

[0038] FIG. 4 is a diagram showing an example of the case where evaluation is performed by the above-mentioned process. In the example of FIG. 4, there are workers A, B, C, and R, and values ​​of four parameters are collected for each worker. Here, the model creation unit 120 creates a base model by analyzing (e.g., calculating the average) the parameter values ​​of workers A, B, and C. In addition, the evaluation unit 130 multiplies the values ​​of each parameter by a weight and adds them together to obtain a base rank (here, 1). In addition, when worker R is the evaluation target, a rank (here, 1.5) for worker R is obtained. In this example, it can be seen that the rank for worker R is higher than the base rank.

[0039] A more specific example is shown in Fig. 5. Fig. 5 shows the collected information (measurement results) of worker R regarding three parameters (number of lines of code created per hour, number of bugs per line, and time to fix bugs), the weight of each parameter, and the value of each parameter in the base model.

[0040] For example, by comparing the number of lines of code created per hour by worker R with the number of lines of code created per hour by the base model, the evaluation unit 130 can output an evaluation that worker R can write code much faster than the base model. However, by comparing the values ​​of other parameters, the evaluation unit 130 outputs an evaluation that worker R has more bugs than the base model and takes more time to fix the bugs.

[0041] In the example of Figure 5, the weight of the parameter related to bugs is higher than the weight of the parameter related to the speed of code creation. It can be seen that the values ​​of the parameters with high weights (high importance) of the worker R are inferior to the base model.

[0042] (Example of device hardware configuration) The quality control device 100 can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on the cloud.

[0043] That is, the quality control device 100 can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the quality control device 100. The above program can be recorded on a computer-readable recording medium (such as a portable memory) and stored or distributed. The above program can also be provided via a network such as the Internet or email.

[0044] Fig. 6 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 6 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, all of which are interconnected via a bus BS.

[0045] The program for realizing the processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

[0046] The memory device 1003 reads out and stores the program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 realizes functions related to the quality control device 100 in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network or various external devices. The display device 1006 displays a GUI (Graphical User Interface) or the like according to a program. The input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, or the like, and is used to input various operation instructions. The output device 1008 outputs the results of calculations.

[0047] (Effects of the embodiment) As described above, the technology of this embodiment continuously collects, analyzes, and models information related to the work performed by workers engaged in software development, and evaluates the work quality of each worker based on the model. This makes it possible to evaluate the work execution ability of each worker, which is particularly necessary for managing progress and resources in remote development.

[0048] (Summary of the embodiment) This specification discloses at least the following quality control apparatus, quality control method, and program. (Section 1) An information collecting unit that collects work information of a plurality of workers engaged in software development; a model creation unit that creates a base model serving as a basis for evaluating the quality of an operation based on the operation information of the plurality of workers; an evaluation unit that evaluates the work quality of a certain worker based on the base model and a model based on the work information of the certain worker; A quality control device comprising: (Section 2) The software development by each worker is carried out using each terminal located in a remote environment. 2. A quality control device as described in paragraph 1. (Section 3) A weight is assigned to each parameter constituting the model, and the evaluation unit calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters. 3. A quality control device according to claim 1 or 2. (Section 4) The evaluation unit evaluates the work quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker. 4. A quality control device as described in item 3. (Section 5) The model consists of several parameters, including the number of lines of code written per unit time, the number of bugs per line, and the time to fix bugs. 5. A quality control device according to any one of claims 1 to 4. (Section 6) A quality control method executed by a quality control device, comprising: A step of collecting work information of a plurality of workers who are engaged in software development; creating a base model serving as a basis for evaluating the quality of work based on the work information of the plurality of workers; evaluating the work quality of a certain worker based on the base model and a model based on the work information of the certain worker; A quality control method comprising: (Section 7) A program for causing a computer to function as each part of the quality control device according to any one of claims 1 to 5.

[0049] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]

[0050] 100 Quality Control Equipment 110 Information Gathering Department 120 Model Creation Department 130 Evaluation Department 140 Storage section 200 Software Development Equipment 300 Network 400 terminals 1000 Drive Device 1001 Recording media 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input Device 1008 Output device

Claims

1. an information collecting unit that collects work information of a plurality of workers engaged in software development; a model creation unit that creates a base model serving as a basis for evaluating the quality of an operation based on the operation information of the plurality of workers; an evaluation unit that evaluates a task quality of a certain worker based on the base model and a model based on task information of the certain worker, a weight is assigned to each parameter constituting the model, and the evaluation unit calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters; The evaluation unit evaluates the work quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker. Quality control equipment.

2. An information collecting unit that collects work information of a plurality of workers engaged in software development; a model creation unit that creates a base model serving as a basis for evaluating the quality of an operation based on the operation information of the plurality of workers; an evaluation unit that evaluates a task quality of a certain worker based on the base model and a model based on task information of the certain worker, a weight is assigned to each parameter constituting the model, and the evaluation unit calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters; the evaluation unit evaluates the activity quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker; The model includes a number of parameters, such as the number of lines of code written per unit time, the number of bugs per line, and the time required to fix the bugs. Quality control equipment.

3. The software development by each worker is carried out using each terminal located in a remote environment.

3. The quality control device according to claim 1 or 2.

4. A quality control method executed by a quality control device, comprising: A step of collecting work information of a plurality of workers who are engaged in software development; creating a base model serving as a basis for evaluating the quality of work based on the work information of the plurality of workers; an evaluation step of evaluating a task quality of a certain worker based on the base model and a model based on task information of the certain worker, a weight is assigned to each parameter constituting the model, and in the evaluation step, the quality control device calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters; In the evaluation step, the quality control device evaluates the work quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker. Quality control methods.

5. A quality control method executed by a quality control device, comprising: A step of collecting work information of a plurality of workers who are engaged in software development; creating a base model serving as a basis for evaluating the quality of work based on the work information of the plurality of workers; an evaluation step of evaluating a task quality of a certain worker based on the base model and a model based on task information of the certain worker, a weight is assigned to each parameter constituting the model, and in the evaluation step, the quality control device calculates a rank by multiplying the value of each parameter by the weight and adding up the values ​​for all parameters; In the evaluation step, the quality control device evaluates the work quality of a certain worker by comparing a rank based on the base model with a rank based on a model of the certain worker; The model includes a number of parameters, such as the number of lines of code written per unit time, the number of bugs per line, and the time required to fix the bugs. Quality control methods.

6. A program for causing a computer to function as each unit in the quality control device according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • A method for evaluating the quality of software development vendor delivery

    CN109146402A

  • Business skill estimation apparatus, business skill estimation method and business skill estimation program

    JP2005258551A

  • Data processing apparatus and program

    JP2015118650A