WO2023248582A1 - Program, information processing device, method, and information processing system - Google Patents

Program, information processing device, method, and information processing system Download PDF

Info

Publication number
WO2023248582A1
WO2023248582A1 PCT/JP2023/014610 JP2023014610W WO2023248582A1 WO 2023248582 A1 WO2023248582 A1 WO 2023248582A1 JP 2023014610 W JP2023014610 W JP 2023014610W WO 2023248582 A1 WO2023248582 A1 WO 2023248582A1
Authority
WO
WIPO (PCT)
Prior art keywords
development
team
indicators
performance
server
Prior art date
Application number
PCT/JP2023/014610
Other languages
French (fr)
Japanese (ja)
Inventor
裕一朗 山田
将高 佐藤
優毅 志賀
Original Assignee
ファインディ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファインディ株式会社 filed Critical ファインディ株式会社
Publication of WO2023248582A1 publication Critical patent/WO2023248582A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Definitions

  • the present disclosure relates to a program, an information processing device, a method, and an information processing system.
  • Product development in an organization is usually performed by a team of multiple engineers.
  • the person in charge of product development is required to appropriately understand the development performance of the team in charge of the product.
  • Patent Document 1 discloses a technique for evaluating the achievements of software developers.
  • Patent Document 1 evaluates the results of individual developers, and cannot be immediately applied to evaluation of development performance by a team.
  • the purpose of the present disclosure is to provide a technique for appropriately evaluating development performance by a team.
  • a program provides a means for acquiring information regarding development activities by a member belonging to a team that is stored in the issue management service when the member belonging to the team uses the issue management service, and information regarding the development activities. It serves as a means to generate multiple metrics based on, and a means to evaluate development performance by a team based on multiple metrics.
  • development performance by a team can be appropriately evaluated.
  • FIG. 1 is a block diagram showing the configuration of an information processing system according to the present embodiment.
  • FIG. 2 is a block diagram showing the configuration of a client device according to the present embodiment.
  • FIG. 2 is a block diagram showing the configuration of a server according to the present embodiment.
  • FIG. 2 is an explanatory diagram of one aspect of the present embodiment.
  • FIG. 3 is a diagram showing the data structure of a repository database according to the present embodiment.
  • FIG. 2 is a diagram showing a data structure of a development activity database according to the present embodiment. It is a flowchart of information processing of this embodiment.
  • FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment.
  • FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment.
  • FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment.
  • FIG. 3 is a diagram illustrating an example of a screen displayed during information processing
  • a team means a group composed of multiple engineers. Teams are responsible for developing specific products.
  • the product is typically software, and may be, for example, a website for providing a web service such as SaaS (Software as a Service), or an application installed on a computer.
  • SaaS Software as a Service
  • each engineer divides their roles by function, output, etc. to proceed with development.
  • the engineers in the team are not limited to employees employed by one specific company (organization), but may be employees of any company involved in a development project that is jointly developed by multiple companies.
  • the engineers in the team may include temporary employees and engineers who are self-employed (so-called freelancers).
  • FIG. 1 is a block diagram showing the configuration of an information processing system according to this embodiment.
  • the information processing system 1 includes a client device 10 and a server 30.
  • the client device 10 and the server 30 are connected via a network (eg, the Internet or an intranet) NW.
  • the server 30 is connected to an external system 50 via a network NW.
  • the client device 10 is an example of an information processing device that sends a request to the server 30.
  • the client device 10 is, for example, a smartphone, a tablet terminal, or a personal computer.
  • the client device 10 can be used to check the evaluation results of the team's development performance provided by the information processing system 1.
  • Users of client device 10 may include, for example, at least one of the following: ⁇ A member or leader of the team to be evaluated (hereinafter referred to as the "Target Team”) ⁇ The person responsible for the development of the product that the Target Team is in charge of ⁇ The person in charge of human resources in the organization to which the Target Team belongs ⁇ The person in charge of human resources in the organization to which the Target Team belongs Persons who view job information for organizations to which executives and target teams belong.
  • the server 30 is an example of an information processing device that provides the client device 10 with a response in response to a request sent from the client device 10.
  • Server 30 is, for example, a server computer.
  • the server 30 provides evaluation results of the development performance by the target team in response to a request from the client device 10.
  • the external system 50 provides information regarding development activities by members (engineers) of the target team in response to requests from the server 30.
  • External system 50 is typically a software development platform, such as GitHub (registered trademark). GitHub manages source code that is a product of development by engineers, reviews of source code, and the like.
  • the external system 50 is not limited to GitHub, and may be another software development platform such as GitLab (registered trademark) or Bitbucket (registered trademark).
  • the external system 50 may be an issue management tool (eg, Jira (registered trademark)) or a task management tool (eg, Trello (registered trademark), backlog (registered trademark), etc.) in software development.
  • issue management tools eg, Jira (registered trademark)
  • a task management tool eg, Trello (registered trademark), backlog (registered trademark), etc.
  • GitHub is a source code hosting service.
  • GitHub has a repository (management means) for version control of source code, which is a product of development.
  • GitHub manages a list of source code at a certain point in time.
  • GitHub has various functions such as issue (creation), push, commit, pull request, and merge.
  • Issues is a function for managing projects and source code issues.
  • Push is a function that uploads source code created or modified in an engineer's local environment (local repository) to a remote environment (remote repository).
  • Commit is a function for registering changes to source code.
  • a pull request is a function that notifies you that a push has been made and requests a review.
  • Merge is a function that finalizes review results and integrates history.
  • source code is a type of programming language such as JavaScript (registered trademark) in addition to code (character string) written in a programming language such as Python or a markup language such as HTML or CSS.
  • This is a concept that includes scripts (character strings) written in a certain scripting language.
  • a programming language is a language used for software development, and specifically includes JavaScript (registered trademark), Java (registered trademark), Scala, PHP, Ruby, Python, Go, C#, and the like.
  • a software framework is a software platform used for software development, specifically jQuery, React, Vue.js, Angular, Nuxt.js, Next.js, ReactNative, Spring Framework, Play Framework, Lar avel, Examples include CakePHP, RubyonRails, Django, Flask, TensorFlow, gin, Unity, and Express.
  • FIG. 2 is a block diagram showing the configuration of the client device of this embodiment.
  • the client device 10 includes a storage device 11, a processor 12, an input/output interface 13, and a communication interface 14. Client device 10 is connected to display 21 .
  • the storage device 11 is configured to store programs and data.
  • the storage device 11 is, for example, a combination of ROM (Read Only Memory), RAM (Random Access Memory), and storage (for example, flash memory or hard disk).
  • the programs include, for example, the following programs.
  • ⁇ OS (Operating System) program ⁇ Application program that executes information processing (e.g. web browser)
  • the data includes, for example, the following data. ⁇ Databases referenced in information processing ⁇ Data obtained by executing information processing (that is, execution results of information processing)
  • the processor 12 is a computer that implements the functions of the client device 10 by activating a program stored in the storage device 11.
  • the processor 12 is, for example, at least one of the following. ⁇ CPU (Central Processing Unit) ⁇ GPU (Graphic Processing Unit) ⁇ ASIC (Application Specific Integrated Circuit) ⁇ FPGA (Field Programmable Array)
  • the input/output interface 13 acquires information (for example, user instructions) from an input device connected to the client device 10 and outputs information (for example, an image signal) to an output device connected to the client device 10. configured.
  • the input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
  • the output device is, for example, a display 21, a speaker, or a combination thereof.
  • the communication interface 14 is configured to control communication between the client device 10 and an external device (for example, the server 30).
  • the display 21 is configured to display images (still images or moving images).
  • the display 21 is, for example, a liquid crystal display or an organic EL display.
  • FIG. 3 is a block diagram showing the configuration of the server of this embodiment.
  • the server 30 includes a storage device 31, a processor 32, an input/output interface 33, and a communication interface 34.
  • the storage device 31 is configured to store programs and data.
  • the storage device 31 is, for example, a combination of ROM, RAM, and storage (eg, flash memory or hard disk).
  • the programs include, for example, the following programs. ⁇ OS program ⁇ Application program that executes information processing
  • the data includes, for example, the following data. ⁇ Databases referenced in information processing ⁇ Execution results of information processing
  • the processor 32 is a computer that implements the functions of the server 30 by activating a program stored in the storage device 31.
  • the processor 32 is, for example, at least one of the following. ⁇ CPU ⁇ GPU ⁇ ASIC ⁇ FPGA
  • the input/output interface 33 is configured to obtain user instructions from an input device connected to the server 30 and output information to an output device connected to the server 30.
  • the input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
  • the output device is, for example, a display.
  • the communication interface 34 is configured to control communication between the server 30 and an external device (eg, the client device 10 or the external system 50).
  • an external device eg, the client device 10 or the external system 50.
  • FIG. 4 is an explanatory diagram of one aspect of this embodiment.
  • the external system 50 stores information regarding logs of such development activities (hereinafter referred to as "development activity information").
  • the server 30 collects development activity information from the external system 50.
  • the server 30 may collect development activity information periodically, or may collect development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).
  • the client device 10 requests the server 30 to evaluate the development performance by the team ET1 in response to an instruction from the user US2.
  • the server 30 generates a plurality of indicators regarding the development performance by the team ET1 in response to the evaluation request. Specifically, the server 30 generates each index based on the development activity information of the members of team ET1 (for example, by integrating the development activity information of a plurality of members).
  • the server 30 evaluates the development performance by the team ET1 based on the plurality of generated indicators, and transmits an evaluation response including the evaluation result to the client device 10.
  • Client device 10 presents the evaluation response to user US2.
  • the server 30 it is possible to appropriately evaluate the development performance of the team ET1 based on a multifaceted analysis of the development activity information of the members of the team ET1 using a plurality of indicators.
  • FIG. 5 is a diagram showing the data structure of the repository database of this embodiment.
  • the repository database stores repository information.
  • the repository information is information regarding the repository created in the external system 50.
  • the repository database includes a "repository ID” field, a “team ID” field, and an "address” field. Each field is associated with each other.
  • a repository ID is stored in the "repository ID" field.
  • the repository ID is information that identifies a repository.
  • the server 30 can acquire the repository ID from the external system 50.
  • the team ID is stored in the "Team ID" field.
  • the team ID is information that identifies the team that created the repository specified by the corresponding repository ID.
  • the server 30 can acquire the team ID from the external system 50.
  • the team ID may be associated with the organization ID in a database (not shown).
  • the organization ID associated with the team ID identifies the organization to which the team corresponding to the team ID belongs.
  • the team ID may be associated with the engineer ID in a database (not shown).
  • the engineer ID associated with the team ID identifies members belonging to the team corresponding to the team ID.
  • Address information is stored in the "address" field.
  • the address information is information (for example, URL (Uniform Resource Locator)) for accessing the repository specified by the corresponding repository ID.
  • FIG. 6 is a diagram showing the data structure of the development activity database of this embodiment.
  • Development activity information is stored in the development activity database.
  • the development activity information is information regarding activities performed by engineers regarding source codes stored in a repository created in the external system 50.
  • the external system 50 records information that can identify the user who made the push and the date and time when the push was made as log information. Similarly, if you create an issue with your source code, a pull request is made with your source code, a comment is made, a reply is made to a comment, or a merge is made, an external system 50. records log information.
  • the server 30 updates the development activity database based on the development activity information obtained from the external system 50.
  • the server 30 may acquire development activity information periodically, or may acquire development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).
  • the development activity database includes an "activity ID” field, a “repository ID” field, an “action ID” field, an “engineer ID” field, a “date and time” field, and a “source code” field. field.
  • the "activity ID” field stores the activity ID.
  • the activity ID is information that identifies an activity performed by an engineer regarding source code stored in a repository created in the external system 50.
  • a repository ID is stored in the "repository ID" field.
  • the repository ID is information that identifies the repository in which the source code in which the activity specified by the corresponding activity ID was performed is stored.
  • Action information is stored in the "Action" field.
  • the action information is information regarding the type of activity specified by the corresponding activity ID.
  • the engineer ID is stored in the "Engineer ID” field.
  • the engineer ID is information that identifies the engineer (that is, the user of the external system 50) who performed the activity specified by the corresponding activity ID.
  • the "date and time” field stores date and time information.
  • the date and time information is information regarding the date and time when the activity specified by the corresponding activity ID was performed.
  • Source code information is stored in the "source code" field.
  • the source code information is information (for example, file name information) regarding the source code in which the activity specified by the corresponding activity ID was performed.
  • FIG. 7 is a flowchart of information processing according to this embodiment.
  • FIG. 8 is a diagram showing an example of a screen displayed in the information processing of this embodiment.
  • FIG. 9 is a diagram showing an example of a screen displayed in the information processing of this embodiment.
  • FIG. 10 is a diagram showing an example of a screen displayed in the information processing of this embodiment.
  • FIG. 11 is a diagram showing an example of a screen displayed in the information processing of this embodiment.
  • the client device 10 executes an evaluation request (S110). Specifically, the client device 10 generates an evaluation request in response to a user's instruction.
  • the evaluation request includes information (for example, team ID) that can identify the target team.
  • the evaluation request may include information that allows specifying a period to be evaluated (hereinafter referred to as "target period"). However, if the target period is predetermined, the evaluation request does not need to include such information. In the following explanation, it is assumed that the target period can be specified by the user.
  • the server 30 may perform user authentication at the same time as the evaluation request (S110), or before or after the evaluation request (S110). Specifically, the client device 10 acquires information used for user authentication and transmits it to the server 30. Based on this information, the server 30 confirms whether the operator of the client device 10 is a registered user. The server 30 executes subsequent processing if the user authentication is successful. However, if user authentication is performed at the same time as the evaluation request (S110) or after the evaluation request (S110), and the user is not assigned the authority to view the evaluation results of the target team, the server 30 will not issue the evaluation request. Refuse.
  • the information used for user authentication includes information that can identify the user (e.g., user ID) and information provided by the operator of the client device 10 to prove that the operator is the user himself/herself (e.g., password, biometric information, etc.).
  • the server 30 executes information acquisition (S130). Specifically, the server 30 receives the evaluation request transmitted in step S110. The server 30 specifies the target team and target period based on the received evaluation request. The server 30 refers to the repository database (FIG. 5), for example, and extracts the repository ID associated with the team ID indicating the target team. The server 30 refers to the development activity database (FIG. 6), for example, and extracts development activity information including date information indicating a date within the specified target period and the extracted repository ID.
  • the repository database FIG. 5
  • the server 30 refers to the development activity database (FIG. 6), for example, and extracts development activity information including date information indicating a date within the specified target period and the extracted repository ID.
  • the server 30 may obtain development activity information regarding members belonging to the target team from the external system 50 and update the database.
  • the server 30 executes index generation (S131). Specifically, the server 30 generates a plurality of indicators regarding the development performance of the target team during the target period based on the development activity information acquired in step S130.
  • the server 30 may treat the acquired development activity information as it is as an index, or may calculate the index by performing calculations (for example, counting) based on the development activity information.
  • the plurality of indicators can include, for example, at least one of the following. ⁇ Indicators related to development volume ⁇ Indicators related to development efficiency ⁇ Indicators related to development quality
  • the indicator regarding the volume of development can include, for example, at least one of the following: ⁇ Number of pull requests created ⁇ Number of merged pull requests ⁇ Number of reviews ⁇ Number of reviewed pull requests ⁇ Number of coding (active days) ⁇ Number of commits ⁇ Number of merges into the main branch
  • the larger the value the larger the development volume.
  • these indicators tend to become higher as the size of the team (for example, number of members) increases, so it is preferable to make corrections according to the size of the team in order to perform appropriate evaluation.
  • the correction of the index may be performed in the generation of the index (S131) or in the performance evaluation (S132).
  • the index regarding development efficiency can include, for example, at least one of the following. Note that for the indicators related to development efficiency exemplified below, the smaller the value, the higher the development efficiency. ⁇ Average time taken by members of own team to make their first review [h] ⁇ Average time from creating a pull request to merging or closing [h] ⁇ Average time from first commit to pull request creation [h] ⁇ Average time from pull request creation to review [h] ⁇ Average time from first review to closing [h] ⁇ Average time from first review to final approval [h] ⁇ Average time from final approval to merge [h] ⁇ Average time from creation to merge of merged pull request to main branch [h] ⁇ Average time from the first commit to the merge associated with pull requests merged into the main branch [h]
  • the indicators regarding the quality of development can include, for example, at least one of the following: Note that among the indicators related to the quality of development illustrated below, the smaller the value of both the ⁇ proportion of merges without being reviewed'' and the ⁇ change failure rate,'' the higher the quality of development. On the other hand, among the development quality indicators shown below, “average number of comments per pull request,”"average number of changed lines per pull request,” and “number of changed files per pull request” are evaluations based only on simple size. may not be valid. For example, qualitative analysis may be performed on these indicators, or the smaller the difference from the appropriate value, the higher the quality of the development.
  • the change failure rate means the rate of failures that occur due to changes.
  • the change failure rate can be expressed as the ratio of the number of pull requests merged to the main branch from a branch tagged as failure to the number of pull requests merged to the main branch.
  • a branch tagged as faulty is, for example, a branch (in any uppercase or lowercase) that includes a string that indicates a modification (hotfix) or a string that indicates reverting a change (revert).
  • the server 30 may store the generated index in a database (not shown). Thereby, when the same target team and the same target period are specified, the server 30 can read and use the index stored in the database instead of executing index generation (S131). . In addition, regardless of the length of the target period, the server 30 generates an index in a predetermined time unit (for example, a day) belonging to the target period, stores it in the database, and stores the index over the time unit belonging to the target period.
  • An index for the target period may be generated by integrating the following. Thereby, even if a target period that overlaps with a target period specified in the past is specified, the index generated in the past can be reused to generate the index (S131).
  • the server 30 performs performance evaluation (S132). Specifically, the server 30 evaluates at least one of the following based on the index generated in step S131. ⁇ Evaluation of individual indicators of the target team during the target period ⁇ Evaluation of the target team's development volume during the target period ⁇ Evaluation of the target team's development efficiency during the target period ⁇ Evaluation of the development quality of the target team during the target period ⁇ Target team during the target period Comprehensive evaluation of development performance
  • the server 30 can perform preprocessing on individual indicators before performing evaluation.
  • the server 30 can process the indicators generated in step S131.
  • the processing can include, for example, at least one of the following. ⁇ Scale conversion (e.g. normalization) ⁇ Correction (for example, correction to alleviate the influence of team size) - Rounding (e.g. conversion to a coarser rating) - Reciprocal or sign inversion (for example, processing to convert an indicator that is estimated to be lower as performance is higher into an indicator that is estimated to be higher as performance is higher)
  • ⁇ Scale conversion e.g. normalization
  • ⁇ Correction for example, correction to alleviate the influence of team size
  • Rounding e.g. conversion to a coarser rating
  • Reciprocal or sign inversion for example, processing to convert an indicator that is estimated to be lower as performance is higher into an indicator that is estimated to be higher as performance is higher
  • the server 30 can perform individual evaluation of the index by comparing the index generated in step S131 or its processed value with a reference value.
  • the reference value may be determined based on at least one of the following, for example. ⁇ The value of the same indicator or its statistical value of the target team in a period other than the target period ⁇ The value of the same index or its statistical value of another team in the target period or any other period ⁇ The value of the same index or its statistical value of the target team in the target period A value obtained by correcting the value of another indicator or its statistical value, or any of the examples of standard values described here, based on the number of members included in the target team.Categories are, for example, "Development volume".
  • the number of created pull requests and the number of merged pull requests are both indicators of the same category of "development volume.”
  • the number of members included in the target team can be derived, for example, by calculating the number of engineers (that is, the total number of engineer IDs) linked to the repository corresponding to the target team. Note that the number of members used for correction may be limited to the number of engineers who were active during the target period among the engineers linked to the repository corresponding to the target team.
  • the server 30 may obtain a text or a numerical value as the evaluation result of the individual index.
  • the text may be predetermined, for example, depending on the relationship between the index and the reference value.
  • the numerical value depends, for example, on the relationship (eg, difference or ratio) between the index and the reference value.
  • the server 30 may quantitatively evaluate the development volume by integrating the "development volume" index generated in step S131 or its individual evaluation results.
  • the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development volume” or its processed value as the development volume evaluation result.
  • the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the index of "development volume” and the reference value. ), and a weighted sum (the weight may be uniform) of the assigned numerical values may be calculated as the evaluation result of the development volume.
  • the server 30 may obtain the evaluation result of the development volume by processing these weighted sums.
  • the server 30 may analyze the influence of each of the "development volume" indicators on the development volume evaluation result.
  • the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence.
  • the server 30 may specify an index having a large degree of negative influence as an index requiring improvement.
  • the index with a high degree of negative influence may include an index with a degree of negative influence exceeding a threshold value, or an index with a degree of negative influence within the top N1 (N1 is any natural number).
  • the server 30 may quantitatively evaluate development efficiency by integrating the "development efficiency" index or its individual evaluation results generated in step S131.
  • the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development efficiency” or its processed value as the evaluation result of development efficiency.
  • the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the index of "development efficiency" and the reference value. ) may be assigned, and a weighted sum (the weight may be uniform) of the assigned numerical values may be calculated as the evaluation result of development efficiency.
  • the server 30 may obtain the development efficiency evaluation result by processing these weighted sums.
  • the server 30 may analyze the influence of each of the "development efficiency" indicators on the evaluation results of development efficiency.
  • the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence. Further, the server 30 may specify an index having a large degree of negative influence as an index requiring improvement.
  • the indicators with a high degree of negative influence may include indicators whose degree of negative influence exceeds a threshold value, or indicators whose degree of negative influence is within the top N2 (N2 is any natural number).
  • the server 30 may quantitatively evaluate the development quality by integrating the "development quality" index or its individual evaluation results generated in step S131.
  • the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development quality” or its processed value as the development quality evaluation result.
  • the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the "development quality" index and the reference value. ), and a weighted sum of the assigned numerical values (the weights may be uniform) may be calculated as the development quality evaluation result.
  • the server 30 may obtain the development quality evaluation result by processing these weighted sums.
  • the server 30 may analyze the influence of each of the "development quality" indicators on the development quality evaluation results.
  • the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence. Further, the server 30 may specify an index having a large degree of negative influence as an index requiring improvement.
  • the indicators with a high degree of negative influence may include indicators whose degree of negative influence exceeds a threshold value, or indicators whose degree of negative influence is within the top N3 (N3 is any natural number).
  • the server 30 integrates evaluation results of at least two of development volume, development efficiency, or development quality. For example, the server 30 may calculate a weighted sum (the weights may be uniform) of a plurality of evaluation results as the overall evaluation result of development performance. As a second example of comprehensive evaluation of development performance, the server 30 integrates each index generated in step S131 or its individual evaluation results. For example, the server 30 may calculate a weighted sum (the weight may be uniform) of each index or its processed value as the overall evaluation result of the development performance.
  • the server 30 assigns a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) to the comparison result between each index and the reference value.
  • a numerical value for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value
  • a weighted sum of the numerical values may be calculated as the overall evaluation result of the development performance.
  • the server 30 may obtain a comprehensive evaluation result of development performance by processing these weighted sums.
  • the server 30 may store the derived evaluation results in a database (not shown). As a result, when the same target team and the same target period are specified, the server 30 can read and use the evaluation results stored in the database instead of executing the performance evaluation (S132). can. In addition, regardless of the length of the target period, the server 30 derives the evaluation results in a predetermined time unit (for example, day unit) belonging to the target period, stores it in the database, and calculates the evaluation result over the time unit belonging to the target period.
  • the evaluation results for the target period may be derived by integrating the evaluation results. Thereby, even if a target period that overlaps with a previously designated target period is specified, the performance evaluation (S132) can be executed by reusing the evaluation results derived in the past.
  • the server 30 executes an evaluation response (S133). Specifically, the server 30 generates an evaluation response that includes information for presenting the evaluation result derived in step S132 to the user of the client device 10. The server 30 transmits the generated evaluation response to the client device 10.
  • the information for presenting the evaluation results may be, for example, information for the client device 10 to generate a screen to be displayed on the display 21.
  • the client device 10 executes information presentation (S111). Specifically, the client device 10 receives the evaluation response transmitted in step S133, and causes the display 21 to display a screen based on the evaluation response. Thereby, the user can confirm the evaluation of the development performance during the target period by the target team specified in step S110.
  • the client device 10 displays the screen shown in FIG. 8 on the display 21.
  • the screen in FIG. 8 includes objects J20 to J29.
  • Object J20 displays the name of the organization to which the target team belongs.
  • Object J21 displays the name of the target team (an example of information that can identify the target team).
  • the object J21 may be configured to receive an instruction to change the target team. In this case, the user of the client device 10 is allowed to input to select any of the teams to which the user is assigned evaluation viewing authority as a new target team.
  • the client device 10 updates the screen of the display 21 (for example, the display contents of objects J26 to J29, which will be described later).
  • the client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team after the change in the target period).
  • the server 30 may perform the same processing as steps S130 to S132 regarding the changed target team. Alternatively, such information may be included in the evaluation response in step S133 in advance.
  • the object J22 displays the start date and end date of the target period (an example of information that can identify the target period).
  • the object J22 may be configured to receive an instruction to change the target period.
  • the user of the client device 10 is allowed to input to change at least one of the start date and end date of the target period.
  • Object J23 accepts an instruction to specify a target period.
  • the client device 10 displays a calendar UI (User Interface), and the user can input to specify a target period on the calendar UI.
  • calendar UI User Interface
  • the client device 10 updates the screen of the display 21 (for example, the display contents of objects J26 to J29, which will be described later).
  • the client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team in the target period after the change).
  • the server 30 may perform the same processing as steps S130 to S132 regarding the changed target period. Alternatively, such information may be included in the evaluation response in step S133 in advance.
  • Object J24 receives an instruction to switch to a screen showing the comparison results between the target team and other teams.
  • the client device 10 switches the screen on the display 21.
  • client device 10 displays information (for example, indicators or evaluation results of other teams to be compared) for displaying a screen after switching (for example, the screen in FIG. 10 described later) on display 21. information) may be requested from the server 30.
  • the server 30 may perform the same processing as steps S130 to S132 regarding the other teams.
  • such information may be included in the evaluation response in step S133 in advance.
  • the object J25 receives an instruction to switch to a screen that compares the evaluation results of the target teams in chronological order.
  • the client device 10 switches the screen on the display 21.
  • the client device 10 displays information (for example, evaluation results of the target team in a period other than the target period) for displaying a screen after switching (for example, the screen in FIG. 11 described later) on the display 21. information) may be requested from the server 30.
  • the server 30 may perform the same processing as steps S130 to S132 for periods other than the target period.
  • such information may be included in the evaluation response in step S133 in advance.
  • the object J26 displays the overall evaluation result of the development performance by the target team during the target period, the evaluation result of the development volume, the evaluation result of the development efficiency, and the evaluation result of the development quality.
  • the overall evaluation result of development performance is expressed as a rating at an arbitrary stage (in the example in Figure 8, it is the number of stars, but it may also be an alphabetical rank like SABCD).
  • other evaluation results are expressed in scores with a maximum of 100 points in 0.1 point increments.
  • these expressions are merely examples, and any evaluation result may be expressed in any manner.
  • each evaluation result may be expressed as an index (for example, a deviation value) representing the distance from the average value. In this case, an actual statistical value may be used as the average value or standard deviation, or a predetermined value may be used.
  • Object J27 displays the individual evaluation results of the "development volume" index.
  • object J27 displays text expressing the individual evaluation results of each index.
  • text corresponding to the index that had a positive influence on the evaluation result of the development volume is placed in the [Good] column
  • text corresponding to the index that had a negative influence on the evaluation result of the development volume is placed in the [Good] column. It is placed in the [Bad] column.
  • the user can easily determine which index has had a positive influence or a negative influence.
  • the object J27 includes an object J27a.
  • the client device 10 displays details of the individual evaluation results of the "development volume” index.
  • the client device 10 displays a graph.
  • the graph may, for example, visually compare and express the value of an arbitrary "development volume” index or its processed value and the corresponding reference value.
  • the indicators expressed in the graph may be switched according to user instructions. An example of the graph is shown in FIG.
  • the graph in FIG. 9 expresses the number of merged pull requests relative to the number of members.
  • the stars in FIG. 9 are data points representing the number of members of the target team and the number of merged pull requests during the target period.
  • the black circles in FIG. 9 are other data points.
  • Other data points include, for example, at least one of the following: ⁇ Data points that represent the number of members of other teams and the number of merged pull requests during the target period ⁇ Data points that represent the number of members of the target team and the number of merged pull requests during the period other than the target period ⁇ Other teams during the period other than the target period
  • the straight line in FIG. 9 represents a regression line when the number of active members within the target period is used as an explanatory variable and the number of merged pull requests is used as an objective variable.
  • the regression line is derived by calculating linear regression based on the data points corresponding to the stars and black circles.
  • the user can determine that the number of merged pull requests of the target team during the target period is the predicted value for the number of members (that is, the value corresponding to the number of members of the target team on the regression line, and (Example of value)
  • the server 30 can display other indicators in a similar manner.
  • the total number of members belonging to each team (that is, the number of engineers linked to the repository corresponding to each team) can also be used as an explanatory variable.
  • the number of merged pull requests corresponding to the number of members may be approximated by a regression curve instead of a regression line.
  • the function used for approximation may be selectable by, for example, the operator of the information processing system 1.
  • Object J28 displays the individual evaluation results of the "development efficiency" index.
  • object J28 displays text expressing the individual evaluation results of each index.
  • object 27 text corresponding to indicators that had a positive impact on the development efficiency evaluation result is placed in the [Good] column, and text corresponding to indicators that had a negative impact on the development efficiency evaluation result is placed in the [Good] column. It is placed in the [Bad] column.
  • the object J28 includes an object J28a.
  • the client device 10 displays details of the individual evaluation results of the "development efficiency" index.
  • the client device 10 displays a graph.
  • the graph may, for example, visually compare and express the value of an arbitrary "development volume” index or its processed value and the corresponding reference value.
  • the indicators expressed in the graph may be switched according to user instructions.
  • Object J29 displays the individual evaluation results of the "development quality" index. Although not shown, the object J29 displays text expressing the individual evaluation results of each index. Furthermore, in object 27, text corresponding to indicators that had a positive impact on the development quality evaluation result is placed in the [Good] column, and text corresponding to indicators that had a negative impact on the development quality evaluation result is placed in the [Good] column. It is placed in the [Bad] column.
  • the object J29 includes an object J29a.
  • the client device 10 displays details of the individual evaluation results of the "development quality" index.
  • the client device 10 displays a graph.
  • the graph may, for example, visually compare and express the value of an arbitrary "development volume” index or its processed value and the corresponding reference value.
  • the indicators expressed in the graph may be switched according to user instructions.
  • the client device 10 can display the screen of FIG. 10 on the display 21.
  • the screen in FIG. 10 includes objects J20-23, J25, and J30-J31.
  • Objects J20 to J23 and J25 are as described above.
  • the object J30 receives an instruction to switch to a screen (for example, the screen in FIG. 8) showing the evaluation summary of the target team.
  • a screen for example, the screen in FIG. 8 showing the evaluation summary of the target team.
  • Object J31 displays a graph (radar chart) that visually represents the evaluation results of the target team in the target period and the comparison partner's evaluation results in the target period.
  • the evaluation results include comprehensive evaluation results of development performance, and evaluation results of development volume, development efficiency, and development quality, but these are merely examples.
  • the type of graph is not limited to radar charts.
  • the evaluation results of the comparison partner may be any of the following.
  • the team to be compared may be specified by the user, or may be determined based on the development field or industry of the target team.
  • the team to be compared may be another team belonging to the organization to which the target team belongs, or may be another team belonging to a different organization.
  • the server 30 may provide information about the team in an anonymized state. Further, the server 30 may set whether or not to provide information on the target team for comparison with teams belonging to other organizations, and the conditions for providing the information, in accordance with user instructions.
  • the screen in FIG. 10 also visually represents the evaluation results of individual indicators for each category of the target team during the target period and the evaluation results of individual indicators for each category of the comparison partner during the target period. Contains an object that displays a graph.
  • the client device 10 can display the screen of FIG. 11 on the display 21.
  • the screen in FIG. 11 includes objects J20-24, J30, and J40-J42.
  • Objects J20 to J24 and J30 are as described above.
  • the object J40 displays a graph (line graph) that visually represents the evaluation results of the target team in the target period and the evaluation results of the target team in a period different from the target period.
  • the evaluation results include comprehensive evaluation results of development performance, and evaluation results of development volume, development efficiency, and development quality, but these are merely examples.
  • the type of graph is not limited to a line graph.
  • Object J41 accepts a user instruction specifying the number of analysis units that make up the graph displayed in object J40.
  • the unit of analysis refers to the time range over which the evaluation is performed, and is typically one of days, weeks, months, quarters, or years.
  • Object J42 accepts a user instruction specifying the analysis unit that constitutes the graph displayed on object J40. That is, in the example of FIG. 11, the graph displayed in object J40 includes evaluation results for four months in units of one month.
  • the client device 10 updates the screen of the display 21 (for example, the display content of the object J40).
  • the client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team in the target period after the change).
  • the server 30 may perform the same processing as steps S130 to S132 regarding the changed target period.
  • such information may be included in advance in the response received from the server 30 before the screen of FIG. 11 is displayed.
  • the screen in FIG. 11 further compares the evaluation results of individual indicators for each category of the target team in the target period with the evaluation results of individual indicators for each category of the target team in a period different from the target period. It can contain objects that display graphs that are visually represented.
  • the server 30 of this embodiment is based on the development activity information of the member belonging to the target team stored in the external system 50 when the member uses the external system 50. Then, a plurality of indicators regarding the development performance of the target team are generated, and the development performance of the target team is evaluated based on the indicators. Thereby, the development performance of the target team can be appropriately evaluated based on a multifaceted analysis of the development activity information of the members of the target team using a plurality of indicators.
  • the plurality of indicators may relate to at least one of development volume, development efficiency, or development quality. Thereby, the development performance by the target team can be evaluated from at least one of the viewpoints of development volume, development efficiency, or development quality.
  • the server 30 may evaluate the specific indicator based on the number of members included in the target team. This makes it possible to evaluate a specific index while suppressing the influence of the size of the members included in the target team.
  • the server 30 may quantitatively evaluate at least one of the target team's development volume, development efficiency, development quality, or overall development performance. This allows the development performance of the target team to be expressed in a format that is easy to compare.
  • the server 30 may analyze the influence of at least one of the plurality of indicators on at least one quantitative evaluation of the target team's development volume, development efficiency, development quality, or overall development performance. This makes it possible to identify how much influence each index has on the final evaluation result. Additionally, the server 30 analyzes whether at least one of the plurality of indicators had a positive or negative impact on at least one quantitative evaluation of the target team's development volume, development efficiency, development quality, or overall development performance. You can. This allows you to identify the strengths or weaknesses of the target team.
  • the server 30 may evaluate at least one of the plurality of indicators individually by comparing it with a reference value. This makes it possible to provide materials for determining the quality of each index.
  • the server 30 may compare the development performance evaluation result by the target team with the development performance evaluation result by another team or the development performance evaluation result by the target team in a different period. This makes it possible to provide materials for determining whether the evaluation results of the development performance by the target team are good or bad.
  • the development activity information may include information that can identify the activities performed by members of the target team regarding the source code stored in the external system 50, and information that can identify the date and time when the activities were performed. good. This makes it possible to create appropriate indicators.
  • the storage device 11 may be connected to the client device 10 via the network NW.
  • Display 21 may be integrated with client device 10 .
  • the storage device 31 may be connected to the server 30 via the network NW.
  • Each step of the above information processing can be executed by either the client device 10 or the server 30.
  • the client device 10 may execute the processing described as being executed by the server 30.
  • each step in information processing is executed in a specific order, but the execution order of each step is not limited to the example described as long as there is no dependency relationship.
  • the server 30 may analyze the index that has the greatest negative impact on the quantitative evaluation. This allows you to identify the target team's biggest weaknesses.
  • information regarding an index that has the greatest negative influence may be presented in a manner that is emphasized, for example, compared to information regarding other indexes. Similar processing is also possible for positive effects.
  • the server 30 may repeatedly evaluate the target team (for example, at a predetermined cycle) without depending on the evaluation request from the client device 10. Furthermore, if a predetermined condition is satisfied regarding the target team's evaluation results (for example, at least one quantitative evaluation result of the target team's development volume, development efficiency, development quality, or overall development performance), the server 30 For example, a notification may be sent to the user.
  • the predetermined condition may be, for example, that the evaluation result is below a threshold.
  • Notifications may be made on the app screen or website screen, or by using email or other messages (e.g., SNS (Social Networking Service) messages, SMS (Short Message Service) messages, etc.). You can.
  • the notification may include information that indicates that a predetermined condition has been met, or may include information about the evaluation result (or a part thereof) of the target team's development performance. Thereby, the user can quickly grasp the development performance of the target team when the predetermined condition is met without actively checking the development performance of the target team frequently.
  • the above explanation shows an example of evaluating the development performance of the target team.
  • the server 30 evaluates the development performance of the organization based on at least one of a plurality of indicators generated for each of all the teams belonging to the same organization, or the evaluation results of the development performance of all the teams belonging to the organization. You may.
  • the server 30 integrates the evaluation results of each team.
  • the server 30 may calculate a weighted sum (the weights may be uniform) of the evaluation results of each team as the overall evaluation result of the organization's development performance.
  • the server 30 integrates each index generated for each team or its individual evaluation results.
  • the server 30 may calculate a weighted sum (the weight may be uniform) of each index or its processed value as the overall evaluation result of the organization's development performance.
  • the server 30 assigns a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value or the ratio of the index to the reference value) to the comparison result between each index and the reference value.
  • a weighted sum of the numerical values (the weights may be uniform) may be calculated as the overall evaluation result of the organization's development performance.
  • the server 30 may obtain a comprehensive evaluation result of the organization's development performance by processing these weighted sums. This makes it possible to appropriately evaluate the development performance of an organization made up of one or more teams.
  • the server 30 may publish recruitment information of the organization to which the target team belongs, including the evaluation results of the development performance by the target team.
  • the server 30 may publish recruitment information of the organization to which the target team belongs, including evaluation results of development performance by the organization.
  • the evaluation results of the development performance by the target team or organization can be used as materials for promoting the organization to job seekers.
  • the server 30 may publish job information including the evaluation results only when a predetermined condition is satisfied regarding the evaluation results.
  • the predetermined condition may be that the evaluation result exceeds a threshold value. This can prevent job information that includes unfavorable evaluation results (that is, evaluation results that do not appeal to job seekers) from being made public.
  • the processing described in this modification may be executed in cooperation with the server 30 and an external device (for example, a server in a recruitment system). In this case, the external device obtains the evaluation result of the development performance by the target team or organization from the server 30.
  • the server 30 may publish rankings of evaluation results of development performance by each team. Alternatively, the server 30 may publish rankings of evaluation results of development performance by each organization. Rankings may be compiled by team or organization attributes. Team attributes include, for example, size or development area. Organizational attributes include, for example, size, years since establishment, industry, or location of headquarters. As a further modification, the server 30 may exclude information about teams or organizations ranked lower than a predetermined ranking from disclosure. Note that the processing described in this modification may be executed in cooperation with the server 30 and an external device. In this case, the external device acquires the evaluation results of development performance by each team or each organization from the server 30.
  • development quality was evaluated as an independent item.
  • indicators of "development quality” e.g., the average number of lines changed
  • a correction may be performed in which an index of development volume (for example, the number of pull request creations, etc.) is weighted based on an index of development quality. Weighting can be performed, for example, by multiplying the development volume index by a larger correction coefficient as the evaluation of the development quality index is higher (for example, closer to an appropriate value).
  • the server 30 calculates the ratio or amount of change (for example, improvement) between the evaluation results of the target team or organization in the target period and the evaluation results of the target team or organization in the past period, and presents the calculation results to the user. Good too.
  • (Additional note 1) computer (30), means (S130) for acquiring information related to development activities by a member belonging to a team that is stored in the issue management service by the member belonging to the team using the issue management service (50); means for generating a plurality of indicators based on information regarding development activities (S131); means for evaluating development performance by the team based on a plurality of indicators (S132); means for outputting the evaluation results of development performance by the team (S133);
  • a program that functions as
  • the plurality of indicators relate to at least one of development volume, development efficiency, or development quality.
  • the means for evaluating the development performance by the team evaluates the specific indicator based on the number of members included in the team when at least one of the plurality of indicators corresponds to a specific indicator.
  • the means for evaluating the team's development performance is based on at least one of the following: number of pull requests created, number of merged pull requests, number of reviews, number of pull requests reviewed, number of codes coded, number of commits, or number of merges into the main branch. Quantitatively evaluate development volume, The program described in Appendix 4.
  • Measures of a team's development performance include the average time a team member takes to make an initial review, the average time from creating a pull request to being merged or closed, the average time from first commit to creating a pull request, and the average time from creating a pull request to creating a pull request. Average time from review to review, Average time from first review to close, Average time from first review to last approve, Average time from last approve to merge, From creating a merged pull request to the main branch. quantitatively evaluating the team's development efficiency based on at least one of an average time to merge, or an average time from the first commit associated with a pull request merged to the main branch to the merge; The program described in Appendix 4.
  • Measures of development performance by a team include the percentage of pull requests merged without being reviewed, change failure rate, average number of comments per pull request, average number of changed lines per pull request, or number of changed files per pull request, Quantitatively evaluate the team's development quality based on at least one of the following: The program described in Appendix 4.
  • Appendix 8 further causing the computer to function as a means for analyzing the impact of at least one of the plurality of indicators on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance; The program described in Appendix 4.
  • the computer is further used as a means for analyzing whether at least one of the plurality of metrics has had a positive or negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance. make it work, The program described in Appendix 8.
  • Appendix 10 further causing the computer to function as a means for analyzing the metrics having the greatest negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance; The program described in Appendix 8.
  • Appendix 11 further causing the computer to function as a means for notifying when a predetermined condition is satisfied regarding at least one quantitative evaluation result of the team's development volume, development efficiency, development quality, or overall development performance; The program described in Appendix 4.
  • Appendix 12 The means for evaluating the development performance by the team is to compare at least one of a plurality of indicators with a reference value and evaluate the indicator individually.
  • Appendix 13 further causing the computer to function as a means for comparing the evaluation of development performance by the team with the evaluation of development performance by other teams or with the results of evaluation of development performance by the team at different time periods; The program described in Appendix 12.
  • Appendix 14 A computer is used as a means for evaluating the development performance of an organization based on at least one of a plurality of indicators generated for each of all teams belonging to the organization or an evaluation result of the development performance of each of all teams belonging to the organization. Make it even more functional The program described in Appendix 1.
  • Appendix 15 further causing the computer to function as a means for publishing job information for the organization to which the team belongs, including evaluation results of development performance by the team; The program described in Appendix 1.
  • Information regarding development activities includes information that can identify the activities performed by members of the team regarding the source code stored in the issue management service, and information that can identify the date and time when the activities were performed. The program described in Appendix 1.
  • (Appendix 17) means (S130) for acquiring information regarding development activities by members belonging to the team that are stored in the issue management service by the members belonging to the team using the issue management service (50); means for generating a plurality of indicators based on information regarding development activities (S131);
  • An information processing device comprising: means (S132) for evaluating development performance by a team based on a plurality of indicators; and means (S133) for outputting evaluation results of development performance by the team.
  • An information processing system (1) comprising a client device (10) and a server (30),
  • the server is means (S130) for acquiring information regarding development activities by members belonging to the team that are stored in the issue management service by the members belonging to the team using the issue management service (50); means for generating a plurality of indicators based on information regarding development activities (S131); means (S132) for evaluating development performance by the team based on a plurality of indicators;
  • the client device includes means (S111) for presenting evaluation results of development performance by the team. Information processing system.
  • the evaluation result is a result of evaluating the development performance by the team based on multiple indicators, The plurality of indicators are generated based on information regarding development activities by members belonging to the team, which are stored in the issue management service by the members belonging to the team using the issue management service (50).
  • a method for causing a client device (10) to perform information processing comprising: on the client device, a process of receiving development performance evaluation results by the team; execute the process of presenting the evaluation result (S111);
  • the evaluation results are the results of evaluating the team's development performance based on multiple indicators.
  • the plurality of indicators are generated based on information regarding development activities by members belonging to the team that are stored in the issue management service (50) when the members use the issue management service (50).
  • Information processing system 10 Client device 11 : Storage device 12 : Processor 13 : Input/output interface 14 : Communication interface 21 : Display 30 : Server 31 : Storage device 32 : Processor 33 : Input/output interface 34 : Communication interface 50 : External system

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A program according to one aspect of the present disclosure causes a computer to function as: a means for acquiring information that is preserved by an issue management service due to use of the issue management service by a member belonging to a team, the information relating to a development activity performed by the member; a means for generating a plurality of indices on the basis of the information relating to the development activity; a means for evaluating the performance of development by the team on the basis of the plurality of indices; and a means for outputting an evaluation result pertaining to the performance of development by the team.

