IP Library › Granted Patent US 11,526,828
Granted Patent B2
US 11,526,828 · App. 16/943,210 · Granted Dec 13, 2022

Calculating developer time during development process

Inventors: Rosalind Toy Allen Radcliffe (Durham, NC); Hannah Justine Neumann (Durham, NC); Arthi Ireddy (Cary, NC)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06Q10/06398G06F8/70G06F40/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,526,828
App. No.
16/943,210
Granted
Dec 13, 2022
Kind
B2
Abstract

Aspects of the invention include computer-implemented methods, computing systems and computer program products for calculating an active time on a software application with respect to a first work item. A computer-implemented method includes retrieving activity data from a software development application and a plurality of input signals generated by a peripheral device. The method further includes determining a causal relationship between the input data and any events described by the activity data. In response to a determination of a causal relationship, a first time interval is calculated between an initial signal and a final signal of the plurality of input signals. The first time interval is compared to an estimated time interval. A schedule of a second work item is determined based on the comparison, wherein the first time interval relates to a first work item.

Claims (67)

1. A computer-implemented method comprising:

retrieving, by a processor, activity data from a plurality of software development applications and a plurality of input signals generated by a peripheral device, wherein the activity data comprises a description of events with respect to functions and files for each respective software development application;

training a machine learning model to predict whether a relationship exists between the input signals and the events described in the activity data, wherein the machine learning model is trained to distinguish between a developer initiating an automated function of a software development application and a developer actively using a function of the software development application;

determining, by the processor using the trained machine learning model, a first causal relationship between the plurality of input signals and the activity data, the first causal relationship comprising an indication that a developer is actively using a first software development application of the plurality of software development applications to complete a first work item;

calculating, by the processor and in response to the determination of the first causal relationship, a first time interval between an initial signal and a final signal of the plurality of input signals, the first time interval representing a maximum duration for the first work item;

determining, by the processor using the trained machine learning model, a second causal relationship between the plurality of input signals and the activity data, the second causal relationship comprising an indication that the developer is also actively using the first software development application to complete a second work item during an overlapping time span with the first work item;

calculating, in response to the determination of the second causal relationship, a second time interval between the initial signal and the final signal;

removing the second time interval from the first time interval to define an active time spent value for the first work item;

comparing, by the processor, the active time spent value to an estimated time interval; and

automatically modifying, by the processor and on behalf of a user, a schedule of an additional work item of the user based on the comparison.

2. The computer-implemented method of claim 1 further comprising:

calculating a respective time interval between each consecutive input signal of the plurality of input signals;

comparing each respective time interval with a threshold time interval;

subtracting from the first time interval a length of any respective time interval that exceeds the threshold time interval.

3. The computer-implemented method of claim 1 further comprising selecting an application programming interface from a suite of application programming interfaces to communicate with the software development application.

4. The computer implemented method of claim 1 , wherein comparing the first time interval to an estimated time interval comprises determining whether the first time interval is a threshold time interval less than the estimated time interval.

5. The computer implemented method of claim 1 further comprising:

detecting the software application operating on a file;

detecting a pathname of the file; and

comparing a first work item identification with the pathname to detect the first work item identification.

6. The computer implemented method of claim 1 , wherein the activity data includes a log file or an audit trail.

7. The computer implemented method of claim 1 , wherein the activity data comprises plain text, the method further comprises applying natural language processing techniques to understand a meaning of the plain text.

8. A system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

retrieving, by a processor, activity data from a plurality of software development applications and a plurality of input signals generated by a peripheral device, wherein the activity data comprises a description of events with respect to functions and files for each respective software development application;

training a machine learning model to predict whether a relationship exists between the input signals and the events described in the activity data, wherein the machine learning model is trained to distinguish between a developer initiating an automated function of a software development application and a developer actively using a function of the software development application;

determining, by the processor using the trained machine learning model, a first causal relationship between the input data and the activity data, the first causal relationship comprising an indication that a developer is actively using a first software development application of the plurality of software development applications to complete a first work item;

