Patent Issued for Dependency management in software development (USPTO 11409507): State Farm Mutual Automobile Insurance Company
2022 AUG 25 (NewsRx) -- By a
Patent number 11409507 is assigned to
The following quote was obtained by the news editors from the background information supplied by the inventors: “Software development projects can be developed according to different development methodologies, such as a waterfall development methodology or an agile development methodology. In the waterfall development methodology, developers may develop an entire software development project in full over a relatively long period of time. However, in many cases, the waterfall development methodology can lead to long periods of time going by before it becomes apparent that the software development project is not meeting its goals. Many developers thus prefer the agile development methodology, which prioritizes creating distinct and smaller components of a larger software development project on a more rapid schedule. For example, a software development project can be broken into smaller components, such as epics, features, and/or stories. Each of these smaller components can be developed individually on relatively short timeframes, such as during program increments (PIs) that may be measured in weeks. Accordingly, the agile development methodology may allow issues with any of the smaller components to be found and corrected relatively quickly.
“In many cases, development of one component of a software development project, such as an epic, feature, or story, may depend on development of one or more other components of the software development project, or of a different software development project. For example, a front-end user interface for a billing system may utilize an Application Programming Interface (API) to interact with a back-end portion of the billing system. Development of the front-end user interface may depend on completion of development of the back-end portion of the system and/or the API. Accordingly, if a programmer is assigned to work on the front-end portion of the system, the programmer may be unable to develop the front-end portion if development of the back-end portion or the API has not yet been completed. Thus, for scheduling and planning purposes, it can be difficult to know when components of a project have been, or will be, completed, and to determine when development of other related components can begin.
“Although some conventional software project management systems allow project managers and other users to track the development progress of individual components of a larger project, it can be difficult to track dependency relationships between related components of the project in such conventional software project management systems. Even if conventional software project management systems are able to indicate that development of a particular component is dependent on development of another component, conventional software project management systems often do not provide information about the status of the dependency relationship itself. This can make project planning and scheduling more difficult, as a user cannot easily determine when a component associated with a dependency is projected to be completed such that development of a related component can begin, the user cannot determine if programmers associated with dependencies are on schedule or behind schedule on development of their assigned components, and the user cannot otherwise track the status of dependencies associated with the software development project.
“Additionally, in agile development practices, frequent prioritization and re-prioritization of work may occur, which can impact a dependent developer. Production defects, resource outages, and other occurrences may impact the ability to deliver a dependency on time. Conventional software project management systems may not adequately reflect or communicate these issues to all impacted developers. Conventional software project management systems also often struggle with the speed at which decisions associated with dependencies are made, and with evaluating impacts to subsequent dependencies and/or associated components. For example, a developer requiring a dependency may experience re-prioritization that would allow more time for development of the dependency to be completed by another party. In the agile development methodology, such changes in timing and expectations can occur rapidly and require instant feedback because of shortened durations. However, conventional software project management systems often fail to timely notify parties of such changes.
“The example systems and methods described herein may be directed toward mitigating or overcoming one or more of the deficiencies described above.”
In addition to the background information obtained for this patent, NewsRx journalists also obtained the inventors’ summary information for this patent: “Described herein are systems and methods that a software project management system can use to track dependencies between components of a software development project. The software project management system can have data objects associated with components of the software development project, such as individual epics, features, and/or stories. The software project management system can also have separate data objects that are specifically associated with dependency relationships between two or more components of the software development project, such that the data objects for the dependency relationships can store status information and other information about the dependency relationships themselves. The software project management system can also have a user interface that allows users to view and/or edit information about the dependency relationships, based on the data objects associated with the dependency relationships.
“According to a first aspect, a computer-implemented method can include creating, in memory, a dependency object that represents a dependency relationship associated with a software development project. The dependency object can include a state indicator that identifies a state of the dependency relationship, at least two component identifiers that identify at least two components of the software development project, separate from the dependency object, that are associated with the dependency relationship, and one or more dates associated with the dependency relationship. The method can further include receiving new information associated with the dependency relationship and updating the dependency object based on the new information. The method can additionally include displaying, in a user interface and based on the dependency object, information associated with the dependency relationship.
“According to a second aspect, a computing device can include one or more processors and memory storing computer-executable instructions that, when executed by the one or more processors, cause the computing system to perform operations. The operations can include creating, in the memory, a dependency object that represents a dependency relationship associated with a software development project. The dependency object can include a state indicator that identifies a state of the dependency relationship, at least two component identifiers that identify at least two components of the software development project, separate from the dependency object, that are associated with the dependency relationship, and one or more dates associated with the dependency relationship. The operations can further include receiving new information associated with the dependency relationship and updating the dependency object based on the new information. The operations can additionally include displaying, in a user interface and based on the dependency object, information associated with the dependency relationship.
“According to a third aspect, one or more non-transitory computer-readable media can store computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The operations can include creating, in memory, a dependency object that represents a dependency relationship associated with a software development project. The dependency object can include a state indicator that identifies a state of the dependency relationship, at least two component identifiers that identify at least two components of the software development project, separate from the dependency object, that are associated with the dependency relationship, and one or more dates associated with the dependency relationship. The operations can further include receiving new information associated with the dependency relationship and updating the dependency object based on the new information. The operations can additionally include displaying, in a user interface and based on the dependency object, information associated with the dependency relationship.”
The claims supplied by the inventors are:
“1. A computer-implemented method, comprising: creating, by a software project management system, and in memory storing object data maintained by the software project management system, a dependency object that represents a dependency relationship between at least two components of a software development project, wherein the object data comprises: a plurality of data objects that represents the at least two components associated with the dependency relationship; and the dependency object, wherein the dependency object is a distinct data object in the object data, separate from the plurality of data objects in the object data that represents the at least two components associated with the dependency relationship, and the dependency object comprises: a state indicator that identifies a state of the dependency relationship; at least two component identifiers that identify the at least two components of the software development project that are associated with the dependency relationship, wherein at a first time, the at least two component identifiers indicate that the dependency relationship is between a first epic and a second epic of the software development project; and date information indicating one or more dates associated with the dependency relationship; receiving, by the software project management system, new information associated with the dependency relationship indicating that, at a second time, the second epic has been divided into a first feature and a second feature; updating, by the software project management system, the dependency object based on the new information by adjusting the at least two component identifiers to indicate that the dependency relationship is between the first epic and at least one of the first feature or the second feature; and displaying, by the software project management system, and based on the dependency object, information associated with the dependency relationship in a user interface.
“2. The computer-implemented method of claim 1, further comprising: determining, by the software project management system, that the updating the dependency object triggers an action; and performing, by the software project management system, the action based on the updating the dependency object.
“3. The computer-implemented method of claim 1, further comprising: receiving, by the software project management system, additional information indicating that the state of the dependency relationship has changed; and updating, by the software project management system, the state indicator of the dependency object based on the additional information.
“4. The computer-implemented method of claim 1, further comprising displaying, by the software project management system, and in the user interface, additional information associated with at least one additional dependency relationship based on at least one additional dependency object.
“5. The computer-implemented method of claim 4, wherein the user interface arranges the information associated with the dependency relationship and the additional information associated with the at least one additional dependency relationship based on the state indicator of the dependency object and state indicators of the at least one additional dependency object.
“6. The computer-implemented method of claim 5, wherein the information and the additional information are displayed in the user interface via a Kanban board.
“7. The computer-implemented method of claim 4, wherein the user interface arranges the information associated with the dependency relationship and the additional information associated with the at least one additional dependency relationship based on one or more of: program increments, or a timeline associated with the dependency object and the at least one additional dependency object.
“8. The computer-implemented method of claim 1, further comprising: determining, by the software project management system, and based on the date information indicating the one or more dates in the dependency object, that the dependency relationship is behind schedule; and displaying, by the software project management system, and based in the user interface, a warning indicating that the dependency relationship is behind schedule.
“9. The computer-implemented method of claim 1, wherein the dependency object further comprises one or more of: a dependency identifier, one or more owner identifiers, one or more product area identifiers, an acceptance criteria, or one or more notes.
“10. The computer-implemented method of claim 4, wherein the at least one additional dependency relationship is between two or more of epics, features, stories, or other dependency relationships associated with the software development project.
“11. A computing device, comprising: one or more processors; memory storing object data and computer-executable instructions associated with a software project management system, wherein the computer-executable instructions, when executed by the one or more processors, cause the computing device to perform operations comprising: maintaining, in the object data, a plurality of data objects that represents at least two components of a software development project; creating, in the object data, a dependency object that represents a dependency relationship between the at least two components of the software development project, wherein the dependency object is a distinct data object in the object data, separate from the plurality of data objects in the object data that represents the at least two components associated with the dependency relationship, and the dependency object comprises: a state indicator that identifies a state of the dependency relationship; at least two component identifiers that identify the at least two components of the software development project that are associated with the dependency relationship, wherein at a first time, the at least two component identifiers indicate that the dependency relationship is between a first epic and a second epic of the software development project; and date information indicating one or more dates associated with the dependency relationship; receiving new information associated with the dependency relationship indicating that, at a second time, the second epic has been divided into a first feature and a second feature; updating the dependency object based on the new information, by adjusting the at least two component identifiers to indicate that the dependency relationship is between the first epic and at least one of the first feature or the second feature; and displaying, in a user interface, and based on the dependency object, information associated with the dependency relationship.
“12. The computing device of claim 11, wherein: the dependency object further comprises an indication of an acceptance criteria associated with the dependency relationship, and the operations further comprise: receiving additional information indicating that the acceptance criteria has been met; and changing the state indicator to indicate that the dependency relationship is closed, based on the additional information.
“13. The computing device of claim 11, wherein the date information indicates a target completion date, and the operations further comprise: determining that the dependency relationship is behind schedule based on a comparison of a current date against the target completion date; and displaying, in the user interface, a warning indicator indicating that the dependency relationship is behind schedule.
“14. The computing device of claim 11, wherein the operations further comprise: determining that the updating the dependency object triggers an action; and performing the action based on the updating the dependency object.
“15. The computing device of claim 11, wherein the operations further comprise: receiving additional information indicating that the state of the dependency relationship has changed; and updating the state indicator of the dependency object based on the additional information.”
There are additional claims. Please visit full patent to read further.
URL and more information on this patent, see: Shepherd, Nate. Dependency management in software development.
(Our reports deliver fact-based news of research and discoveries from around the world.)
Patent Issued for Privacy management systems and methods (USPTO 11410106): OneTrust LLC
National Kidney Foundation Patient Network: Kidney Diseases and Conditions – Alport Syndrome
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News