Description

プログラム、情報処理装置、方法、および情報処理システムProgram, information processing device, method, and information processing system
 本開示は、プログラム、情報処理装置、方法、および情報処理システムに関する。 The present disclosure relates to a program, an information processing device, a method, and an information processing system.
 組織におけるプロダクト(例えばソフトウェア)開発は、通常、複数のエンジニアからなるチームによって遂行される。プロダクトの開発責任者は、当該プロダクトを担当するチームによる開発パフォーマンスを適切に把握することが求められる。 Product (for example, software) development in an organization is usually performed by a team of multiple engineers. The person in charge of product development is required to appropriately understand the development performance of the team in charge of the product.
 特許文献1には、ソフトウェアの開発者の成果を評価する技術について開示されている。 Patent Document 1 discloses a technique for evaluating the achievements of software developers.
特開2015-118650号公報Japanese Patent Application Publication No. 2015-118650
 しかしながら、特許文献1に記載の技術は、開発者個人の成果を評価の対象としており、チームによる開発パフォーマンスの評価に直ちに応用することはできない。 However, the technology described in Patent Document 1 evaluates the results of individual developers, and cannot be immediately applied to evaluation of development performance by a team.
 本開示の目的は、チームによる開発パフォーマンスを適切に評価する技術を提供することである。 The purpose of the present disclosure is to provide a technique for appropriately evaluating development performance by a team.
 本開示の一態様のプログラムは、コンピュータを、チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段、開発活動に関する情報に基づいて、複数の指標を生成する手段、複数の指標に基づいて、チームによる開発パフォーマンスを評価する手段、として機能させる。 A program according to one aspect of the present disclosure provides a means for acquiring information regarding development activities by a member belonging to a team that is stored in the issue management service when the member belonging to the team uses the issue management service, and information regarding the development activities. It serves as a means to generate multiple metrics based on, and a means to evaluate development performance by a team based on multiple metrics.
 本開示によれば、チームによる開発パフォーマンスを適切に評価することができる。 According to the present disclosure, development performance by a team can be appropriately evaluated.
