# US 2019/0171446 A1 · Value stream graphs across heterogeneous software development platforms

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171446 A1
- Document ID: US20190171446A1
- Status: Published application
- Kind: A1
- Application number: 15/830,633
- Filed: 2017-12-04
- Published: 2019-06-06
- Earliest claimed: 2017-12-04
- Assignees: Tasktop Technologies, Incorporated
- Applicants: TaskTop Technologies, Incorporated
- Inventors: J. Nicole Bryan; Robert D. Elves; Mik Kersten; Gail C. Murphy
- Web page: https://patentgrep.com/patent/US20190171446A1

## CPC

- G06F 8/20: Software design
- G06F 8/77: Software metrics
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/0639: Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and methods to autonomously generate emergent software delivery value stream graphs from work units (e.g., tasks) that are created and managed through different specialized software tools by the many teams of an entity (e.g., company, other organization) involved in large software delivery activities. The emergent software delivery value stream graphs may be produced by autonomously monitoring and integrating the activity from individual software development tools. Additionally or alternatively, emergent software delivery value stream graphs may be produced by altering a previously captured event stream based on a description of changes to a development stage stream and team information. The generated value streams may be analyzed and/or visualized to report on various aspects of the software development for an organization.

## Claims

### Claim 1

A computer-implemented method, comprising:
storing, on at least one nontransitory processor-readable storage medium, work unit data for a plurality of work units, the work units created and managed via a plurality of specialized software tools through a plurality of development stages by a plurality of teams of one or more individuals associated with an entity;
autonomously receiving, by at least one processor, event data indicative of an event from at least one of the plurality of specialized software tools;
autonomously generating, by the at least one processor, an event stream based at least in part on the received event data, the event stream indicative of an effect, if any, that the event has on each of a plurality of value stream perspectives; and
autonomously generating, by the at least one processor, a software delivery value stream graph for at least one of the plurality of value stream perspectives based at least in part on the generated event stream.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously receiving event data comprises:
autonomously monitoring, by the at least one processor, activity of the plurality of specialized software tools via a plurality of software connectors to the specialized software tools.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2 wherein autonomously monitoring activity of the specialized software tools comprises autonomously monitoring activity of the specialized software tools via a plurality of software connectors to the specialized software tools, each of the software connectors includes a mapping that describes how data entered into at least one of the specialized software tools affects particular work units stored in the at least one nontransitory processor-readable storage medium.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, by the at least one processor, work unit data for a work unit from a user interface accessible by at least some of the individuals of the teams.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
autonomously receiving, by the at least one processor, work unit data for a work unit from a software connector operatively coupled to at least one of the plurality of specialized software tools.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
analyzing, by the at least one processor, the at least one generated software delivery value stream graph to determine at least one aspect of a software development process of the entity.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
causing, by the at least one processor, a graphical visualization of the at least one generated software delivery value stream graph on a display device.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1 wherein storing work unit data for a plurality of work units comprises storing work unit data for a plurality of features, defects, or vulnerabilities of a software program.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating an event stream comprises autonomously generating an event stream based at least in part on the received event data, the event stream indicative of an effect, if any, that the event has on each of a development stage value stream perspective, a team value stream perspective, and a tool value stream perspective.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating a software delivery value stream graph comprises autonomously generating a development stage value stream graph, a team value stream graph, or a tool value stream graph.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating a software delivery value stream graph comprises autonomously generating a development stage value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of development stages.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating a software delivery value stream graph comprises autonomously generating a team value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of teams.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating a software delivery value stream graph comprises autonomously generating a tool value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of specialized software tools.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating a software delivery value stream graph comprises autonomously generating a node- and edge-weighted directed graph, and metrics for the nodes and weights of the software delivery value stream graph are dependent at least in part on the particular value stream perspective represented by the generated software delivery value stream graph.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1 wherein storing work unit data for a plurality of work units comprises storing, for each of the plurality of work units, a set of development stages that a particular work unit can pass through in a development stage value stream.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1 wherein autonomously generating an event stream comprises autonomously generating an event stream based at least in part on the received event data, the event stream includes an identification of a work unit affected by the event, a previous and current development stage of the work unit, a previous and current team working on the work unit, and a previous and current specialized software tool being used to perform an activity associated with the work unit.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16 wherein autonomously generating an event stream comprises autonomously generating an event stream based at least in part on the received event data, and the event stream includes data relating to changing data in at least one of the plurality of specialized software tools.

### Claim 18 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, by the at least one processor, at least a portion of a generated event stream;
receiving, by the at least one processor, a list of edits to a development stage graph that corresponds to the at least a portion of the generated event stream;
receiving, by the at least one processor, a list of edits to team information that corresponds to the at least a portion of the generated event stream; and
generating, by the at least one processor, a new event stream based at least in part on the received at least a portion of the generated event stream, the list of edits to the development stage graph, and the list of edits to team information.

### Claim 19 (depends on 18)

The computer-implemented method of claim 18, further comprising:
autonomously generating, by the at least one processor, a new software delivery value stream graph for at least one of the plurality of value stream perspectives based at least in part on the generated new event stream.