calculating, by the processor and in response to the determination of the first causal relationship, a first time interval between an initial signal and a final signal of the plurality of input signals, the first time interval representing a maximum duration for the first work item;

determining, by the processor using the trained machine learning model, a second causal relationship between the plurality of input signals and the activity data, the second causal relationship comprising an indication that the developer is also actively using the first software development application to complete a second work item during an overlapping time span with the first work item;

calculating, in response to the determination of the second causal relationship, a second time interval between the initial signal and the final signal;

removing the second time interval from the first time interval to define an active time spent value for the first work item;

comparing, by the processor, the active time spent value to an estimated time interval; and

automatically modifying, by the processor and on behalf of a user, a schedule of an additional work item of the user based on the comparison.

9. The system of claim 8 , the operations further comprising:

calculating a respective time interval between each consecutive input signal of the plurality of input signals;

comparing each respective time interval with a threshold time interval;

subtracting from the first time interval a length of any respective time interval that exceeds the threshold time interval.

10. The system of claim 8 , the operations further comprising selecting an application programming interface from a suite of application programming interfaces to communicate with the software development application.

11. The system of claim 8 , wherein comparing the first time interval to an estimated time interval comprises determining whether the first time interval is a threshold time interval less than the estimated time interval.

12. The system of claim 8 , the operations further comprising:

detecting the software application operating on a file;

detecting a pathname of the file; and

comparing a first work item identification with the pathname to detect the first work item identification.

13. The system of claim 8 , wherein the activity data includes a log file or an audit trail.

14. The system of claim 8 , wherein the activity data comprises plain text, the method further comprises applying natural language processing techniques to understand a meaning of the plain text.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising:

retrieving, by a processor, activity data from a plurality of software development applications and a plurality of input signals generated by a peripheral device, wherein the activity data comprises a description of events with respect to functions and files for each respective software development application;

training a machine learning model to predict whether a relationship exists between the input signals and the events described in the activity data, wherein the machine learning model is trained to distinguish between a developer initiating an automated function of a software development application and a developer actively using a function of the software development application;

determining, by the processor using the trained machine learning model, a first causal relationship between the input data and the activity data, the first causal relationship comprising an indication that a developer is actively using a first software development application of the plurality of software development applications to complete a first work item;

calculating, by the processor and in response to the determination of the first causal relationship, a first time interval between an initial signal and a final signal of the plurality of input signals, the first time interval representing a maximum duration for the first work item;

determining, by the processor using the trained machine learning model, a second causal relationship between the plurality of input signals and the activity data, the second causal relationship comprising an indication that the developer is also actively using the first software development application to complete a second work item during an overlapping time span with the first work item;

calculating, in response to the determination of the second causal relationship, a second time interval between the initial signal and the final signal;

removing the second time interval from the first time interval to define an active time spent value for the first work item;

comparing, by the processor, the active time spent value to an estimated time interval; and

automatically modifying, by the processor and on behalf of a user, a schedule of an additional work item of the user based on the comparison.

16. The computer program product of claim 15 , the operations further comprising:

calculating a respective time interval between each consecutive input signal of the plurality of input signals;

comparing each respective time interval with a threshold time interval;

subtracting from the first time interval a length of any respective time interval that exceeds the threshold time interval.

17. The computer program product of claim 15 , the operations further comprising selecting an application programming interface from a suite of application programming interfaces to communicate with the software development application.

18. The computer program product of claim 15 , wherein comparing the first time interval to an estimated time interval comprises determining whether the first time interval is a threshold time interval less than the estimated time interval.

19. The computer program product of claim 15 , the operations further comprising:

detecting the software application operating on a file;

detecting a pathname of the file; and

comparing a first work item identification with the pathname to detect the first work item identification.

20. The computer program product of claim 15 , wherein the activity data includes a log file or an audit trail.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: RADCLIFFE, ROSALIND TOY ALLEN; NEUMANN, HANNAH JUSTINE; IREDDY, ARTHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053355/0967 →
Continuity (1)
Related Publication 20220036278A1 · Feb 3, 2022