本実施形態の情報処理システムの構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of an information processing system according to the present embodiment. 本実施形態のクライアント装置の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a client device according to the present embodiment. 本実施形態のサーバの構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a server according to the present embodiment. 本実施形態の一態様の説明図である。FIG. 2 is an explanatory diagram of one aspect of the present embodiment. 本実施形態のリポジトリデータベースのデータ構造を示す図である。FIG. 3 is a diagram showing the data structure of a repository database according to the present embodiment. 本実施形態の開発活動データベースのデータ構造を示す図である。FIG. 2 is a diagram showing a data structure of a development activity database according to the present embodiment. 本実施形態の情報処理のフローチャートである。It is a flowchart of information processing of this embodiment. 本実施形態の情報処理において表示される画面例を示す図である。FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment. 本実施形態の情報処理において表示される画面例を示す図である。FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment. 本実施形態の情報処理において表示される画面例を示す図である。FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment. 本実施形態の情報処理において表示される画面例を示す図である。FIG. 3 is a diagram illustrating an example of a screen displayed during information processing according to the present embodiment.
 以下、本発明の一実施形態について、図面に基づいて詳細に説明する。なお、実施形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, one embodiment of the present invention will be described in detail based on the drawings. In addition, in the drawings for explaining the embodiments, the same components are generally designated by the same reference numerals, and repeated explanations thereof will be omitted.
 本明細書において、チームとは、複数人のエンジニアにより構成される集団を意味する。チームは、特定のプロダクトの開発を担当する。プロダクトは、典型的にはソフトウェアであり、例えば、SaaS(Software as a Service)などのWebサービスを提供するためのWebサイトであってもよいし、コンピュータにインストールされるアプリケーションであってもよい。チーム内では、それぞれのエンジニアが機能ごと、アウトプットごと等に役割分担して開発を進める。また、チーム内のエンジニアは、特定の1つの企業(組織)に雇用されている会社員のみに限られず、複数の企業が共同で開発を進める開発プロジェクトにおける任意の企業の会社員でもよい。さらに、チーム内のエンジニアには、派遣社員、個人事業主(いわゆるフリーランス)のエンジニアが含まれてもよい。 In this specification, a team means a group composed of multiple engineers. Teams are responsible for developing specific products. The product is typically software, and may be, for example, a website for providing a web service such as SaaS (Software as a Service), or an application installed on a computer. Within the team, each engineer divides their roles by function, output, etc. to proceed with development. Furthermore, the engineers in the team are not limited to employees employed by one specific company (organization), but may be employees of any company involved in a development project that is jointly developed by multiple companies. Furthermore, the engineers in the team may include temporary employees and engineers who are self-employed (so-called freelancers).
(1)情報処理システムの構成
 情報処理システムの構成について説明する。図1は、本実施形態の情報処理システムの構成を示すブロック図である。
(1) Configuration of information processing system The configuration of the information processing system will be explained. FIG. 1 is a block diagram showing the configuration of an information processing system according to this embodiment.
 図1に示すように、情報処理システム1は、クライアント装置10と、サーバ30とを備える。
 クライアント装置10及びサーバ30は、ネットワーク(例えば、インターネット又はイントラネット)NWを介して接続される。また、サーバ30は、ネットワークNWを介して外部システム50と接続される。
As shown in FIG. 1, the information processing system 1 includes a client device 10 and a server 30.
The client device 10 and the server 30 are connected via a network (eg, the Internet or an intranet) NW. Furthermore, the server 30 is connected to an external system 50 via a network NW.
 クライアント装置10は、サーバ30にリクエストを送信する情報処理装置の一例である。クライアント装置10は、例えば、スマートフォン、タブレット端末、又は、パーソナルコンピュータである。クライアント装置10は、情報処理システム1によって提供される、チームによる開発パフォーマンスの評価結果を確認するために用いることができる。クライアント装置10のユーザは、例えば、以下の少なくとも1つを含むことができる。
・評価の対象となるチーム(以下、「対象チーム」という)のメンバーまたはリーダー
・対象チームの担当するプロダクトの開発責任者
・対象チームの所属する組織における人事担当者
・対象チームの所属する組織における経営幹部
・対象チームの所属する組織の求人情報を閲覧する者
The client device 10 is an example of an information processing device that sends a request to the server 30. The client device 10 is, for example, a smartphone, a tablet terminal, or a personal computer. The client device 10 can be used to check the evaluation results of the team's development performance provided by the information processing system 1. Users of client device 10 may include, for example, at least one of the following:
・A member or leader of the team to be evaluated (hereinafter referred to as the "Target Team") ・The person responsible for the development of the product that the Target Team is in charge of ・The person in charge of human resources in the organization to which the Target Team belongs ・The person in charge of human resources in the organization to which the Target Team belongs Persons who view job information for organizations to which executives and target teams belong.
 サーバ30は、クライアント装置10から送信されたリクエストに応じたレスポンスをクライアント装置10に提供する情報処理装置の一例である。サーバ30は、例えば、サーバコンピュータである。サーバ30は、クライアント装置10からのリクエストに応じて、対象チームによる開発パフォーマンスの評価結果を提供する。 The server 30 is an example of an information processing device that provides the client device 10 with a response in response to a request sent from the client device 10. Server 30 is, for example, a server computer. The server 30 provides evaluation results of the development performance by the target team in response to a request from the client device 10.
 外部システム50は、サーバ30からのリクエストに応じて、対象チームのメンバー(エンジニア)による開発活動の活動に関する情報を提供する。外部システム50は、典型的には、GitHub(登録商標)などの、ソフトウェア開発プラットフォームである。GitHubは、エンジニアによる開発の成果物であるソースコードの管理、ソースコードに対するレビューの管理等を行う。 The external system 50 provides information regarding development activities by members (engineers) of the target team in response to requests from the server 30. External system 50 is typically a software development platform, such as GitHub (registered trademark). GitHub manages source code that is a product of development by engineers, reviews of source code, and the like.
 なお、外部システム50は、GitHubに限られず、GitLab(登録商標)またはBitbucket(登録商標)等の他のソフトウェア開発プラットフォームであってもよい。或いは、外部システム50は、ソフトウェア開発における課題管理ツール(例えばJira(登録商標))、またはタスク管理ツール(例えば、Trello(登録商標)またはbacklog(登録商標)等)であってもよい。これらソフトウェア開発プラットフォーム、課題管理ツールまたはタスク管理ツールは、イシュー管理サービスとして総称することもできる。以下の説明では、外部システム50として、GitHubを利用することを前提として述べる。 Note that the external system 50 is not limited to GitHub, and may be another software development platform such as GitLab (registered trademark) or Bitbucket (registered trademark). Alternatively, the external system 50 may be an issue management tool (eg, Jira (registered trademark)) or a task management tool (eg, Trello (registered trademark), backlog (registered trademark), etc.) in software development. These software development platforms, issue management tools, or task management tools can also be collectively referred to as issue management services. In the following description, it is assumed that GitHub is used as the external system 50.
 GitHubは、ソースコードホスティングサービスである。GitHubは、開発の成果物であるソースコードのバージョン管理を行うためのリポジトリ(管理手段)を有する。GitHubは、ある時点におけるソースコードの一覧を管理している。GitHubは、イシュー(作成)、プッシュ、コミット、プルリクエスト、マージ等の各種機能を備えている。イシューは、プロジェクトやソースコードの課題を管理するための機能である。プッシュは、エンジニアのローカル環境(ローカルリポジトリ)で作成又は修正を行ったソースコードをリモート環境(リモートリポジトリ)へアップロードする機能である。コミットは、ソースコードへの変更内容を登録するための機能である。プルリクエストは、プッシュがなされたことを通知してレビューを依頼する機能である。マージは、レビュー結果を確定させて履歴を統合する機能である。ここで、ソースコードとは、Pythonのようなプログラミング言語、またはHTML、CSSのようなマークアップ言語により記述されるコード(文字列)に加え、JavaScript(登録商標)のようなプログラミング言語の一種であるスクリプト言語により記述されるスクリプト(文字列)を含む概念である。 GitHub is a source code hosting service. GitHub has a repository (management means) for version control of source code, which is a product of development. GitHub manages a list of source code at a certain point in time. GitHub has various functions such as issue (creation), push, commit, pull request, and merge. Issues is a function for managing projects and source code issues. Push is a function that uploads source code created or modified in an engineer's local environment (local repository) to a remote environment (remote repository). Commit is a function for registering changes to source code. A pull request is a function that notifies you that a push has been made and requests a review. Merge is a function that finalizes review results and integrates history. Here, source code is a type of programming language such as JavaScript (registered trademark) in addition to code (character string) written in a programming language such as Python or a markup language such as HTML or CSS. This is a concept that includes scripts (character strings) written in a certain scripting language.
 プログラミング言語とは、ソフトウェア開発に用いられる言語であり、具体的にはJavaScript(登録商標)、Java(登録商標)、Scala、PHP、Ruby、Python、Go、C#、などがある。また、ソフトウェアフレームワークとはソフトウェア開発に利用するソフトウェアプラットフォームであり、具体的には、jQuery、React、Vue.js、Angular、Nuxt.js、Next.js、ReactNative、Spring Framework、Play Framework、Laravel、CakePHP、RubyonRails、Django、Flask、TensorFlow、gin、Unity、Expressなどがある。 A programming language is a language used for software development, and specifically includes JavaScript (registered trademark), Java (registered trademark), Scala, PHP, Ruby, Python, Go, C#, and the like. Also, a software framework is a software platform used for software development, specifically jQuery, React, Vue.js, Angular, Nuxt.js, Next.js, ReactNative, Spring Framework, Play Framework, Lar avel, Examples include CakePHP, RubyonRails, Django, Flask, TensorFlow, gin, Unity, and Express.
(1-1)クライアント装置の構成
 クライアント装置の構成について説明する。図2は、本実施形態のクライアント装置の構成を示すブロック図である。
(1-1) Configuration of client device The configuration of the client device will be explained. FIG. 2 is a block diagram showing the configuration of the client device of this embodiment.
 図2に示すように、クライアント装置10は、記憶装置11と、プロセッサ12と、入出力インタフェース13と、通信インタフェース14とを備える。クライアント装置10は、ディスプレイ21に接続される。 As shown in FIG. 2, the client device 10 includes a storage device 11, a processor 12, an input/output interface 13, and a communication interface 14. Client device 10 is connected to display 21 .
 記憶装置11は、プログラム及びデータを記憶するように構成される。記憶装置11は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び、ストレージ(例えば、フラッシュメモリ又はハードディスク)の組合せである。 The storage device 11 is configured to store programs and data. The storage device 11 is, for example, a combination of ROM (Read Only Memory), RAM (Random Access Memory), and storage (for example, flash memory or hard disk).
 プログラムは、例えば、以下のプログラムを含む。
・OS(Operating System)のプログラム
・情報処理を実行するアプリケーション(例えば、ウェブブラウザ)のプログラム
The programs include, for example, the following programs.
・OS (Operating System) program ・Application program that executes information processing (e.g. web browser)
 データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理を実行することによって得られるデータ(つまり、情報処理の実行結果)
The data includes, for example, the following data.
・Databases referenced in information processing ・Data obtained by executing information processing (that is, execution results of information processing)
 プロセッサ12は、記憶装置11に記憶されたプログラムを起動することによって、クライアント装置10の機能を実現するコンピュータである。プロセッサ12は、例えば、以下の少なくとも1つである。
 ・CPU(Central Processing Unit)
 ・GPU(Graphic Processing Unit)
 ・ASIC(Application Specific Integrated Circuit)
 ・FPGA(Field Programmable Array)
The processor 12 is a computer that implements the functions of the client device 10 by activating a program stored in the storage device 11. The processor 12 is, for example, at least one of the following.
・CPU (Central Processing Unit)
・GPU (Graphic Processing Unit)
・ASIC (Application Specific Integrated Circuit)
・FPGA (Field Programmable Array)
 入出力インタフェース13は、クライアント装置10に接続される入力デバイスから情報(例えばユーザの指示)を取得し、かつ、クライアント装置10に接続される出力デバイスに情報(例えば画像信号)を出力するように構成される。
 入力デバイスは、例えば、キーボード、ポインティングデバイス、タッチパネル、又は、それらの組合せである。
 出力デバイスは、例えば、ディスプレイ21、スピーカ、又は、それらの組合せである。
The input/output interface 13 acquires information (for example, user instructions) from an input device connected to the client device 10 and outputs information (for example, an image signal) to an output device connected to the client device 10. configured.
The input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
The output device is, for example, a display 21, a speaker, or a combination thereof.
 通信インタフェース14は、クライアント装置10と外部装置(例えばサーバ30)との間の通信を制御するように構成される。 The communication interface 14 is configured to control communication between the client device 10 and an external device (for example, the server 30).
 ディスプレイ21は、画像(静止画、または動画)を表示するように構成される。ディスプレイ21は、例えば、液晶ディスプレイ、または有機ELディスプレイである。 The display 21 is configured to display images (still images or moving images). The display 21 is, for example, a liquid crystal display or an organic EL display.
(1-2)サーバの構成
 サーバの構成について説明する。図3は、本実施形態のサーバの構成を示すブロック図である。
(1-2) Server configuration The server configuration will be explained. FIG. 3 is a block diagram showing the configuration of the server of this embodiment.
 図3に示すように、サーバ30は、記憶装置31と、プロセッサ32と、入出力インタフェース33と、通信インタフェース34とを備える。 As shown in FIG. 3, the server 30 includes a storage device 31, a processor 32, an input/output interface 33, and a communication interface 34.
 記憶装置31は、プログラム及びデータを記憶するように構成される。記憶装置31は、例えば、ROM、RAM、及び、ストレージ(例えば、フラッシュメモリ又はハードディスク)の組合せである。 The storage device 31 is configured to store programs and data. The storage device 31 is, for example, a combination of ROM, RAM, and storage (eg, flash memory or hard disk).
 プログラムは、例えば、以下のプログラムを含む。
・OSのプログラム
・情報処理を実行するアプリケーションのプログラム
The programs include, for example, the following programs.
・OS program ・Application program that executes information processing
 データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理の実行結果
The data includes, for example, the following data.
・Databases referenced in information processing ・Execution results of information processing
 プロセッサ32は、記憶装置31に記憶されたプログラムを起動することによって、サーバ30の機能を実現するコンピュータである。プロセッサ32は、例えば、以下の少なくとも1つである。
 ・CPU
 ・GPU
 ・ASIC
 ・FPGA
The processor 32 is a computer that implements the functions of the server 30 by activating a program stored in the storage device 31. The processor 32 is, for example, at least one of the following.
・CPU
・GPU
・ASIC
・FPGA
 入出力インタフェース33は、サーバ30に接続される入力デバイスからユーザの指示を取得し、かつ、サーバ30に接続される出力デバイスに情報を出力するように構成される。
 入力デバイスは、例えば、キーボード、ポインティングデバイス、タッチパネル、又は、それらの組合せである。
 出力デバイスは、例えば、ディスプレイである。