### Claim 20 (depends on 18)

The computer-implemented method of claim 18 wherein receiving a list of edits to a development stage graph comprises receiving a list of edits that specifies at least one of:
an alteration of an amount of time spent in a development stage for a type of work unit; or
a removal of a node in the development stage graph, and a set of rules that describe for a given event whether a different development stage graph node should be substituted for the node specified to be removed.

### Claim 21

A software delivery value stream graph (SDVSG) generation system, comprising:
at least one nontransitory processor-readable storage medium that stores at least one of processor-executable instructions or data; and
at least one processor communicatively coupled to the at least one nontransitory processor-readable storage medium, in operation, the at least one processor:
stores, on the at least one nontransitory processor-readable storage medium, work unit data for a plurality of work units, the work units created and managed via a plurality of specialized software tools through a plurality of development stages by a plurality of teams of one or more individuals associated with an entity;
autonomously receives event data indicative of an event from at least one of the plurality of specialized software tools;
autonomously generates an event stream based at least in part on the received event data, the event stream indicative of an effect, if any, that the event has on each of a plurality of value stream perspectives; and
autonomously generates a software delivery value stream graph for at least one of the plurality of value stream perspectives based at least in part on the generated event stream.

### Claim 22 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
autonomously monitors activity of the plurality of specialized software tools via a plurality of software connectors to the specialized software tools.

### Claim 23 (depends on 22)

The SDVSG generation system of claim 22 wherein each of the software connectors includes a mapping that describes how data entered into at least one of the specialized software tools affects particular work units stored in the at least one nontransitory processor-readable storage medium.

### Claim 24 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
receives work unit data for a work unit from a user interface accessible by at least some of the individuals of the teams.

### Claim 25 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
autonomously receives work unit data for a work unit from a software connector operatively coupled to at least one of the plurality of specialized software tools.

### Claim 26 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
analyzes the at least one generated software delivery value stream graph to determine at least one aspect of a software development process of the entity.

### Claim 27 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
causing a graphical visualization of the at least one generated software delivery value stream graph on a display device.

### Claim 28 (depends on 21)

The SDVSG generation system of claim 21 wherein the plurality of work units comprises a plurality of features, defects, or vulnerabilities of a software program.

### Claim 29 (depends on 21)

The SDVSG generation system of claim 21 wherein the event stream is indicative of an effect, if any, that the event has on each of a development stage value stream perspective, a team value stream perspective, and a tool value stream perspective.

### Claim 30 (depends on 21)

The SDVSG generation system of claim 21 wherein the software delivery value stream graph comprises a development stage value stream graph, a team value stream graph, or a tool value stream graph.

### Claim 31 (depends on 21)

The SDVSG generation system of claim 21 wherein the software delivery value stream graph comprises a development stage value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of development stages.

### Claim 32 (depends on 21)

The SDVSG generation system of claim 21 wherein the software delivery value stream graph comprises a team value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of teams.

### Claim 33 (depends on 21)

The SDVSG generation system of claim 21 wherein the software delivery value stream graph comprises a tool value stream graph that comprises a node- and edge-weighted directed graph, each of the nodes representing a different one of the plurality of specialized software tools.

### Claim 34 (depends on 21)

The SDVSG generation system of claim 21 wherein the software delivery value stream graph comprises a node- and edge-weighted directed graph, and metrics for the nodes and weights of the software delivery value stream graph are dependent at least in part on the particular value stream perspective represented by the generated software delivery value stream graph.

### Claim 35 (depends on 21)

The SDVSG generation system of claim 21 wherein the work unit data for a plurality of work units comprises, for each of the plurality of work units, a set of development stages that a particular work unit can pass through in a development stage value stream.

### Claim 36 (depends on 21)

The SDVSG generation system of claim 21 wherein the event stream includes an identification of a work unit affected by the event, a previous and current development stage of the work unit, a previous and current team working on the work unit, and a previous and current specialized software tool being used to perform an activity associated with the work unit.

### Claim 37 (depends on 36)

The SDVSG generation system of claim 36 wherein the event stream includes data relating to changing data in at least one of the plurality of specialized software tools.

### Claim 38 (depends on 21)

The SDVSG generation system of claim 21 wherein the at least one processor:
receives at least a portion of a generated event stream;
receives a list of edits to a development stage graph that corresponds to the at least a portion of the generated event stream;
receives a list of edits to team information that corresponds to the at least a portion of the generated event stream; and
generates a new event stream based at least in part on the received at least a portion of the generated event stream, the list of edits to the development stage graph, and the list of edits to team information.

### Claim 39 (depends on 38)

The SDVSG generation system of claim 38 wherein the at least one processor:
autonomously generates a new software delivery value stream graph for at least one of the plurality of value stream perspectives based at least in part on the generated new event stream.

### Claim 40 (depends on 38)

The SDVSG generation system of claim 38 wherein the list of edits specifies at least one of:
an alteration of an amount of time spent in a development stage for a type of work unit; or
a removal of a node in the development stage graph, and a set of rules that describe for a given event whether a different development stage graph node should be substituted for the node specified to be removed.