The input/output interface 33 is configured to obtain user instructions from an input device connected to the server 30 and output information to an output device connected to the server 30.
The input device is, for example, a keyboard, pointing device, touch panel, or a combination thereof.
The output device is, for example, a display.
 通信インタフェース34は、サーバ30と外部装置(例えばクライアント装置10または外部システム50)との間の通信を制御するように構成される。 The communication interface 34 is configured to control communication between the server 30 and an external device (eg, the client device 10 or the external system 50).
(2)実施形態の一態様
 本実施形態の一態様について説明する。図4は、本実施形態の一態様の説明図である。
(2) One aspect of the embodiment One aspect of the present embodiment will be described. FIG. 4 is an explanatory diagram of one aspect of this embodiment.
 図4に示すように、チームET1に属するメンバーは、外部システム50を利用して種々の開発活動を行う。外部システム50は、このような開発活動のログに関する情報(以下、「開発活動情報」という)を保存する。サーバ30は、外部システム50から開発活動情報を収集する。サーバ30は、定期的に開発活動情報を収集してもよいし、何らかのトリガ(例えば、クライアント装置10からの評価要求の受信)に応じて開発活動情報を収集してもよい。 As shown in FIG. 4, members belonging to team ET1 perform various development activities using the external system 50. The external system 50 stores information regarding logs of such development activities (hereinafter referred to as "development activity information"). The server 30 collects development activity information from the external system 50. The server 30 may collect development activity information periodically, or may collect development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).
 クライアント装置10は、ユーザUS2からの指示に応じて、チームET1による開発パフォーマンスの評価をサーバ30に要求する。サーバ30は、評価要求に応じて、チームET1による開発パフォーマンスに関する複数の指標を生成する。具体的には、サーバ30は、チームET1のメンバーの開発活動情報に基づいて(例えば、複数のメンバーの開発活動情報を統合することで)各指標を生成する。サーバ30は、生成した複数の指標に基づいて、チームET1による開発パフォーマンスを評価し、評価結果を含む評価応答をクライアント装置10へ送信する。クライアント装置10は、評価応答をユーザUS2に提示する。 The client device 10 requests the server 30 to evaluate the development performance by the team ET1 in response to an instruction from the user US2. The server 30 generates a plurality of indicators regarding the development performance by the team ET1 in response to the evaluation request. Specifically, the server 30 generates each index based on the development activity information of the members of team ET1 (for example, by integrating the development activity information of a plurality of members). The server 30 evaluates the development performance by the team ET1 based on the plurality of generated indicators, and transmits an evaluation response including the evaluation result to the client device 10. Client device 10 presents the evaluation response to user US2.
 このように、サーバ30によれば、複数の指標を介した、チームET1のメンバーの開発活動情報の多面的な分析に基づいて当該チームET1による開発パフォーマンスを適切に評価することができる。 In this way, according to the server 30, it is possible to appropriately evaluate the development performance of the team ET1 based on a multifaceted analysis of the development activity information of the members of the team ET1 using a plurality of indicators.
(3)データベース
 本実施形態のデータベースについて説明する。以下のデータベースは、記憶装置31に記憶される。
(3) Database The database of this embodiment will be explained. The following database is stored in the storage device 31.
(3-1)リポジトリデータベース
 本実施形態のリポジトリデータベースについて説明する。図5は、本実施形態のリポジトリデータベースのデータ構造を示す図である。
(3-1) Repository database The repository database of this embodiment will be explained. FIG. 5 is a diagram showing the data structure of the repository database of this embodiment.
 リポジトリデータベースには、リポジトリ情報が格納される。リポジトリ情報は、外部システム50において作成されているリポジトリに関する情報である。 The repository database stores repository information. The repository information is information regarding the repository created in the external system 50.
 図5に示すように、リポジトリデータベースは、「リポジトリID」フィールドと、「チームID」フィールドと、「アドレス」フィールドとを含む。各フィールドは、互いに関連付けられている。 As shown in FIG. 5, the repository database includes a "repository ID" field, a "team ID" field, and an "address" field. Each field is associated with each other.
 「リポジトリID」フィールドには、リポジトリIDが格納される。リポジトリIDは、リポジトリを識別する情報である。サーバ30は、外部システム50からリポジトリIDを取得可能である。 A repository ID is stored in the "repository ID" field. The repository ID is information that identifies a repository. The server 30 can acquire the repository ID from the external system 50.
 「チームID」フィールドには、チームIDが格納される。チームIDは、対応するリポジトリIDによって特定されるリポジトリを作成したチームを識別する情報である。サーバ30は、外部システム50からチームIDを取得可能である。 The team ID is stored in the "Team ID" field. The team ID is information that identifies the team that created the repository specified by the corresponding repository ID. The server 30 can acquire the team ID from the external system 50.
 なお、チームIDは、図示しないデータベースにおいて、組織IDと関連付けられてもよい。チームIDに関連付けられる組織IDは、当該チームIDに対応するチームが属する組織を識別する。また、チームIDは、図示しないデータベースにおいて、エンジニアIDと関連付けられてもよい。チームIDに関連付けられるエンジニアIDは、当該チームIDに対応するチームに属するメンバーを識別する。 Note that the team ID may be associated with the organization ID in a database (not shown). The organization ID associated with the team ID identifies the organization to which the team corresponding to the team ID belongs. Further, the team ID may be associated with the engineer ID in a database (not shown). The engineer ID associated with the team ID identifies members belonging to the team corresponding to the team ID.
 「アドレス」フィールドには、アドレス情報が格納される。アドレス情報は、対応するリポジトリIDによって特定されるリポジトリにアクセスするための情報(例えばURL(Uniform Resource Locator))である。 Address information is stored in the "address" field. The address information is information (for example, URL (Uniform Resource Locator)) for accessing the repository specified by the corresponding repository ID.
(3-2)開発活動データベース
 本実施形態の開発活動データベースについて説明する。図6は、本実施形態の開発活動データベースのデータ構造を示す図である。
(3-2) Development activity database The development activity database of this embodiment will be explained. FIG. 6 is a diagram showing the data structure of the development activity database of this embodiment.
 開発活動データベースには、開発活動情報が格納される。開発活動情報は、外部システム50において作成されたリポジトリに保存されているソースコードに関して、エンジニアにより行われた活動に関する情報である。 Development activity information is stored in the development activity database. The development activity information is information regarding activities performed by engineers regarding source codes stored in a repository created in the external system 50.
 外部システム50は、例えば、ユーザ(つまり、エンジニア)がソースコードをローカルリポジトリからプッシュした場合に、プッシュを行ったユーザを特定可能な情報、およびプッシュが行われた日時をログ情報として記録する。同様に、ソースコードに関してイシューを作成した場合、ソースコードについてプルリクエストがあった場合、コメントが作成された場合、コメントに対する回答が作成された場合、またはマージがなされた場合などに、外部システム50は、ログ情報を記録する。 For example, when a user (that is, an engineer) pushes source code from a local repository, the external system 50 records information that can identify the user who made the push and the date and time when the push was made as log information. Similarly, if you create an issue with your source code, a pull request is made with your source code, a comment is made, a reply is made to a comment, or a merge is made, an external system 50. records log information.
 サーバ30は、外部システム50から取得した開発活動情報に基づいて、開発活動データベースを更新する。サーバ30は、定期的に開発活動情報を取得してもよいし、何らかのトリガ(例えば、クライアント装置10からの評価要求の受信)に応じて開発活動情報を取得してもよい。 The server 30 updates the development activity database based on the development activity information obtained from the external system 50. The server 30 may acquire development activity information periodically, or may acquire development activity information in response to some trigger (for example, receiving an evaluation request from the client device 10).
 図6に示すように、開発活動データベースは、「活動ID」フィールドと、「リポジトリID」フィールドと、「アクションID」フィールドと、「エンジニアID」フィールドと、「日時」フィールドと、「ソースコード」フィールドとを含む。 As shown in Figure 6, the development activity database includes an "activity ID" field, a "repository ID" field, an "action ID" field, an "engineer ID" field, a "date and time" field, and a "source code" field. field.
 「活動ID」フィールドには、活動IDが格納される。活動IDは、外部システム50において作成されたリポジトリに保存されているソースコードに関して、エンジニアにより行われた活動を識別する情報である。 The "activity ID" field stores the activity ID. The activity ID is information that identifies an activity performed by an engineer regarding source code stored in a repository created in the external system 50.
 「リポジトリID」フィールドには、リポジトリIDが格納される。リポジトリIDは、対応する活動IDによって特定される活動が行われたソースコードが保存されているリポジトリを識別する情報である。 A repository ID is stored in the "repository ID" field. The repository ID is information that identifies the repository in which the source code in which the activity specified by the corresponding activity ID was performed is stored.
 「アクション」フィールドには、アクション情報が格納される。アクション情報は、対応する活動IDによって特定される活動の種別に関する情報である。 Action information is stored in the "Action" field. The action information is information regarding the type of activity specified by the corresponding activity ID.
 「エンジニアID」フィールドには、エンジニアIDが格納される。エンジニアIDは、対応する活動IDによって特定される活動を行ったエンジニア(つまり、外部システム50のユーザ)を識別する情報である。 The engineer ID is stored in the "Engineer ID" field. The engineer ID is information that identifies the engineer (that is, the user of the external system 50) who performed the activity specified by the corresponding activity ID.
 「日時」フィールドには、日時情報が格納される。日時情報は、対応する活動IDによって特定される活動が行われた日時に関する情報である。 The "date and time" field stores date and time information. The date and time information is information regarding the date and time when the activity specified by the corresponding activity ID was performed.
 「ソースコード」フィールドには、ソースコード情報が格納される。ソースコード情報は、対応する活動IDによって特定される活動が行われたソースコードに関する情報(例えばファイル名情報)である。 Source code information is stored in the "source code" field. The source code information is information (for example, file name information) regarding the source code in which the activity specified by the corresponding activity ID was performed.
(4)情報処理
 本実施形態の情報処理について説明する。図7は、本実施形態の情報処理のフローチャートである。図8は、本実施形態の情報処理において表示される画面例を示す図である。図9は、本実施形態の情報処理において表示される画面例を示す図である。図10は、本実施形態の情報処理において表示される画面例を示す図である。図11は、本実施形態の情報処理において表示される画面例を示す図である。
(4) Information processing Information processing of this embodiment will be explained. FIG. 7 is a flowchart of information processing according to this embodiment. FIG. 8 is a diagram showing an example of a screen displayed in the information processing of this embodiment. FIG. 9 is a diagram showing an example of a screen displayed in the information processing of this embodiment. FIG. 10 is a diagram showing an example of a screen displayed in the information processing of this embodiment. FIG. 11 is a diagram showing an example of a screen displayed in the information processing of this embodiment.
 図7に示すように、クライアント装置10は、評価要求(S110)を実行する。
 具体的には、クライアント装置10は、ユーザの指示に応じて評価要求を生成する。評価要求は、対象チームを特定可能な情報(例えばチームID)を含む。また、評価要求は、評価の対象となる期間(以下、「対象期間」という)を特定可能な情報を含んでもよい。ただし、対象期間が予め定められている場合には、評価要求はかかる情報を含まなくてもよい。以下の説明では、対象期間はユーザが指定できることを前提とする。
As shown in FIG. 7, the client device 10 executes an evaluation request (S110).
Specifically, the client device 10 generates an evaluation request in response to a user's instruction. The evaluation request includes information (for example, team ID) that can identify the target team. Further, the evaluation request may include information that allows specifying a period to be evaluated (hereinafter referred to as "target period"). However, if the target period is predetermined, the evaluation request does not need to include such information. In the following explanation, it is assumed that the target period can be specified by the user.
 なお、評価要求(S110)と同時に、または評価要求(S110)と前後して、サーバ30は、ユーザ認証を行ってもよい。
 具体的には、クライアント装置10は、ユーザ認証に用いられる情報を取得し、サーバ30へ送信する。サーバ30は、かかる情報に基づいてクライアント装置10の操作者が登録済みのユーザであるか否かを確認する。サーバ30は、ユーザ認証が成功した場合に、以後の処理を実行する。ただし、評価要求(S110)と同時もしくは評価要求(S110)よりも後にユーザ認証が行われ、かつ対象チームの評価結果を閲覧する権限がユーザに割り当てられていない場合に、サーバ30は評価要求を拒否する。
Note that the server 30 may perform user authentication at the same time as the evaluation request (S110), or before or after the evaluation request (S110).
Specifically, the client device 10 acquires information used for user authentication and transmits it to the server 30. Based on this information, the server 30 confirms whether the operator of the client device 10 is a registered user. The server 30 executes subsequent processing if the user authentication is successful. However, if user authentication is performed at the same time as the evaluation request (S110) or after the evaluation request (S110), and the user is not assigned the authority to view the evaluation results of the target team, the server 30 will not issue the evaluation request. Refuse.
 ユーザ認証に用いられる情報は、ユーザを特定可能な情報(例えばユーザID)と、クライアント装置10の操作者が当該ユーザ本人であることを証明するために当該操作者によって提供された情報(例えば、パスワード、または生体情報、など)とを含み得る。 The information used for user authentication includes information that can identify the user (e.g., user ID) and information provided by the operator of the client device 10 to prove that the operator is the user himself/herself (e.g., password, biometric information, etc.).
 ステップS110の後に、サーバ30は、情報の取得(S130)を実行する。
 具体的には、サーバ30は、ステップS110において送信された評価要求を受信する。サーバ30は、受信した評価要求に基づいて対象チームおよび対象期間を特定する。サーバ30は、例えばリポジトリデータベース(図5)を参照し、対象チームを示すチームIDに関連付けられているリポジトリIDを抽出する。サーバ30は、例えば開発活動データベース(図6)を参照し、特定した対象期間内の日付を示す日付情報と、抽出したリポジトリIDとを含む開発活動情報を抽出する。
After step S110, the server 30 executes information acquisition (S130).
Specifically, the server 30 receives the evaluation request transmitted in step S110. The server 30 specifies the target team and target period based on the received evaluation request. The server 30 refers to the repository database (FIG. 5), for example, and extracts the repository ID associated with the team ID indicating the target team. The server 30 refers to the development activity database (FIG. 6), for example, and extracts development activity information including date information indicating a date within the specified target period and the extracted repository ID.
 なお、サーバ30は、開発活動データベースから開発活動情報を抽出する前に、外部システム50から対象チームに属するメンバーに関する開発活動情報を取得し、当該データベースを更新してもよい。 Note that, before extracting the development activity information from the development activity database, the server 30 may obtain development activity information regarding members belonging to the target team from the external system 50 and update the database.
 ステップS130の後に、サーバ30は、指標の生成(S131)を実行する。
 具体的には、サーバ30は、ステップS130において取得した開発活動情報に基づいて、対象期間における対象チームによる開発パフォーマンスに関する複数の指標を生成する。サーバ30は、取得した開発活動情報をそのまま指標として扱ってもよいし、当該開発活動情報に基づいて演算(例えば、カウント)を行うことで指標を算出してもよい。
After step S130, the server 30 executes index generation (S131).
Specifically, the server 30 generates a plurality of indicators regarding the development performance of the target team during the target period based on the development activity information acquired in step S130. The server 30 may treat the acquired development activity information as it is as an index, or may calculate the index by performing calculations (for example, counting) based on the development activity information.
 複数の指標は、例えば以下の少なくとも1つを含むことができる。
・開発のボリュームに関する指標
・開発の効率に関する指標
・開発のクオリティに関する指標
The plurality of indicators can include, for example, at least one of the following.
・Indicators related to development volume ・Indicators related to development efficiency ・Indicators related to development quality
 開発のボリュームに関する指標は、例えば、以下の少なくとも1つを含むことができる。
・プルリク作成数
・マージ済みプルリク数
・レビュー数
・レビューしたプルリク数
・コーディング数(アクティブ日数)
・コミット数
・メインブランチへのマージ回数
 なお、上に例示した開発のボリュームに関する指標は、いずれも値が大きいほど開発のボリュームが大きいことを示唆する。ただし、後述するように、これらの指標は、チームの規模(例えばメンバー数)が大きいほど高くなりやすいので、妥当な評価を行うためにはチームの規模に応じた補正をすることが好ましい。指標の補正は、指標の生成(S131)において実行されてもよいし、パフォーマンスの評価(S132)において実行されてもよい。
The indicator regarding the volume of development can include, for example, at least one of the following:
・Number of pull requests created ・Number of merged pull requests ・Number of reviews ・Number of reviewed pull requests ・Number of coding (active days)
・Number of commits ・Number of merges into the main branch For each of the indicators related to the development volume exemplified above, the larger the value, the larger the development volume. However, as will be described later, these indicators tend to become higher as the size of the team (for example, number of members) increases, so it is preferable to make corrections according to the size of the team in order to perform appropriate evaluation. The correction of the index may be performed in the generation of the index (S131) or in the performance evaluation (S132).
 開発の効率に関する指標は、例えば、以下の少なくとも1つを含むことができる。なお、以下に例示する開発の効率に関する指標は、いずれも値が小さいほど開発の効率が高いことを示唆する。
・自チームのメンバーが最初のレビューをするまでの平均時間[h]
・プルリク作成からマージまたはクローズされるまでの平均時間[h]
・最初のコミットからプルリク作成までの平均時間[h]
・プルリク作成からレビューまでの平均時間[h]
・最初のレビューからクローズまでの平均時間[h]
・最初のレビューから最後のアプルーブまでの平均時間[h]
・最後のアプルーブからマージまでの平均時間[h]
・メインブランチへのマージされたプルリクの作成からマージまでの平均時間[h]
・メインブランチへマージされたプルリクに紐づく最初のコミットからマージまでの平均時間[h]
The index regarding development efficiency can include, for example, at least one of the following. Note that for the indicators related to development efficiency exemplified below, the smaller the value, the higher the development efficiency.
・Average time taken by members of own team to make their first review [h]
・Average time from creating a pull request to merging or closing [h]
・Average time from first commit to pull request creation [h]
・Average time from pull request creation to review [h]
・Average time from first review to closing [h]
・Average time from first review to final approval [h]
・Average time from final approval to merge [h]
・Average time from creation to merge of merged pull request to main branch [h]
・Average time from the first commit to the merge associated with pull requests merged into the main branch [h]
 開発のクオリティに関する指標は、例えば、以下の少なくとも1つを含むことができる。なお、以下に例示する開発のクオリティに関する指標のうち「レビューされずにマージされた割合」および「変更障害率」は、いずれも値が小さいほど開発のクオリティが高いことを示唆する。他方、以下に例示する開発のクオリティに関する指標のうち「1プルリクに対する平均コメント数」、「1プルリクあたりの平均変更行数」および「1プルリクあたりの変更ファイル数」は、単純な大小のみによる評価は妥当でないおそれがある。例えば、これらの指標に対しては、定性的な分析が行われてもよいし、適正値からの差が小さいほど開発のクオリティが高いものとして扱われてもよい。
・レビューされずにマージされたプルリクの割合[%]
・変更障害率
・1プルリクに対する平均コメント数
・1プルリクあたりの平均変更行数
・1プルリクあたりの変更ファイル数
ここで、変更障害率とは、変更に伴って発生した障害の割合を意味する。一例として、変更障害率は、メインブランチへマージしたプルリク数に対する、障害を意味するタグ付けがなされたブランチからメインブランチへマージしたプルリク数の割合として表現できる。障害を意味するタグ付けがなされたブランチは、例えば、修正を意味する文字列(hotfix)または変更を元に戻すことを意味する文字列(revert)を含む(大文字小文字問わず)ブランチである。
The indicators regarding the quality of development can include, for example, at least one of the following: Note that among the indicators related to the quality of development illustrated below, the smaller the value of both the ``proportion of merges without being reviewed'' and the ``change failure rate,'' the higher the quality of development. On the other hand, among the development quality indicators shown below, "average number of comments per pull request,""average number of changed lines per pull request," and "number of changed files per pull request" are evaluations based only on simple size. may not be valid. For example, qualitative analysis may be performed on these indicators, or the smaller the difference from the appropriate value, the higher the quality of the development.
・Percentage of pull requests that were merged without being reviewed [%]
- Change failure rate - Average number of comments per pull request - Average number of changed lines per pull request - Number of changed files per pull request Here, the change failure rate means the rate of failures that occur due to changes. As an example, the change failure rate can be expressed as the ratio of the number of pull requests merged to the main branch from a branch tagged as failure to the number of pull requests merged to the main branch. A branch tagged as faulty is, for example, a branch (in any uppercase or lowercase) that includes a string that indicates a modification (hotfix) or a string that indicates reverting a change (revert).
 なお、サーバ30は、生成した指標を、図示しないデータベースに格納してもよい。これにより、サーバ30は、同一の対象チームおよび同一の対象期間が指定された場合に、指標の生成(S131)を実行する代わりに、データベースに格納されている指標を読み出して利用することができる。また、サーバ30は、対象期間の長さに関わらず、対象期間に属する所定の時間単位(例えば日単位)における指標を生成してデータベースに格納し、当該対象期間に属する時間単位に亘って指標を統合すること対象期間における指標を生成してもよい。これにより、過去に指定された対象期間と重複する対象期間が指定された場合であっても、過去に生成した指標を再利用して指標の生成(S131)を実行できる。 Note that the server 30 may store the generated index in a database (not shown). Thereby, when the same target team and the same target period are specified, the server 30 can read and use the index stored in the database instead of executing index generation (S131). . In addition, regardless of the length of the target period, the server 30 generates an index in a predetermined time unit (for example, a day) belonging to the target period, stores it in the database, and stores the index over the time unit belonging to the target period. An index for the target period may be generated by integrating the following. Thereby, even if a target period that overlaps with a target period specified in the past is specified, the index generated in the past can be reused to generate the index (S131).
 ステップS131の後に、サーバ30は、パフォーマンスの評価(S132)を実行する。
 具体的には、サーバ30は、ステップS131において生成した指標に基づいて、以下の少なくとも1つを評価する。
・対象期間における対象チームの個別指標の評価
・対象期間における対象チームの開発ボリュームの評価
・対象期間における対象チームの開発効率の評価
・対象期間における対象チームの開発クオリティの評価
・対象期間における対象チームの開発パフォーマンスの総合評価
After step S131, the server 30 performs performance evaluation (S132).
Specifically, the server 30 evaluates at least one of the following based on the index generated in step S131.
・Evaluation of individual indicators of the target team during the target period ・Evaluation of the target team's development volume during the target period ・Evaluation of the target team's development efficiency during the target period ・Evaluation of the development quality of the target team during the target period ・Target team during the target period Comprehensive evaluation of development performance
 サーバ30は、評価を実施する前に、個別指標に対する前処理を行うことができる。個別指標に対する前処理の例として、サーバ30は、ステップS131において生成した指標に対する加工を行うことができる。加工は、例えば以下の少なくとも1つを含むことができる。
・スケールの変換(例えば正規化)
・補正(例えばチームの規模による影響を緩和する補正)
・丸め(例えばより粗いレーティングへの変換)
・逆数化または符号反転(例えば、パフォーマンスが高いほど低くなると推定される指標を、パフォーマンスが高いほど高くなる指標に変換する加工)
The server 30 can perform preprocessing on individual indicators before performing evaluation. As an example of preprocessing for individual indicators, the server 30 can process the indicators generated in step S131. The processing can include, for example, at least one of the following.
・Scale conversion (e.g. normalization)
・Correction (for example, correction to alleviate the influence of team size)
- Rounding (e.g. conversion to a coarser rating)
- Reciprocal or sign inversion (for example, processing to convert an indicator that is estimated to be lower as performance is higher into an indicator that is estimated to be higher as performance is higher)
 個別指標の評価の一例として、サーバ30は、ステップS131において生成した指標またはその加工値を、基準値と比較することで当該指標の個別評価を行うことができる。基準値は、例えば以下の少なくとも1つに基づいて定められてよい。
・対象期間以外の期間における対象チームの同一指標の値、またはその統計値
・対象期間または他の期間における他のチームの同一指標の値、またはその統計値
・対象期間における対象チームの同一カテゴリの他の指標の値、またはその統計値
・ここで説明した基準値の例のいずれかを、対象チームに含まれるメンバーの数に基づいて補正した値
ここで、カテゴリとは、例えば、「開発ボリューム」、「開発効率」、または「開発クオリティ」である。一例として、プルリク作成数、およびマージ済みプルリク数は、いずれも同一のカテゴリである「開発ボリューム」の指標である。
 また、対象チームに含まれるメンバーの数は、例えば当該対象チームに対応するリポジトリに紐付けられるエンジニアの数(つまりエンジニアIDの総数)を計算することで導出可能である。なお、補正に用いられるメンバーの数は、対象チームに対応するリポジトリに紐付けられるエンジニアのうち対象期間に稼働のあったエンジニアの数に限られてもよい。
 本例において、サーバ30は、個別指標の評価結果としてテキストを得るようにしてもよいし、数値を得るようにしてもよい。テキストは、例えば指標と基準値との関係に応じて予め定められ得る。数値は、例えば指標と基準値との関係(例えば差または比率)に依存する。
As an example of evaluation of an individual index, the server 30 can perform individual evaluation of the index by comparing the index generated in step S131 or its processed value with a reference value. The reference value may be determined based on at least one of the following, for example.
・The value of the same indicator or its statistical value of the target team in a period other than the target period ・The value of the same index or its statistical value of another team in the target period or any other period ・The value of the same index or its statistical value of the target team in the target period A value obtained by correcting the value of another indicator or its statistical value, or any of the examples of standard values described here, based on the number of members included in the target team.Categories are, for example, "Development volume". ”, “development efficiency”, or “development quality”. As an example, the number of created pull requests and the number of merged pull requests are both indicators of the same category of "development volume."
Further, the number of members included in the target team can be derived, for example, by calculating the number of engineers (that is, the total number of engineer IDs) linked to the repository corresponding to the target team. Note that the number of members used for correction may be limited to the number of engineers who were active during the target period among the engineers linked to the repository corresponding to the target team.
In this example, the server 30 may obtain a text or a numerical value as the evaluation result of the individual index. The text may be predetermined, for example, depending on the relationship between the index and the reference value. The numerical value depends, for example, on the relationship (eg, difference or ratio) between the index and the reference value.
 開発ボリュームの評価の例として、サーバ30は、ステップS131において生成した「開発ボリューム」の指標またはその個別評価結果を統合することで、開発ボリュームを定量的に評価してもよい。第1例として、サーバ30は、「開発ボリューム」の指標またはその加工値の重み付き和(重みは一様であってもよい)を開発ボリュームの評価結果として算出してもよい。第2例としてサーバ30は、「開発ボリューム」の指標と基準値との比較結果に対して数値(例えば、指標の基準値に対する差、または指標の基準値に対する比率の少なくとも1つに依存する数値)を割り当て、割り当てられた数値の重み付き和(重みは一様であってもよい)を開発ボリュームの評価結果として算出してもよい。或いは、サーバ30は、これらの重み付き和を加工することで開発ボリュームの評価結果を得るようにしてもよい。 As an example of evaluating the development volume, the server 30 may quantitatively evaluate the development volume by integrating the "development volume" index generated in step S131 or its individual evaluation results. As a first example, the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development volume" or its processed value as the development volume evaluation result. As a second example, the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the index of "development volume" and the reference value. ), and a weighted sum (the weight may be uniform) of the assigned numerical values may be calculated as the evaluation result of the development volume. Alternatively, the server 30 may obtain the evaluation result of the development volume by processing these weighted sums.
 また、サーバ30は、「開発ボリューム」の指標の各々が開発ボリュームの評価結果に及ぼした影響を分析してもよい。一例として、サーバ30は、影響の度合いを具体的な数値として導出してもよいし、影響の符号(正負)のみを特定してもよい。また、サーバ30は、負の影響の度合いが大きい指標を要改善指標として特定してもよい。負の影響の度合いが大きい指標は、負の影響の度合いが閾値を超える指標、または負の影響の度合いが上位N1位以内の指標(N1は任意の自然数)を含み得る。これらの分析結果は、評価結果に含められ得る。 Additionally, the server 30 may analyze the influence of each of the "development volume" indicators on the development volume evaluation result. As an example, the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence. Further, the server 30 may specify an index having a large degree of negative influence as an index requiring improvement. The index with a high degree of negative influence may include an index with a degree of negative influence exceeding a threshold value, or an index with a degree of negative influence within the top N1 (N1 is any natural number). These analysis results may be included in the evaluation results.
 開発効率の評価の例として、サーバ30は、ステップS131において生成した「開発効率」の指標またはその個別評価結果を統合することで、開発効率を定量的に評価してもよい。第1例として、サーバ30は、「開発効率」の指標またはその加工値の重み付き和(重みは一様であってもよい)を開発効率の評価結果として算出してもよい。第2例としてサーバ30は、「開発効率」の指標と基準値との比較結果に対して数値(例えば、指標の基準値に対する差、または指標の基準値に対する比率の少なくとも1つに依存する数値)を割り当て、割り当てられた数値の重み付き和(重みは一様であってもよい)を開発効率の評価結果として算出してもよい。或いは、サーバ30は、これらの重み付き和を加工することで開発効率の評価結果を得るようにしてもよい。 As an example of evaluating development efficiency, the server 30 may quantitatively evaluate development efficiency by integrating the "development efficiency" index or its individual evaluation results generated in step S131. As a first example, the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development efficiency" or its processed value as the evaluation result of development efficiency. As a second example, the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the index of "development efficiency" and the reference value. ) may be assigned, and a weighted sum (the weight may be uniform) of the assigned numerical values may be calculated as the evaluation result of development efficiency. Alternatively, the server 30 may obtain the development efficiency evaluation result by processing these weighted sums.
 また、サーバ30は、「開発効率」の指標の各々が開発効率の評価結果に及ぼした影響を分析してもよい。一例として、サーバ30は、影響の度合いを具体的な数値として導出してもよいし、影響の符号(正負)のみを特定してもよい。また、サーバ30は、負の影響の度合いが大きい指標を要改善指標として特定してもよい。負の影響の度合いが大きい指標は、負の影響の度合いが閾値を超える指標、または負の影響の度合いが上位N2位以内の指標(N2は任意の自然数)を含み得る。これらの分析結果は、評価結果に含められ得る。 Additionally, the server 30 may analyze the influence of each of the "development efficiency" indicators on the evaluation results of development efficiency. As an example, the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence. Further, the server 30 may specify an index having a large degree of negative influence as an index requiring improvement. The indicators with a high degree of negative influence may include indicators whose degree of negative influence exceeds a threshold value, or indicators whose degree of negative influence is within the top N2 (N2 is any natural number). These analysis results may be included in the evaluation results.
 開発クオリティの評価の例として、サーバ30は、ステップS131において生成した「開発クオリティ」の指標またはその個別評価結果を統合することで、開発クオリティを定量的に評価してもよい。第1例として、サーバ30は、「開発クオリティ」の指標またはその加工値の重み付き和(重みは一様であってもよい)を開発クオリティの評価結果として算出してもよい。第2例としてサーバ30は、「開発クオリティ」の指標と基準値との比較結果に対して数値(例えば、指標の基準値に対する差、または指標の基準値に対する比率の少なくとも1つに依存する数値)を割り当て、割り当てられた数値の重み付き和(重みは一様であってもよい)を開発クオリティの評価結果として算出してもよい。或いは、サーバ30は、これらの重み付き和を加工することで開発クオリティの評価結果を得るようにしてもよい。 As an example of evaluating the development quality, the server 30 may quantitatively evaluate the development quality by integrating the "development quality" index or its individual evaluation results generated in step S131. As a first example, the server 30 may calculate a weighted sum (the weight may be uniform) of an index of "development quality" or its processed value as the development quality evaluation result. As a second example, the server 30 provides a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) for the comparison result between the "development quality" index and the reference value. ), and a weighted sum of the assigned numerical values (the weights may be uniform) may be calculated as the development quality evaluation result. Alternatively, the server 30 may obtain the development quality evaluation result by processing these weighted sums.
 また、サーバ30は、「開発クオリティ」の指標の各々が開発クオリティの評価結果に及ぼした影響を分析してもよい。一例として、サーバ30は、影響の度合いを具体的な数値として導出してもよいし、影響の符号(正負)のみを特定してもよい。また、サーバ30は、負の影響の度合いが大きい指標を要改善指標として特定してもよい。負の影響の度合いが大きい指標は、負の影響の度合いが閾値を超える指標、または負の影響の度合いが上位N3位以内の指標(N3は任意の自然数)を含み得る。これらの分析結果は、評価結果に含められ得る。 Additionally, the server 30 may analyze the influence of each of the "development quality" indicators on the development quality evaluation results. As an example, the server 30 may derive the degree of influence as a specific numerical value, or may specify only the sign (positive or negative) of the influence. Further, the server 30 may specify an index having a large degree of negative influence as an index requiring improvement. The indicators with a high degree of negative influence may include indicators whose degree of negative influence exceeds a threshold value, or indicators whose degree of negative influence is within the top N3 (N3 is any natural number). These analysis results may be included in the evaluation results.
 開発パフォーマンスの総合評価の第1例として、サーバ30は、開発ボリューム、開発効率、または開発クオリティのうち少なくとも2つの評価結果を統合する。例えば、サーバ30は、複数の評価結果の重み付き和(重みは一様であってもよい)を開発パフォーマンスの総合評価結果として算出してもよい。開発パフォーマンスの総合評価の第2例として、サーバ30は、ステップS131において生成した各指標またはその個別評価結果を統合する。例えば、サーバ30は、各指標またはその加工値の重み付き和(重みは一様であってもよい)を開発パフォーマンスの総合評価結果として算出してもよい。或いは、サーバ30は、各指標と基準値との比較結果に対して数値(例えば、指標の基準値に対する差、または指標の基準値に対する比率の少なくとも1つに依存する数値)を割り当て、割り当てられた数値の重み付き和(重みは一様であってもよい)を開発パフォーマンスの総合評価結果として算出してもよい。或いは、サーバ30は、これらの重み付き和を加工することで開発パフォーマンスの総合評価結果を得るようにしてもよい。 As a first example of comprehensive evaluation of development performance, the server 30 integrates evaluation results of at least two of development volume, development efficiency, or development quality. For example, the server 30 may calculate a weighted sum (the weights may be uniform) of a plurality of evaluation results as the overall evaluation result of development performance. As a second example of comprehensive evaluation of development performance, the server 30 integrates each index generated in step S131 or its individual evaluation results. For example, the server 30 may calculate a weighted sum (the weight may be uniform) of each index or its processed value as the overall evaluation result of the development performance. Alternatively, the server 30 assigns a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value, or the ratio of the index to the reference value) to the comparison result between each index and the reference value. A weighted sum of the numerical values (the weights may be uniform) may be calculated as the overall evaluation result of the development performance. Alternatively, the server 30 may obtain a comprehensive evaluation result of development performance by processing these weighted sums.
 なお、サーバ30は、導出した評価結果を、図示しないデータベースに格納してもよい。これにより、サーバ30は、同一の対象チームおよび同一の対象期間が指定された場合に、パフォーマンスの評価(S132)を実行する代わりに、データベースに格納されている評価結果を読み出して利用することができる。また、サーバ30は、対象期間の長さに関わらず、対象期間に属する所定の時間単位(例えば日単位)における評価結果を導出してデータベースに格納し、当該対象期間に属する時間単位に亘って評価結果を統合することにより対象期間における評価結果を導出してもよい。これにより、過去に指定された対象期間と重複する対象期間が指定された場合であっても、過去に導出した評価結果を再利用してパフォーマンスの評価(S132)を実行できる。 Note that the server 30 may store the derived evaluation results in a database (not shown). As a result, when the same target team and the same target period are specified, the server 30 can read and use the evaluation results stored in the database instead of executing the performance evaluation (S132). can. In addition, regardless of the length of the target period, the server 30 derives the evaluation results in a predetermined time unit (for example, day unit) belonging to the target period, stores it in the database, and calculates the evaluation result over the time unit belonging to the target period. The evaluation results for the target period may be derived by integrating the evaluation results. Thereby, even if a target period that overlaps with a previously designated target period is specified, the performance evaluation (S132) can be executed by reusing the evaluation results derived in the past.
 ステップS132の後に、サーバ30は、評価応答(S133)を実行する。
 具体的には、サーバ30は、ステップS132において導出した評価結果をクライアント装置10のユーザに提示するための情報を含む評価応答を生成する。サーバ30は、生成した評価応答をクライアント装置10へ送信する。ここで、評価結果を提示するための情報は、例えば、クライアント装置10がディスプレイ21に表示させる画面を生成するための情報であってよい。
After step S132, the server 30 executes an evaluation response (S133).
Specifically, the server 30 generates an evaluation response that includes information for presenting the evaluation result derived in step S132 to the user of the client device 10. The server 30 transmits the generated evaluation response to the client device 10. Here, the information for presenting the evaluation results may be, for example, information for the client device 10 to generate a screen to be displayed on the display 21.
 ステップS133の後に、クライアント装置10は、情報提示(S111)を実行する。
 具体的には、クライアント装置10は、ステップS133において送信された評価応答を受信し、当該評価応答に基づく画面をディスプレイ21に表示させる。これにより、ユーザは、ステップS110において指定した対象チームによる対象期間における開発パフォーマンスの評価を確認することができる。
After step S133, the client device 10 executes information presentation (S111).
Specifically, the client device 10 receives the evaluation response transmitted in step S133, and causes the display 21 to display a screen based on the evaluation response. Thereby, the user can confirm the evaluation of the development performance during the target period by the target team specified in step S110.
 一例として、クライアント装置10は、図8に示す画面をディスプレイ21に表示させる。図8の画面は、オブジェクトJ20~J29を含む。 As an example, the client device 10 displays the screen shown in FIG. 8 on the display 21. The screen in FIG. 8 includes objects J20 to J29.
 オブジェクトJ20は、対象チームが属する組織の名称を表示する。
 オブジェクトJ21は、対象チームの名称(対象チームを特定可能な情報の一例)を表示する。オブジェクトJ21は、対象チームを変更する指示を受け付けるように構成されてもよい。この場合に、クライアント装置10のユーザは、当該ユーザに評価の閲覧権限が割り当てられているチームのいずれかを新たな対象チームとして選択する入力が認められる。
Object J20 displays the name of the organization to which the target team belongs.
Object J21 displays the name of the target team (an example of information that can identify the target team). The object J21 may be configured to receive an instruction to change the target team. In this case, the user of the client device 10 is allowed to input to select any of the teams to which the user is assigned evaluation viewing authority as a new target team.
 対象チームが変更された場合に、クライアント装置10は、ディスプレイ21の画面(例えば、後述するオブジェクトJ26~J29の表示内容)を更新する。クライアント装置10は、ディスプレイ21に更新後の画面を表示させるための情報(例えば、対象期間における変更後の対象チームの評価結果)をサーバ30に要求してもよい。この場合に、サーバ30は、変更後の対象チームに関して、ステップS130~S132と同様の処理を行ってよい。或いは、かかる情報は、ステップS133における評価応答に予め含められていてもよい。 When the target team is changed, the client device 10 updates the screen of the display 21 (for example, the display contents of objects J26 to J29, which will be described later). The client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team after the change in the target period). In this case, the server 30 may perform the same processing as steps S130 to S132 regarding the changed target team. Alternatively, such information may be included in the evaluation response in step S133 in advance.
 オブジェクトJ22は、対象期間の開始日および終了日(対象期間を特定可能な情報の一例)を表示する。オブジェクトJ22は、対象期間を変更する指示を受け付けるように構成されてもよい。この場合に、クライアント装置10のユーザは、対象期間の開始日または終了日の少なくとも1つを変更する入力が認められる。 The object J22 displays the start date and end date of the target period (an example of information that can identify the target period). The object J22 may be configured to receive an instruction to change the target period. In this case, the user of the client device 10 is allowed to input to change at least one of the start date and end date of the target period.
 オブジェクトJ23は、対象期間を指定するための指示を受け付ける。オブジェクトJ23が選択されると、クライアント装置10はカレンダーUI(User Interface)を表示し、ユーザは当該カレンダーUI上で対象期間を指定する入力を行うことができる。 Object J23 accepts an instruction to specify a target period. When the object J23 is selected, the client device 10 displays a calendar UI (User Interface), and the user can input to specify a target period on the calendar UI.
 対象期間が変更された場合に、クライアント装置10は、ディスプレイ21の画面(例えば、後述するオブジェクトJ26~J29の表示内容)を更新する。クライアント装置10は、ディスプレイ21に更新後の画面を表示させるための情報(例えば、変更後の対象期間における対象チームの評価結果)をサーバ30に要求してもよい。この場合に、サーバ30は、変更後の対象期間に関して、ステップS130~S132と同様の処理を行ってよい。或いは、かかる情報は、ステップS133における評価応答に予め含められていてもよい。 When the target period is changed, the client device 10 updates the screen of the display 21 (for example, the display contents of objects J26 to J29, which will be described later). The client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team in the target period after the change). In this case, the server 30 may perform the same processing as steps S130 to S132 regarding the changed target period. Alternatively, such information may be included in the evaluation response in step S133 in advance.
 オブジェクトJ24は、対象チームと他チームとの比較結果を示す画面への切り替え指示を受け付ける。オブジェクトJ24が選択されると、クライアント装置10はディスプレイ21の画面の切り替えを行う。 Object J24 receives an instruction to switch to a screen showing the comparison results between the target team and other teams. When the object J24 is selected, the client device 10 switches the screen on the display 21.
 オブジェクトJ24が選択された場合に、クライアント装置10は、ディスプレイ21に切り替え後の画面(例えば後述する図10の画面)を表示させるための情報(例えば、比較対象となる他チームの指標または評価結果の情報)をサーバ30に要求してもよい。この場合に、サーバ30は、他チームに関して、ステップS130~S132と同様の処理を行ってよい。或いは、かかる情報は、ステップS133における評価応答に予め含められていてもよい。 When object J24 is selected, client device 10 displays information (for example, indicators or evaluation results of other teams to be compared) for displaying a screen after switching (for example, the screen in FIG. 10 described later) on display 21. information) may be requested from the server 30. In this case, the server 30 may perform the same processing as steps S130 to S132 regarding the other teams. Alternatively, such information may be included in the evaluation response in step S133 in advance.
 オブジェクトJ25は、対象チームの評価結果を時系列で比較する画面への切り替え指示を受け付ける。オブジェクトJ25が選択されると、クライアント装置10はディスプレイ21の画面の切り替えを行う。 The object J25 receives an instruction to switch to a screen that compares the evaluation results of the target teams in chronological order. When the object J25 is selected, the client device 10 switches the screen on the display 21.
 オブジェクトJ25が選択された場合に、クライアント装置10は、ディスプレイ21に切り替え後の画面(例えば後述する図11の画面)を表示させるための情報(例えば、対象チームの対象期間以外の期間における評価結果の情報)をサーバ30に要求してもよい。この場合に、サーバ30は、対象期間以外の期間に関して、ステップS130~S132と同様の処理を行ってよい。或いは、かかる情報は、ステップS133における評価応答に予め含められていてもよい。 When the object J25 is selected, the client device 10 displays information (for example, evaluation results of the target team in a period other than the target period) for displaying a screen after switching (for example, the screen in FIG. 11 described later) on the display 21. information) may be requested from the server 30. In this case, the server 30 may perform the same processing as steps S130 to S132 for periods other than the target period. Alternatively, such information may be included in the evaluation response in step S133 in advance.
 オブジェクトJ26は、対象期間における対象チームによる開発パフォーマンスの総合評価結果、開発ボリュームの評価結果、開発効率の評価結果、および開発クオリティの評価結果を表示する。図8の例では、開発パフォーマンスの総合評価結果は任意の段階のレーティング(図8の例では星マークの数であるが、SABCDのようなアルファベットによるランクであってもよい)で表現されており、その他の評価結果は最高100点で0.1点刻みの点数で表現されている。ただし、これらの表現は例示に過ぎず、任意の評価結果が任意の態様で表現されてよい。例えば、各評価結果が、平均値からの隔たりを表す指数(例えば、偏差値)として表現されてもよい。この場合に、平均値または標準偏差として、実際の統計値が使用されてもよいし、予め定められた値が使用されてもよい。 The object J26 displays the overall evaluation result of the development performance by the target team during the target period, the evaluation result of the development volume, the evaluation result of the development efficiency, and the evaluation result of the development quality. In the example in Figure 8, the overall evaluation result of development performance is expressed as a rating at an arbitrary stage (in the example in Figure 8, it is the number of stars, but it may also be an alphabetical rank like SABCD). , and other evaluation results are expressed in scores with a maximum of 100 points in 0.1 point increments. However, these expressions are merely examples, and any evaluation result may be expressed in any manner. For example, each evaluation result may be expressed as an index (for example, a deviation value) representing the distance from the average value. In this case, an actual statistical value may be used as the average value or standard deviation, or a predetermined value may be used.
 オブジェクトJ27は、「開発ボリューム」の指標の個別評価結果を表示する。図8の例では、オブジェクトJ27は、各指標の個別評価結果を表現するテキストを表示する。さらに、オブジェクトJ27では、開発ボリュームの評価結果に正の影響を及ぼした指標に対応するテキストが[Good]欄に配置され、開発ボリュームの評価結果に負の影響を及ぼした指標に対応するテキストが[Bad]欄に配置されている。つまり、ユーザは、いずれの指標が正の影響または負の影響を及ぼしたかを容易に判別できる。 Object J27 displays the individual evaluation results of the "development volume" index. In the example of FIG. 8, object J27 displays text expressing the individual evaluation results of each index. Furthermore, in object J27, text corresponding to the index that had a positive influence on the evaluation result of the development volume is placed in the [Good] column, and text corresponding to the index that had a negative influence on the evaluation result of the development volume is placed in the [Good] column. It is placed in the [Bad] column. In other words, the user can easily determine which index has had a positive influence or a negative influence.
 また、オブジェクトJ27は、オブジェクトJ27aを含む。オブジェクトJ27aが選択されると、クライアント装置10は、「開発ボリューム」の指標の個別評価結果の詳細を表示する。一例として、クライアント装置10は、グラフを表示する。グラフは、例えば、任意の「開発ボリューム」の指標の値またはその加工値と、対応する基準値とを視覚的に対比して表現し得る。グラフで表現される指標は、ユーザ指示に応じて切り替えられてよい。グラフの例を図9に示す。 Furthermore, the object J27 includes an object J27a. When the object J27a is selected, the client device 10 displays details of the individual evaluation results of the "development volume" index. As an example, the client device 10 displays a graph. The graph may, for example, visually compare and express the value of an arbitrary "development volume" index or its processed value and the corresponding reference value. The indicators expressed in the graph may be switched according to user instructions. An example of the graph is shown in FIG.
 図9のグラフは、メンバー数に対するマージ済みプルリク数を表現する。図9中の星印は、対象期間における対象チームのメンバー数およびマージ済みプルリク数を表すデータポイントである。また、図9中の黒丸印は、他のデータポイントである。他のデータポイントは、例えば以下の少なくとも1つを含む。
・対象期間における他のチームのメンバー数およびマージ済みプルリク数を表すデータポイント
・対象期間以外の期間における対象チームのメンバー数およびマージ済みプルリク数を表すデータポイント
・対象期間以外の期間における他のチームのメンバー数およびマージ済みプルリク数を表すデータポイント
The graph in FIG. 9 expresses the number of merged pull requests relative to the number of members. The stars in FIG. 9 are data points representing the number of members of the target team and the number of merged pull requests during the target period. Moreover, the black circles in FIG. 9 are other data points. Other data points include, for example, at least one of the following:
・Data points that represent the number of members of other teams and the number of merged pull requests during the target period ・Data points that represent the number of members of the target team and the number of merged pull requests during the period other than the target period ・Other teams during the period other than the target period Data points representing number of members and number of merged pull requests in
 図9中の直線は、対象期間内に稼働のあったメンバー数を説明変数とし、マージ済みプルリク数を目的変数とした場合の回帰直線を表す。回帰直線は、星印および黒丸印に対応するデータポイントを元に線形回帰を計算することで導出される。ユーザは、図9のグラフを確認することで、対象期間における対象チームのマージ済みプルリク数が、メンバー数に対する予測値(つまり、回帰直線上で対象チームのメンバー数に対応する値であり、基準値の一例)に比べてどの程度優れているかを把握することができる。サーバ30は、他の指標についても同様の態様で表示することができる。なお、対象期間内に稼働のあったメンバー数の代わりに、各チームに属する全メンバー数(つまり、各チームに対応するリポジトリに紐付けられているエンジニアの数)を説明変数として用いることもできる。また、回帰直線の代わりに回帰曲線によって、メンバー数に対応するマージ済みプルリク数が近似されてよい。さらに、近似に用いる関数は、例えば情報処理システム1の運営者が選択可能であってよい。 The straight line in FIG. 9 represents a regression line when the number of active members within the target period is used as an explanatory variable and the number of merged pull requests is used as an objective variable. The regression line is derived by calculating linear regression based on the data points corresponding to the stars and black circles. By checking the graph in Figure 9, the user can determine that the number of merged pull requests of the target team during the target period is the predicted value for the number of members (that is, the value corresponding to the number of members of the target team on the regression line, and (Example of value) The server 30 can display other indicators in a similar manner. Note that instead of the number of members working during the target period, the total number of members belonging to each team (that is, the number of engineers linked to the repository corresponding to each team) can also be used as an explanatory variable. . Further, the number of merged pull requests corresponding to the number of members may be approximated by a regression curve instead of a regression line. Furthermore, the function used for approximation may be selectable by, for example, the operator of the information processing system 1.
 オブジェクトJ28は、「開発効率」の指標の個別評価結果を表示する。図8の例では、オブジェクトJ28は、各指標の個別評価結果を表現するテキストを表示する。さらに、オブジェクト27では、開発効率の評価結果に正の影響を及ぼした指標に対応するテキストが[Good]欄に配置され、開発効率の評価結果に負の影響を及ぼした指標に対応するテキストが[Bad]欄に配置されている。 Object J28 displays the individual evaluation results of the "development efficiency" index. In the example of FIG. 8, object J28 displays text expressing the individual evaluation results of each index. Furthermore, in object 27, text corresponding to indicators that had a positive impact on the development efficiency evaluation result is placed in the [Good] column, and text corresponding to indicators that had a negative impact on the development efficiency evaluation result is placed in the [Good] column. It is placed in the [Bad] column.
 また、オブジェクトJ28は、オブジェクトJ28aを含む。オブジェクトJ28aが選択されると、クライアント装置10は、「開発効率」の指標の個別評価結果の詳細を表示する。一例として、クライアント装置10は、グラフを表示する。グラフは、例えば、任意の「開発ボリューム」の指標の値またはその加工値と、対応する基準値とを視覚的に対比して表現し得る。グラフで表現される指標は、ユーザ指示に応じて切り替えられてよい。 Furthermore, the object J28 includes an object J28a. When the object J28a is selected, the client device 10 displays details of the individual evaluation results of the "development efficiency" index. As an example, the client device 10 displays a graph. The graph may, for example, visually compare and express the value of an arbitrary "development volume" index or its processed value and the corresponding reference value. The indicators expressed in the graph may be switched according to user instructions.
 オブジェクトJ29は、「開発クオリティ」の指標の個別評価結果を表示する。なお、図示していないが、オブジェクトJ29は、各指標の個別評価結果を表現するテキストを表示する。さらに、オブジェクト27では、開発クオリティの評価結果に正の影響を及ぼした指標に対応するテキストが[Good]欄に配置され、開発クオリティの評価結果に負の影響を及ぼした指標に対応するテキストが[Bad]欄に配置されている。 Object J29 displays the individual evaluation results of the "development quality" index. Although not shown, the object J29 displays text expressing the individual evaluation results of each index. Furthermore, in object 27, text corresponding to indicators that had a positive impact on the development quality evaluation result is placed in the [Good] column, and text corresponding to indicators that had a negative impact on the development quality evaluation result is placed in the [Good] column. It is placed in the [Bad] column.
 また、オブジェクトJ29は、オブジェクトJ29aを含む。オブジェクトJ29aが選択されると、クライアント装置10は、「開発クオリティ」の指標の個別評価結果の詳細を表示する。一例として、クライアント装置10は、グラフを表示する。グラフは、例えば、任意の「開発ボリューム」の指標の値またはその加工値と、対応する基準値とを視覚的に対比して表現し得る。グラフで表現される指標は、ユーザ指示に応じて切り替えられてよい。 Furthermore, the object J29 includes an object J29a. When the object J29a is selected, the client device 10 displays details of the individual evaluation results of the "development quality" index. As an example, the client device 10 displays a graph. The graph may, for example, visually compare and express the value of an arbitrary "development volume" index or its processed value and the corresponding reference value. The indicators expressed in the graph may be switched according to user instructions.
 前述のように、例えばオブジェクトJ24が選択された場合に、クライアント装置10は、図10の画面をディスプレイ21に表示させることができる。図10の画面は、オブジェクトJ20~23、J25、J30~J31を含む。オブジェクトJ20~23、J25は、前述のとおりである。 As described above, when the object J24 is selected, for example, the client device 10 can display the screen of FIG. 10 on the display 21. The screen in FIG. 10 includes objects J20-23, J25, and J30-J31. Objects J20 to J23 and J25 are as described above.
 オブジェクトJ30は、対象チームの評価サマリを示す画面(例えば図8の画面)への切り替え指示を受け付ける。オブジェクトJ30が選択されると、クライアント装置10はディスプレイ21の画面の切り替えを行う。 The object J30 receives an instruction to switch to a screen (for example, the screen in FIG. 8) showing the evaluation summary of the target team. When the object J30 is selected, the client device 10 switches the screen on the display 21.
 オブジェクトJ31は、対象期間における対象チームの評価結果と、対象期間における比較相手の評価結果とを対比して視覚的に表現するグラフ(レーダーチャート)を表示する。図10の例では、評価結果は、開発パフォーマンスの総合評価結果、ならびに開発ボリューム、開発効率、および開発クオリティの評価結果を含むが、これらは例示に過ぎない。また、グラフの種類もレーダーチャートに限られない。なお、比較相手の評価結果は、以下のいずれであってもよい。
・他の全チームの評価結果の平均、中央値、もしくは最頻値、またはこれらに基づく統計的数値範囲(例えば四分位範囲)
・他の特定の複数チームの評価結果の平均、中央値、もしくは最頻値、またはこれらに基づく統計的数値範囲
・他の無作為抽出された複数チームの評価結果の平均、中央値、もしくは最頻値、またはこれらに基づく統計的数値範囲
・他の特定のチームの評価結果
Object J31 displays a graph (radar chart) that visually represents the evaluation results of the target team in the target period and the comparison partner's evaluation results in the target period. In the example of FIG. 10, the evaluation results include comprehensive evaluation results of development performance, and evaluation results of development volume, development efficiency, and development quality, but these are merely examples. Furthermore, the type of graph is not limited to radar charts. Note that the evaluation results of the comparison partner may be any of the following.
・The average, median, or mode of the evaluation results of all other teams, or a statistical numerical range based on these (e.g., interquartile range)
・The average, median, or mode of the evaluation results of other specific multiple teams, or statistical numerical ranges based on these ・The average, median, or maximum of the evaluation results of other randomly selected multiple teams Frequency values or statistical numerical ranges based on these/other specific team evaluation results
 比較相手となるチームは、ユーザによって指定されてもよいし、対象チームの開発分野または業界に基づいて決定されてもよい。比較相手となるチームは、対象チームが属する組織に属する他のチームであってもよいし、異なる組織に属する他のチームであってもよい。サーバ30は、比較相手(比較相手との候補を含む)となるチームが、対象チームと異なる組織に属する場合に、当該チームの情報を、匿名化した状態で提供してもよい。また、サーバ30は、対象チームの情報を、他組織に属するチームとの比較のために提供するか否か、また提供する場合の条件を、ユーザ指示に応じて設定してもよい。 The team to be compared may be specified by the user, or may be determined based on the development field or industry of the target team. The team to be compared may be another team belonging to the organization to which the target team belongs, or may be another team belonging to a different organization. When a team to be a comparison partner (including a candidate for a comparison partner) belongs to a different organization from the target team, the server 30 may provide information about the team in an anonymized state. Further, the server 30 may set whether or not to provide information on the target team for comparison with teams belonging to other organizations, and the conditions for providing the information, in accordance with user instructions.
 図示しないが、図10の画面は、さらに、対象期間における対象チームの各カテゴリの個別指標の評価結果と、対象期間における比較相手の各カテゴリの個別指標の評価結果とを対して視覚的に表現するグラフを表示するオブジェクトを含むことができる。 Although not shown, the screen in FIG. 10 also visually represents the evaluation results of individual indicators for each category of the target team during the target period and the evaluation results of individual indicators for each category of the comparison partner during the target period. Contains an object that displays a graph.
 前述のように、例えばオブジェクトJ25が選択された場合に、クライアント装置10は、図11の画面をディスプレイ21に表示させることができる。図11の画面は、オブジェクトJ20~24、J30、J40~J42を含む。オブジェクトJ20~24、J30は、前述のとおりである。 As described above, when the object J25 is selected, for example, the client device 10 can display the screen of FIG. 11 on the display 21. The screen in FIG. 11 includes objects J20-24, J30, and J40-J42. Objects J20 to J24 and J30 are as described above.
 オブジェクトJ40は、対象期間における対象チームの評価結果と、対象期間とは異なる期間における対象チームの評価結果とを対比して視覚的に表現するグラフ(折れ線グラフ)を表示する。図11の例では、評価結果は、開発パフォーマンスの総合評価結果、ならびに開発ボリューム、開発効率、および開発クオリティの評価結果を含むが、これらは例示に過ぎない。また、グラフの種類も折れ線グラフに限られない。 The object J40 displays a graph (line graph) that visually represents the evaluation results of the target team in the target period and the evaluation results of the target team in a period different from the target period. In the example of FIG. 11, the evaluation results include comprehensive evaluation results of development performance, and evaluation results of development volume, development efficiency, and development quality, but these are merely examples. Furthermore, the type of graph is not limited to a line graph.
 オブジェクトJ41は、オブジェクトJ40に表示されるグラフを構成する分析単位の数を指定するユーザ指示を受け付ける。ここで、分析単位は、評価が行われる時間的範囲を意味しており、典型的には、日、週、月、四半期、または年のいずれかである。
 オブジェクトJ42は、オブジェクトJ40に表示されるグラフを構成する分析単位を指定するユーザ指示を受け付ける。
 つまり、図11の例では、オブジェクトJ40に表示されるグラフは、4ヶ月分に亘る、1ヶ月単位の評価結果を含んでいる。
Object J41 accepts a user instruction specifying the number of analysis units that make up the graph displayed in object J40. Here, the unit of analysis refers to the time range over which the evaluation is performed, and is typically one of days, weeks, months, quarters, or years.
Object J42 accepts a user instruction specifying the analysis unit that constitutes the graph displayed on object J40.
That is, in the example of FIG. 11, the graph displayed in object J40 includes evaluation results for four months in units of one month.
 分析単位の数、または分析単位が変更された場合に、クライアント装置10は、ディスプレイ21の画面(例えば、オブジェクトJ40の表示内容)を更新する。クライアント装置10は、ディスプレイ21に更新後の画面を表示させるための情報(例えば、変更後の対象期間における対象チームの評価結果)をサーバ30に要求してもよい。この場合に、サーバ30は、変更後の対象期間に関して、ステップS130~S132と同様の処理を行ってよい。或いは、かかる情報は、図11の画面の表示前にサーバ30から受信した応答に予め含められていてもよい。 When the number of analysis units or the analysis unit is changed, the client device 10 updates the screen of the display 21 (for example, the display content of the object J40). The client device 10 may request the server 30 for information for displaying the updated screen on the display 21 (for example, the evaluation results of the target team in the target period after the change). In this case, the server 30 may perform the same processing as steps S130 to S132 regarding the changed target period. Alternatively, such information may be included in advance in the response received from the server 30 before the screen of FIG. 11 is displayed.
 図示しないが、図11の画面は、さらに、対象期間における対象チームの各カテゴリの個別指標の評価結果と、対象期間とは異なる期間における対象チームの各カテゴリの個別指標の評価結果とを対して視覚的に表現するグラフを表示するオブジェクトを含むことができる。 Although not shown, the screen in FIG. 11 further compares the evaluation results of individual indicators for each category of the target team in the target period with the evaluation results of individual indicators for each category of the target team in a period different from the target period. It can contain objects that display graphs that are visually represented.
(5)小括
 以上説明したように、本実施形態のサーバ30は、対象チームに属するメンバーが外部システム50を利用することで当該外部システム50に保存された、当該メンバーの開発活動情報に基づいて、当該対象チームによる開発パフォーマンスに関する複数の指標を生成し、当該指標に基づいて当該対象チームによる開発パフォーマンスを評価する。これにより、複数の指標を介した、対象チームのメンバーの開発活動情報の多面的な分析に基づいて当該対象チームによる開発パフォーマンスを適切に評価することができる。
(5) Summary As explained above, the server 30 of this embodiment is based on the development activity information of the member belonging to the target team stored in the external system 50 when the member uses the external system 50. Then, a plurality of indicators regarding the development performance of the target team are generated, and the development performance of the target team is evaluated based on the indicators. Thereby, the development performance of the target team can be appropriately evaluated based on a multifaceted analysis of the development activity information of the members of the target team using a plurality of indicators.
 複数の指標は、開発ボリューム、開発効率、または開発クオリティの少なくとも1つに関するものであってよい。これにより、対象チームによる開発パフォーマンスを、開発ボリューム、開発効率、または開発クオリティの少なくとも1つの観点から評価することができる。 The plurality of indicators may relate to at least one of development volume, development efficiency, or development quality. Thereby, the development performance by the target team can be evaluated from at least one of the viewpoints of development volume, development efficiency, or development quality.
 サーバ30は、複数の指標の少なくとも1つが特定の指標に該当する場合に、対象チームに含まれるメンバーの数に基づいて当該特定の指標を評価してもよい。これにより、対象チームに含まれるメンバーの大小が及ぼす影響を抑制して特定の指標を評価することができる。 When at least one of the plurality of indicators corresponds to a specific indicator, the server 30 may evaluate the specific indicator based on the number of members included in the target team. This makes it possible to evaluate a specific index while suppressing the influence of the size of the members included in the target team.
 サーバ30は、対象チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つを定量的に評価してもよい。これにより、対象チームの開発パフォーマンスを比較容易な形式で表現することができる。 The server 30 may quantitatively evaluate at least one of the target team's development volume, development efficiency, development quality, or overall development performance. This allows the development performance of the target team to be expressed in a format that is easy to compare.
 サーバ30は、複数の指標の少なくとも1つが対象チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした影響を分析してもよい。これにより、各指標が最終的な評価結果にどの程度影響を及ぼしているのかを特定することができる。また、サーバ30は、複数の指標の少なくとも1つが対象チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に正負いずれの影響を及ぼしたかを分析してもよい。これにより、対象チームの強みまたは弱みを特定することができる。 The server 30 may analyze the influence of at least one of the plurality of indicators on at least one quantitative evaluation of the target team's development volume, development efficiency, development quality, or overall development performance. This makes it possible to identify how much influence each index has on the final evaluation result. Additionally, the server 30 analyzes whether at least one of the plurality of indicators had a positive or negative impact on at least one quantitative evaluation of the target team's development volume, development efficiency, development quality, or overall development performance. You can. This allows you to identify the strengths or weaknesses of the target team.
 サーバ30は、複数の指標の少なくとも1つについて基準値と比較することで、当該指標を個別に評価してもよい。これにより、各指標の良し悪しを判断するための材料を提供することができる。 The server 30 may evaluate at least one of the plurality of indicators individually by comparing it with a reference value. This makes it possible to provide materials for determining the quality of each index.
 サーバ30は、対象チームによる開発パフォーマンスの評価結果を、他のチームによる開発パフォーマンスの評価結果、または異なる期間における当該対象チームによる開発パフォーマンスの評価結果と比較してもよい。これにより、対象チームによる開発パフォーマンスの評価結果の良し悪しを判断するための材料を提供することができる。 The server 30 may compare the development performance evaluation result by the target team with the development performance evaluation result by another team or the development performance evaluation result by the target team in a different period. This makes it possible to provide materials for determining whether the evaluation results of the development performance by the target team are good or bad.
 開発活動情報は、外部システム50に保存されているソースコードに関して、対象チームに属するメンバーにより行われた活動を特定可能な情報と、当該活動が行われた日時を特定可能な情報とを含んでもよい。これにより、適切な指標を作成することができる。 The development activity information may include information that can identify the activities performed by members of the target team regarding the source code stored in the external system 50, and information that can identify the date and time when the activities were performed. good. This makes it possible to create appropriate indicators.
(6)その他の変形例
 記憶装置11は、ネットワークNWを介して、クライアント装置10と接続されてもよい。ディスプレイ21は、クライアント装置10と一体化されてもよい。記憶装置31は、ネットワークNWを介して、サーバ30と接続されてもよい。
(6) Other Modifications The storage device 11 may be connected to the client device 10 via the network NW. Display 21 may be integrated with client device 10 . The storage device 31 may be connected to the server 30 via the network NW.
 上記の情報処理の各ステップは、クライアント装置10及びサーバ30の何れでも実行可能である。例えば、サーバ30が実行するとして説明された処理を、クライアント装置10が実行してもよい。 Each step of the above information processing can be executed by either the client device 10 or the server 30. For example, the client device 10 may execute the processing described as being executed by the server 30.
 また、上記説明では、情報処理において各ステップを特定の順序で実行する例を示したが、各ステップの実行順序は、依存関係がない限りは説明した例に制限されない。 Furthermore, in the above description, an example was shown in which each step in information processing is executed in a specific order, but the execution order of each step is not limited to the example described as long as there is no dependency relationship.
 上記説明では、複数の指標の少なくとも1つが対象チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした影響を分析する例を示した。この場合に、サーバ30は、上記定量的な評価に及ぼした負の影響が最も大きい指標を分析してもよい。これにより、対象チームの最も大きな弱みを特定することができる。本変形例において、負の影響が最も大きい指標に関する情報が、他の指標に関する情報に比べて例えば強調して提示されてよい。また、正の影響についても同様の処理が可能である。 In the above explanation, an example was shown in which the influence of at least one of the plurality of indicators on at least one quantitative evaluation of the target team's development volume, development efficiency, development quality, or overall development performance was analyzed. In this case, the server 30 may analyze the index that has the greatest negative impact on the quantitative evaluation. This allows you to identify the target team's biggest weaknesses. In this modification, information regarding an index that has the greatest negative influence may be presented in a manner that is emphasized, for example, compared to information regarding other indexes. Similar processing is also possible for positive effects.
 上記説明では、クライアント装置10がユーザ指示に応じて対象チームの評価を要求する例を示した。しかしながら、サーバ30は、クライアント装置10からの評価要求によらずに、対象チームの評価を繰り返し(例えば所定の周期で)実行してもよい。さらに、サーバ30は、対象チームの評価結果(例えば、対象チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価結果)について所定の条件が成立する場合に、例えばユーザ宛に通知を行ってもよい。所定の条件は、例えば評価結果が閾値を下回ること、であってよい。通知は、アプリ画面、またはウェブサイト画面上で行われてもよいし、メールまたはその他のメッセージ(例えば、SNS(Social Networking Service)メッセージ、SMS(Short Message Service)メッセージ、など)を用いて行われてもよい。通知は、所定条件が成立したことを伝える情報を含んでいてもよいし、対象チームの開発パフォーマンスの評価結果(またはその一部)の情報を含んでいてもよい。これにより、ユーザは、対象チームの開発パフォーマンスを能動的に頻繁に確認せずとも、上記所定の条件の成立時に対象チームの開発パフォーマンスを速やかに把握することができる。 In the above description, an example was shown in which the client device 10 requests evaluation of the target team in response to a user instruction. However, the server 30 may repeatedly evaluate the target team (for example, at a predetermined cycle) without depending on the evaluation request from the client device 10. Furthermore, if a predetermined condition is satisfied regarding the target team's evaluation results (for example, at least one quantitative evaluation result of the target team's development volume, development efficiency, development quality, or overall development performance), the server 30 For example, a notification may be sent to the user. The predetermined condition may be, for example, that the evaluation result is below a threshold. Notifications may be made on the app screen or website screen, or by using email or other messages (e.g., SNS (Social Networking Service) messages, SMS (Short Message Service) messages, etc.). You can. The notification may include information that indicates that a predetermined condition has been met, or may include information about the evaluation result (or a part thereof) of the target team's development performance. Thereby, the user can quickly grasp the development performance of the target team when the predetermined condition is met without actively checking the development performance of the target team frequently.
 上記説明では、対象チームの開発パフォーマンスを評価する例を示した。サーバ30は、同一の組織に属する全チームの各々について生成した複数の指標、または当該組織に属する全チームの各々の開発パフォーマンスの評価結果の少なくとも1つに基づいて、当該組織の開発パフォーマンスを評価してもよい。第1例として、サーバ30は、各チームの評価結果を統合する。例えば、サーバ30は、各チームの評価結果の重み付き和(重みは一様であってもよい)を組織の開発パフォーマンスの総合評価結果として算出してもよい。第2例として、サーバ30は、各チームについて生成した各指標またはその個別評価結果を統合する。例えば、サーバ30は、各指標またはその加工値の重み付き和(重みは一様であってもよい)を組織の開発パフォーマンスの総合評価結果として算出してもよい。或いは、サーバ30は、各指標と基準値との比較結果に対して数値(例えば、指標の基準値に対する差、または指標の基準値に対する比率の少なくとも1つに依存する数値)を割り当て、割り当てられた数値の重み付き和(重みは一様であってもよい)を組織の開発パフォーマンスの総合評価結果として算出してもよい。或いは、サーバ30は、これらの重み付き和を加工することで組織の開発パフォーマンスの総合評価結果を得るようにしてもよい。これにより、1以上のチームによって構成される組織による開発パフォーマンスを適切に評価することができる。 The above explanation shows an example of evaluating the development performance of the target team. The server 30 evaluates the development performance of the organization based on at least one of a plurality of indicators generated for each of all the teams belonging to the same organization, or the evaluation results of the development performance of all the teams belonging to the organization. You may. As a first example, the server 30 integrates the evaluation results of each team. For example, the server 30 may calculate a weighted sum (the weights may be uniform) of the evaluation results of each team as the overall evaluation result of the organization's development performance. As a second example, the server 30 integrates each index generated for each team or its individual evaluation results. For example, the server 30 may calculate a weighted sum (the weight may be uniform) of each index or its processed value as the overall evaluation result of the organization's development performance. Alternatively, the server 30 assigns a numerical value (for example, a numerical value that depends on at least one of the difference between the index and the reference value or the ratio of the index to the reference value) to the comparison result between each index and the reference value. A weighted sum of the numerical values (the weights may be uniform) may be calculated as the overall evaluation result of the organization's development performance. Alternatively, the server 30 may obtain a comprehensive evaluation result of the organization's development performance by processing these weighted sums. This makes it possible to appropriately evaluate the development performance of an organization made up of one or more teams.
 サーバ30は、対象チームによる開発パフォーマンスの評価結果を含む、当該対象チームの属する組織の求人情報を公開してもよい。或いは、サーバ30は、対象チームの属する組織による開発パフォーマンスの評価結果を含む当該組織の求人情報を公開してもよい。これにより、対象チームまたは組織による開発パフォーマンスの評価結果を、求職者に対する組織のアピール材料として活用することができる。さらなる変形例として、サーバ30は、評価結果について所定の条件が成立した場合に限って、当該評価結果を含む求人情報を公開してもよい。例えば、所定の条件とは、評価結果が閾値を上回ること、であってよい。これにより、良好でない評価結果(つまり、求職者に対するアピール材料とならない評価結果)を含んだ求人情報が公開される事態を防ぐことができる。なお、本変形例で説明した処理は、サーバ30と、外部装置(例えば求人システムにおけるサーバ)と協同で実行してもよい。この場合に、外部装置は、サーバ30から対象チームまたは組織による開発パフォーマンスの評価結果を取得する。 The server 30 may publish recruitment information of the organization to which the target team belongs, including the evaluation results of the development performance by the target team. Alternatively, the server 30 may publish recruitment information of the organization to which the target team belongs, including evaluation results of development performance by the organization. As a result, the evaluation results of the development performance by the target team or organization can be used as materials for promoting the organization to job seekers. As a further modification, the server 30 may publish job information including the evaluation results only when a predetermined condition is satisfied regarding the evaluation results. For example, the predetermined condition may be that the evaluation result exceeds a threshold value. This can prevent job information that includes unfavorable evaluation results (that is, evaluation results that do not appeal to job seekers) from being made public. Note that the processing described in this modification may be executed in cooperation with the server 30 and an external device (for example, a server in a recruitment system). In this case, the external device obtains the evaluation result of the development performance by the target team or organization from the server 30.
 サーバ30は、各チームによる開発パフォーマンスの評価結果のランキングを公開してもよい。或いは、サーバ30は、各組織による開発パフォーマンスの評価結果のランキングを公開してもよい。ランキングは、チームまたは組織の属性別に集計されてよい。チームの属性は、例えば規模、または開発分野を含む。組織の属性は、例えば、規模、設立からの経過年数、業界、または本社所在地を含む。さらなる変形例として、サーバ30は、所定の順位よりも低い順位に位置づけられたチームまたは組織の情報を公開の対象から除外してもよい。なお、本変形例で説明した処理は、サーバ30と、外部装置と協同で実行してもよい。この場合に、外部装置は、サーバ30から各チームまたは各組織による開発パフォーマンスの評価結果を取得する。 The server 30 may publish rankings of evaluation results of development performance by each team. Alternatively, the server 30 may publish rankings of evaluation results of development performance by each organization. Rankings may be compiled by team or organization attributes. Team attributes include, for example, size or development area. Organizational attributes include, for example, size, years since establishment, industry, or location of headquarters. As a further modification, the server 30 may exclude information about teams or organizations ranked lower than a predetermined ranking from disclosure. Note that the processing described in this modification may be executed in cooperation with the server 30 and an external device. In this case, the external device acquires the evaluation results of development performance by each team or each organization from the server 30.
 上記説明では、開発クオリティを独立した項目として評価する例を示した。しかしながら、開発クオリティを評価の対象から除外し、その代わりに、「開発クオリティ」の指標(例えば関連する平均変更行数)を、他の項目(例えば開発ボリューム)の評価を調整するために用いてもよい。具体的には、開発ボリュームの指標(例えばプルリク作成数等)を、開発クオリティの指標に基づいて重み付けする補正が行われてよい。重み付けは、例えば、開発クオリティの指標の評価が高い(一例として適正値に近い)ほど、開発ボリュームの指標により大きな補正係数を乗じることで行われ得る。 In the above explanation, an example was shown in which development quality was evaluated as an independent item. However, it is possible to exclude development quality from the evaluation and instead use indicators of "development quality" (e.g., the average number of lines changed) to adjust the evaluation of other items (e.g., development volume). Good too. Specifically, a correction may be performed in which an index of development volume (for example, the number of pull request creations, etc.) is weighted based on an index of development quality. Weighting can be performed, for example, by multiplying the development volume index by a larger correction coefficient as the evaluation of the development quality index is higher (for example, closer to an appropriate value).
 サーバ30は、対象期間における対象チームまたは組織の評価結果と、過去の期間における対象チームまたは組織の評価結果に対する変化(例えば改善)の比率、または量を算出し、算出結果をユーザに提示してもよい。 The server 30 calculates the ratio or amount of change (for example, improvement) between the evaluation results of the target team or organization in the target period and the evaluation results of the target team or organization in the past period, and presents the calculation results to the user. Good too.
(7)付記
 実施形態および変形例で説明した事項を、以下に付記する。
(7) Additional Notes The matters explained in the embodiment and the modified example are added below.
 (付記1)
 コンピュータ(30)を、
 チームに属するメンバーがイシュー管理サービス(50)を利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段(S130)、
 開発活動に関する情報に基づいて、複数の指標を生成する手段(S131)、
 複数の指標に基づいて、チームによる開発パフォーマンスを評価する手段(S132)、
 チームによる開発パフォーマンスの評価結果を出力する手段(S133)、
 として機能させるプログラム。
(Additional note 1)
computer (30),
means (S130) for acquiring information related to development activities by a member belonging to a team that is stored in the issue management service by the member belonging to the team using the issue management service (50);
means for generating a plurality of indicators based on information regarding development activities (S131);
means for evaluating development performance by the team based on a plurality of indicators (S132);
means for outputting the evaluation results of development performance by the team (S133);
A program that functions as
 (付記2)
 複数の指標は、開発ボリューム、開発効率、または開発クオリティの少なくとも1つに関する、
 付記1に記載のプログラム。
(Additional note 2)
The plurality of indicators relate to at least one of development volume, development efficiency, or development quality.
The program described in Appendix 1.
 (付記3)
 チームによる開発パフォーマンスを評価する手段は、複数の指標の少なくとも1つが特定の指標に該当する場合に、チームに含まれるメンバーの数に基づいて当該特定の指標を評価する、
 付記1に記載のプログラム。
(Additional note 3)
The means for evaluating the development performance by the team evaluates the specific indicator based on the number of members included in the team when at least one of the plurality of indicators corresponds to a specific indicator.
The program described in Appendix 1.
 (付記4)
 チームによる開発パフォーマンスを評価する手段は、チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つを定量的に評価する、
 付記1に記載のプログラム。
(Additional note 4)
The means for evaluating the development performance by the team quantitatively evaluates at least one of the team's development volume, development efficiency, development quality, or overall development performance.
The program described in Appendix 1.
 (付記5)
 チームによる開発パフォーマンスを評価する手段は、プルリク作成数、マージ済みプルリク数、レビュー数、レビューしたプルリク数、コーディング数、コミット数、またはメインブランチへのマージ回数、の少なくとも1つに基づいてチームの開発ボリュームを定量的に評価する、
 付記4に記載のプログラム。
(Appendix 5)
The means for evaluating the team's development performance is based on at least one of the following: number of pull requests created, number of merged pull requests, number of reviews, number of pull requests reviewed, number of codes coded, number of commits, or number of merges into the main branch. Quantitatively evaluate development volume,
The program described in Appendix 4.
 (付記6)
 チームによる開発パフォーマンスを評価する手段は、チームのメンバーが最初のレビューをするまでの平均時間、プルリク作成からマージまたはクローズされるまでの平均時間、最初のコミットからプルリク作成までの平均時間、プルリク作成からレビューまでの平均時間、最初のレビューからクローズまでの平均時間、最初のレビューから最後のアプルーブまでの平均時間、最後のアプルーブからマージまでの平均時間、メインブランチへのマージされたプルリクの作成からマージまでの平均時間、またはメインブランチへマージされたプルリクに紐づく最初のコミットからマージまでの平均時間、の少なくとも1つに基づいてチームの開発効率を定量的に評価する、
 付記4に記載のプログラム。
(Appendix 6)
Measures of a team's development performance include the average time a team member takes to make an initial review, the average time from creating a pull request to being merged or closed, the average time from first commit to creating a pull request, and the average time from creating a pull request to creating a pull request. Average time from review to review, Average time from first review to close, Average time from first review to last approve, Average time from last approve to merge, From creating a merged pull request to the main branch. quantitatively evaluating the team's development efficiency based on at least one of an average time to merge, or an average time from the first commit associated with a pull request merged to the main branch to the merge;
The program described in Appendix 4.
 (付記7)
 チームによる開発パフォーマンスを評価する手段は、レビューされずにマージされたプルリクの割合、変更障害率、1プルリクに対する平均コメント数、1プルリクあたりの平均変更行数、または1プルリクあたりの変更ファイル数、の少なくとも1つに基づいてチームの開発クオリティを定量的に評価する、
 付記4に記載のプログラム。
(Appendix 7)
Measures of development performance by a team include the percentage of pull requests merged without being reviewed, change failure rate, average number of comments per pull request, average number of changed lines per pull request, or number of changed files per pull request, Quantitatively evaluate the team's development quality based on at least one of the following:
The program described in Appendix 4.
 (付記8)
 コンピュータを、複数の指標の少なくとも1つがチームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした影響を分析する手段としてさらに機能させる、
 付記4に記載のプログラム。
(Appendix 8)
further causing the computer to function as a means for analyzing the impact of at least one of the plurality of indicators on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance;
The program described in Appendix 4.
 (付記9)
 コンピュータを、複数の指標の少なくとも1つがチームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に正負いずれの影響を及ぼしたかを分析する手段、としてさらに機能させる、
 付記8に記載のプログラム。
(Appendix 9)
The computer is further used as a means for analyzing whether at least one of the plurality of metrics has had a positive or negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance. make it work,
The program described in Appendix 8.
 (付記10)
 コンピュータを、チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした負の影響が最も大きい指標を分析する手段、としてさらに機能させる、
 付記8に記載のプログラム。
(Appendix 10)
further causing the computer to function as a means for analyzing the metrics having the greatest negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance;
The program described in Appendix 8.
 (付記11)
 コンピュータを、チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価結果について所定の条件が成立する場合に、通知を行う手段としてさらに機能させる、
 付記4に記載のプログラム。
(Appendix 11)
further causing the computer to function as a means for notifying when a predetermined condition is satisfied regarding at least one quantitative evaluation result of the team's development volume, development efficiency, development quality, or overall development performance;
The program described in Appendix 4.
 (付記12)
 チームによる開発パフォーマンスを評価する手段は、複数の指標の少なくとも1つについて基準値と比較することで、当該指標を個別に評価する、
 付記1に記載のプログラム。
(Appendix 12)
The means for evaluating the development performance by the team is to compare at least one of a plurality of indicators with a reference value and evaluate the indicator individually.
The program described in Appendix 1.
 (付記13)
 コンピュータを、チームによる開発パフォーマンスの評価結果を、他のチームによる開発パフォーマンスの評価結果、または異なる期間におけるチームによる開発パフォーマンスの評価結果と比較する手段、としてさらに機能させる、
 付記12に記載のプログラム。
(Appendix 13)
further causing the computer to function as a means for comparing the evaluation of development performance by the team with the evaluation of development performance by other teams or with the results of evaluation of development performance by the team at different time periods;
The program described in Appendix 12.
 (付記14)
 コンピュータを、組織に属する全チームの各々について生成した複数の指標、または当該組織に属する全チームの各々の開発パフォーマンスの評価結果の少なくとも1つに基づいて、当該組織の開発パフォーマンスを評価する手段としてさらに機能させる、
 付記1に記載のプログラム。
(Appendix 14)
A computer is used as a means for evaluating the development performance of an organization based on at least one of a plurality of indicators generated for each of all teams belonging to the organization or an evaluation result of the development performance of each of all teams belonging to the organization. Make it even more functional
The program described in Appendix 1.
 (付記15)
 コンピュータを、チームによる開発パフォーマンスの評価結果を含む、当該チームの属する組織の求人情報を公開する手段としてさらに機能させる、
 付記1に記載のプログラム。
(Appendix 15)
further causing the computer to function as a means for publishing job information for the organization to which the team belongs, including evaluation results of development performance by the team;
The program described in Appendix 1.
 (付記16)
 開発活動に関する情報は、イシュー管理サービスに保存されているソースコードに関して、チームに属するメンバーにより行われた活動を特定可能な情報と、当該活動が行われた日時を特定可能な情報とを含む、
 付記1に記載のプログラム。
(Appendix 16)
Information regarding development activities includes information that can identify the activities performed by members of the team regarding the source code stored in the issue management service, and information that can identify the date and time when the activities were performed.
The program described in Appendix 1.
 (付記17)
 チームに属するメンバーがイシュー管理サービス(50)を利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段(S130)と、
 開発活動に関する情報に基づいて、複数の指標を生成する手段(S131)と、
 複数の指標に基づいて、チームによる開発パフォーマンスを評価する手段(S132)と
 チームによる開発パフォーマンスの評価結果を出力する手段(S133)と
 を具備する、情報処理装置。
(Appendix 17)
means (S130) for acquiring information regarding development activities by members belonging to the team that are stored in the issue management service by the members belonging to the team using the issue management service (50);
means for generating a plurality of indicators based on information regarding development activities (S131);
An information processing device comprising: means (S132) for evaluating development performance by a team based on a plurality of indicators; and means (S133) for outputting evaluation results of development performance by the team.
 (付記18)
 クライアント装置(10)と、サーバ(30)とを具備する情報処理システム(1)であって、
 サーバは、
  チームに属するメンバーがイシュー管理サービス(50)を利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段(S130)と、
  開発活動に関する情報に基づいて、複数の指標を生成する手段(S131)と、
  複数の指標に基づいて、チームによる開発パフォーマンスを評価する手段(S132)とを備え、
 クライアント装置は、チームによる開発パフォーマンスの評価結果を提示する手段(S111)を備える、
 情報処理システム。
(Appendix 18)
An information processing system (1) comprising a client device (10) and a server (30),
The server is
means (S130) for acquiring information regarding development activities by members belonging to the team that are stored in the issue management service by the members belonging to the team using the issue management service (50);
means for generating a plurality of indicators based on information regarding development activities (S131);
means (S132) for evaluating development performance by the team based on a plurality of indicators;
The client device includes means (S111) for presenting evaluation results of development performance by the team.
Information processing system.
 (付記19)
 チームによる開発パフォーマンスの評価結果を受信する手段と、
 前記評価結果を提示する手段(S111)と
 を具備し、
 前記評価結果は、前記チームによる開発パフォーマンスが複数の指標に基づいて評価された結果であり、
 前記複数の指標は、前記チームに属するメンバーがイシュー管理サービス(50)を利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報に基づいて生成される、
 情報処理装置(10)。
(Appendix 19)
a means for receiving evaluation results of development performance by the team;
and means for presenting the evaluation results (S111);
The evaluation result is a result of evaluating the development performance by the team based on multiple indicators,
The plurality of indicators are generated based on information regarding development activities by members belonging to the team, which are stored in the issue management service by the members belonging to the team using the issue management service (50).
Information processing device (10).
 (付記20)
 クライアント装置(10)に情報処理を実行させる方法であって、
 クライアント装置に、
  チームによる開発パフォーマンスの評価結果を受信する処理と、
  評価結果を提示する処理(S111)と
 を実行させ、
 評価結果は、チームによる開発パフォーマンスが複数の指標に基づいて評価された結果であり、
 複数の指標は、チームに属するメンバーがイシュー管理サービス(50)を利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報に基づいて生成される、
 方法。
(Additional note 20)
A method for causing a client device (10) to perform information processing, the method comprising:
on the client device,
a process of receiving development performance evaluation results by the team;
execute the process of presenting the evaluation result (S111);
The evaluation results are the results of evaluating the team's development performance based on multiple indicators.
The plurality of indicators are generated based on information regarding development activities by members belonging to the team that are stored in the issue management service (50) when the members use the issue management service (50).
Method.
 以上、本発明の実施形態について詳細に説明したが、本発明の範囲は上記の実施形態に限定されない。また、上記の実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。また、上記の実施形態及び変形例は、組合せ可能である。 Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited to the above embodiments. Moreover, various improvements and changes can be made to the embodiments described above without departing from the spirit of the present invention. Furthermore, the above embodiments and modifications can be combined.
1    :情報処理システム
10   :クライアント装置
11   :記憶装置
12   :プロセッサ
13   :入出力インタフェース
14   :通信インタフェース
21   :ディスプレイ
30   :サーバ
31   :記憶装置
32   :プロセッサ
33   :入出力インタフェース
34   :通信インタフェース
50   :外部システム
1 : Information processing system 10 : Client device 11 : Storage device 12 : Processor 13 : Input/output interface 14 : Communication interface 21 : Display 30 : Server 31 : Storage device 32 : Processor 33 : Input/output interface 34 : Communication interface 50 : External system

Claims (20)

  1.  コンピュータを、
     チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段、
     前記開発活動に関する情報に基づいて、複数の指標を生成する手段、
     前記複数の指標に基づいて、前記チームによる開発パフォーマンスを評価する手段、
     前記チームによる開発パフォーマンスの評価結果を出力する手段、
     として機能させるプログラム。
    computer,
    A means for obtaining information regarding development activities by members belonging to a team stored in the issue management service by the members belonging to the team using the issue management service;
    means for generating a plurality of indicators based on information regarding the development activities;
    means for evaluating development performance by the team based on the plurality of indicators;
    means for outputting evaluation results of development performance by the team;
    A program that functions as
  2.  前記複数の指標は、開発ボリューム、開発効率、または開発クオリティの少なくとも1つに関する、
     請求項1に記載のプログラム。
    The plurality of indicators relate to at least one of development volume, development efficiency, or development quality,
    The program according to claim 1.
  3.  前記チームによる開発パフォーマンスを評価する手段は、前記複数の指標の少なくとも1つが特定の指標に該当する場合に、前記チームに含まれるメンバーの数に基づいて当該特定の指標を評価する、
     請求項1または請求項2に記載のプログラム。
    The means for evaluating development performance by the team evaluates the specific indicator based on the number of members included in the team when at least one of the plurality of indicators corresponds to a specific indicator.
    The program according to claim 1 or claim 2.
  4.  前記チームによる開発パフォーマンスを評価する手段は、前記チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つを定量的に評価する、
     請求項1乃至請求項3のいずれかに記載のプログラム。
    The means for evaluating development performance by the team quantitatively evaluates at least one of the team's development volume, development efficiency, development quality, or overall development performance.
    The program according to any one of claims 1 to 3.
  5.  前記チームによる開発パフォーマンスを評価する手段は、プルリク作成数、マージ済みプルリク数、レビュー数、レビューしたプルリク数、コーディング数、コミット数、またはメインブランチへのマージ回数、の少なくとも1つに基づいて前記チームの開発ボリュームを定量的に評価する、
     請求項4に記載のプログラム。
    The means for evaluating the development performance by the team is based on at least one of the following: the number of pull requests created, the number of merged pull requests, the number of reviews, the number of reviewed pull requests, the number of codings, the number of commits, or the number of merges to the main branch. Quantitatively evaluate the team's development volume,
    The program according to claim 4.
  6.  前記チームによる開発パフォーマンスを評価する手段は、前記チームのメンバーが最初のレビューをするまでの平均時間、プルリク作成からマージまたはクローズされるまでの平均時間、最初のコミットからプルリク作成までの平均時間、プルリク作成からレビューまでの平均時間、最初のレビューからクローズまでの平均時間、最初のレビューから最後のアプルーブまでの平均時間、最後のアプルーブからマージまでの平均時間、メインブランチへのマージされたプルリクの作成からマージまでの平均時間、またはメインブランチへマージされたプルリクに紐づく最初のコミットからマージまでの平均時間、の少なくとも1つに基づいて前記チームの開発効率を定量的に評価する、
     請求項4または請求項5に記載のプログラム。
    The means for evaluating the development performance by the team include the average time it takes for a member of the team to do the first review, the average time from creation of a pull request until it is merged or closed, the average time from the first commit to creation of a pull request, Average time from pull request creation to review, Average time from first review to close, Average time from first review to last approval, Average time from last approval to merge, Merged pull requests to main branch. quantitatively evaluating the development efficiency of the team based on at least one of the average time from creation to merge, or the average time from first commit to merge associated with a pull request merged into the main branch;
    The program according to claim 4 or claim 5.
  7.  前記チームによる開発パフォーマンスを評価する手段は、レビューされずにマージされたプルリクの割合、変更障害率、1プルリクに対する平均コメント数、1プルリクあたりの平均変更行数、または1プルリクあたりの変更ファイル数、の少なくとも1つに基づいて前記チームの開発クオリティを定量的に評価する、
     請求項4乃至請求項6のいずれかに記載のプログラム。
    The means to evaluate the development performance by the team are the percentage of pull requests merged without being reviewed, change failure rate, average number of comments per pull request, average number of changed lines per pull request, or number of changed files per pull request. quantitatively evaluating the development quality of the team based on at least one of the following;
    The program according to any one of claims 4 to 6.
  8.  前記コンピュータを、前記複数の指標の少なくとも1つが前記チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした影響を分析する手段としてさらに機能させる、
     請求項4乃至請求項7のいずれかに記載のプログラム。
    The computer further functions as a means for analyzing the impact of at least one of the plurality of indicators on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance. ,
    The program according to any one of claims 4 to 7.
  9.  前記コンピュータを、前記複数の指標の少なくとも1つが前記チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に正負いずれの影響を及ぼしたかを分析する手段、としてさらに機能させる、
     請求項8に記載のプログラム。
    Means for analyzing the computer to determine whether at least one of the plurality of indicators had a positive or negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance. , to further function as,
    The program according to claim 8.
  10.  前記コンピュータを、前記チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価に及ぼした負の影響が最も大きい指標を分析する手段、としてさらに機能させる、
     請求項8または請求項9に記載のプログラム。
    further causing the computer to function as a means for analyzing an indicator that has the greatest negative impact on at least one quantitative evaluation of the team's development volume, development efficiency, development quality, or overall development performance;
    The program according to claim 8 or 9.
  11.  前記コンピュータを、前記チームの開発ボリューム、開発効率、開発クオリティ、または総合的な開発パフォーマンスの少なくとも1つの定量的な評価結果について所定の条件が成立する場合に、通知を行う手段としてさらに機能させる、
     請求項4乃至請求項10のいずれかに記載のプログラム。
    further causing the computer to function as a means for notifying when a predetermined condition is satisfied regarding at least one quantitative evaluation result of the team's development volume, development efficiency, development quality, or overall development performance;
    The program according to any one of claims 4 to 10.
  12.  前記チームによる開発パフォーマンスを評価する手段は、前記複数の指標の少なくとも1つについて基準値と比較することで、当該指標を個別に評価する、
     請求項1乃至請求項11のいずれかに記載のプログラム。
    The means for evaluating the development performance by the team evaluates at least one of the plurality of indicators individually by comparing the indicator with a reference value.
    The program according to any one of claims 1 to 11.
  13.  前記コンピュータを、前記チームによる開発パフォーマンスの評価結果を、他のチームによる開発パフォーマンスの評価結果、または異なる期間における前記チームによる開発パフォーマンスの評価結果と比較する手段、としてさらに機能させる、
     請求項12に記載のプログラム。
    further causing the computer to function as a means for comparing the development performance evaluation result by the team with the development performance evaluation result by another team or the development performance evaluation result by the team in a different period;
    The program according to claim 12.
  14.  前記コンピュータを、組織に属する全チームの各々について生成した複数の指標、または当該組織に属する全チームの各々の開発パフォーマンスの評価結果の少なくとも1つに基づいて、当該組織の開発パフォーマンスを評価する手段としてさらに機能させる、
     請求項1乃至請求項13のいずれかに記載のプログラム。
    Means for evaluating the development performance of the organization based on at least one of a plurality of indicators generated by the computer for each of all the teams belonging to the organization or an evaluation result of the development performance of each of all the teams belonging to the organization. further function as
    The program according to any one of claims 1 to 13.
  15.  前記コンピュータを、前記チームによる開発パフォーマンスの評価結果を含む、当該チームの属する組織の求人情報を公開する手段としてさらに機能させる、
     請求項1乃至請求項14のいずれかに記載のプログラム。
    further causing the computer to function as a means for publishing recruitment information of an organization to which the team belongs, including evaluation results of development performance by the team;
    The program according to any one of claims 1 to 14.
  16.  前記開発活動に関する情報は、前記イシュー管理サービスに保存されているソースコードに関して、前記チームに属するメンバーにより行われた活動を特定可能な情報と、当該活動が行われた日時を特定可能な情報とを含む、
     請求項1乃至請求項15のいずれかに記載のプログラム。
    The information regarding the development activities includes information that can identify the activities performed by members of the team regarding the source code stored in the issue management service, and information that can identify the date and time when the activities were performed. including,
    The program according to any one of claims 1 to 15.
  17.  チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段と、
     前記開発活動に関する情報に基づいて、複数の指標を生成する手段と、
     前記複数の指標に基づいて、前記チームによる開発パフォーマンスを評価する手段と
     前記チームによる開発パフォーマンスの評価結果を出力する手段と
     を具備する、情報処理装置。
    A means for obtaining information regarding development activities by members belonging to a team stored in the issue management service by the members belonging to the team using the issue management service;
    means for generating a plurality of indicators based on information regarding the development activities;
    An information processing device comprising: means for evaluating development performance by the team based on the plurality of indicators; and means for outputting an evaluation result of the development performance by the team.
  18.  クライアント装置と、サーバとを具備する情報処理システムであって、
     前記サーバは、
      チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報を取得する手段と、
      前記開発活動に関する情報に基づいて、複数の指標を生成する手段と、
      前記複数の指標に基づいて、前記チームによる開発パフォーマンスを評価する手段とを備え、
     前記クライアント装置は、前記チームによる開発パフォーマンスの評価結果を提示する手段を備える、
     情報処理システム。
    An information processing system comprising a client device and a server,
    The server is
    A means for obtaining information regarding development activities by members belonging to a team stored in the issue management service by the members belonging to the team using the issue management service;
    means for generating a plurality of indicators based on information regarding the development activities;
    and means for evaluating development performance by the team based on the plurality of indicators,
    The client device includes means for presenting evaluation results of development performance by the team.
    Information processing system.
  19.  チームによる開発パフォーマンスの評価結果を受信する手段と、
     前記評価結果を提示する手段と
     を具備し、
     前記評価結果は、前記チームによる開発パフォーマンスが複数の指標に基づいて評価された結果であり、
     前記複数の指標は、前記チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報に基づいて生成される、
     情報処理装置。
    a means for receiving evaluation results of development performance by the team;
    and means for presenting the evaluation results,
    The evaluation result is a result of evaluating the development performance by the team based on multiple indicators,
    The plurality of indicators are generated based on information regarding development activities by members of the team that are stored in the issue management service when the members use the issue management service.
    Information processing device.
  20.  クライアント装置に情報処理を実行させる方法であって、
     前記クライアント装置に、
      チームによる開発パフォーマンスの評価結果を受信する処理と、
      前記評価結果を提示する処理と
     を実行させ、
     前記評価結果は、前記チームによる開発パフォーマンスが複数の指標に基づいて評価された結果であり、
     前記複数の指標は、前記チームに属するメンバーがイシュー管理サービスを利用することで当該イシュー管理サービスに保存された、当該メンバーによる開発活動に関する情報に基づいて生成される、
     方法。
    A method for causing a client device to perform information processing, the method comprising:
    to the client device,
    a process of receiving development performance evaluation results by the team;
    executing the process of presenting the evaluation result;
    The evaluation result is a result of evaluating the development performance by the team based on multiple indicators,
    The plurality of indicators are generated based on information regarding development activities by members of the team that are stored in the issue management service when the members use the issue management service.
    Method.
PCT/JP2023/014610 2022-06-21 2023-04-10 Program, information processing device, method, and information processing system WO2023248582A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-099300 2022-06-21
JP2022099300A JP7228940B1 (en) 2022-06-21 2022-06-21 Program, Information Processing Apparatus, Method, and Information Processing System

Publications (1)

Publication Number Publication Date
WO2023248582A1 true WO2023248582A1 (en) 2023-12-28

Family

ID=85320390

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/014610 WO2023248582A1 (en) 2022-06-21 2023-04-10 Program, information processing device, method, and information processing system

Country Status (2)

Country Link
JP (2) JP7228940B1 (en)
WO (1) WO2023248582A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015014856A (en) * 2013-07-04 2015-01-22 株式会社日立製作所 Method and system for evaluating software development project
JP2022085338A (en) * 2020-11-27 2022-06-08 ファインディ株式会社 Program, information processing device, and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207029A (en) * 2006-02-02 2007-08-16 Matsushita Electric Ind Co Ltd Project progress management device and method
JP2010039637A (en) * 2008-08-01 2010-02-18 Hitachi Ltd Fault analysis system, fault analysis method, and fault analysis program
US20100235807A1 (en) * 2009-03-16 2010-09-16 Hitachi Data Systems Corporation Method and system for feature automation
JP5460426B2 (en) * 2010-03-31 2014-04-02 株式会社エヌ・ティ・ティ・データ Productivity evaluation apparatus, productivity evaluation method and program
JP5697624B2 (en) * 2012-03-13 2015-04-08 株式会社野村総合研究所 Project management support system and project management support program
JP2016076181A (en) * 2014-10-09 2016-05-12 株式会社野村総合研究所 In-team configuration management system
US10509649B2 (en) * 2017-12-04 2019-12-17 Tasktop Technologies, Incorporated Value stream graphs across heterogeneous software development platforms
US20200401977A1 (en) * 2019-06-18 2020-12-24 Didi Research America, Llc System and method for evaluation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015014856A (en) * 2013-07-04 2015-01-22 株式会社日立製作所 Method and system for evaluating software development project
JP2022085338A (en) * 2020-11-27 2022-06-08 ファインディ株式会社 Program, information processing device, and method

Also Published As

Publication number Publication date
JP7228940B1 (en) 2023-02-27
JP2024000571A (en) 2024-01-09
JP2024000956A (en) 2024-01-09

Similar Documents

Publication Publication Date Title
Menzies et al. Population health impact and cost-effectiveness of tuberculosis diagnosis with Xpert MTB/RIF: a dynamic simulation and economic evaluation
US9645817B1 (en) Contextual developer ranking
US20100042613A1 (en) Method and system for automated search engine optimization
US20210065086A1 (en) System and method for failure curve analytics
US20140081680A1 (en) Methods and systems for evaluating technology assets using data sets to generate evaluation outputs
Ward et al. Autoregressive models applied to time-series data in veterinary science
Nagaraju et al. Practical software reliability engineering with the Software Failure and Reliability Assessment Tool (SFRAT)
Catolino et al. A set of metrics for the effort estimation of mobile apps
US20200285569A1 (en) Test suite recommendation system
WO2023248582A1 (en) Program, information processing device, method, and information processing system
US20180130002A1 (en) Requirements determination
US20210089992A1 (en) Method for automated code reviewer recommendation
WO2024154551A1 (en) Information processing device, method, program, and system
JP7338925B1 (en) Information processing device, method, program, and system
CN114968821A (en) Test data generation method and device based on reinforcement learning
JP7388785B1 (en) Information processing device, method, program, and system
Ufuktepe et al. Estimating software robustness in relation to input validation vulnerabilities using Bayesian networks
JP2024101525A (en) Information processing device, method, program, and system
JP2024101317A (en) Information processing device, method, program, and system
Sunardi et al. Designing an application for direct cash assistance allocation using Laravel at Sepang District Office
Bratati et al. User satisfaction metrics for cloud computing environment
Suradi et al. Usability evaluation using mapping strategy: A case study of e-appeal system
US20220253690A1 (en) Machine-learning systems for simulating collaborative behavior by interacting users within a group
KR102463250B1 (en) Solution system and BIGDATA analysis method for operating management
Singh et al. The vital role of community in open source software development: A framework for assessment and ranking

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23826771

Country of ref document: EP

Kind code of ref document: A1