Patent Issued for Dependency management in software development (USPTO 11922150): State Farm Mutual Automobile Insurance Company
2024 MAR 26 (NewsRx) -- By a
The assignee for this patent, patent number 11922150, is
Reporters obtained the following quote 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 obtaining background information on this patent, NewsRx editors 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: maintaining, by a software project management system, a plurality of component data objects associated with a software development project, wherein individual component data objects represent corresponding components of the software development project; identifying, by the software project management system, a dependency relationship between a first component of the software development project and a second component of the software development project; creating, by the software project management system, a dependency data object representing the dependency relationship between the first component and the second component, wherein the dependency data object is distinct from the plurality of component data objects and identifies: a first component data object, of the plurality of component data objects, corresponding to the first component associated with the dependency relationship, and a second component data object, of the plurality of component data objects, corresponding to the second component associated with the dependency relationship; detecting, by the software project management system, a change in the dependency relationship; and automatically updating, by the software project management system, the dependency data object based on the change in the dependency relationship.
“2. The computer-implemented method of claim 1, wherein: the change in the dependency relationship is a date change, and the dependency data object is automatically updated to adjust a date indicated by the dependency data object based on the date change.
“3. The computer-implemented method of claim 2, wherein the date is a target completion date or an estimated completion date.
“4. The computer-implemented method of claim 1, wherein: the change in the dependency relationship is a state change associated with a current state of the dependency relationship, and the dependency data object is automatically updated to adjust a state indicator that identifies, from among a plurality of states associated with a lifetime of the dependency relationship, the current state of the dependency relationship based on the state change.
“5. The computer-implemented method of claim 4, further comprising: determining, by the software project management system, that the state change indicates that the current state of the dependency relationship has changed to a closed state based on an acceptance criteria associated with the dependency relationship being satisfied; and creating, by the software project management system, based on the current state of the dependency relationship having changing to the closed state, a second dependency data object representing a second dependency relationship between two or more component data objects of the plurality of component data objects.
“6. The computer-implemented method of claim 1, further comprising: determining, by the software project management system, a type of the change; and sending, by the software project management system, and to an entity identified in the dependency data object, a notification indicative of the type of the change.
“7. The computer-implemented method of claim 1, wherein: the change in the dependency relationship is a division of the second component into multiple components, and the dependency data object is automatically updated to indicate that the dependency relationship is between the first component and at least one of the multiple components.
“8. The computer-implemented method of claim 1, further comprising displaying, by the software project management system, information associated with the dependency relationship in a user interface of the software project management system, based on the dependency data object.
“9. The computer-implemented method of claim 1, wherein the components of the software development project, represented by the individual component data objects, comprise at least one of: epics, features that are narrower in scope than the epics, or stories that are narrower in scope than the features.
“10. A computing device, comprising: one or more processors; and memory storing computer-executable instructions associated with a software project management system that, when executed by the one or more processors, cause the computing device to perform operations comprising: maintaining a plurality of component data objects associated with a software development project, wherein individual component data objects represent corresponding components of the software development project; creating a dependency data object representing a dependency relationship between a first component of the software development project and a second component of the software development project, wherein the dependency data object is distinct from the plurality of component data objects and identifies: a first component data object, of the plurality of component data objects, corresponding to the first component associated with the dependency relationship, and a second component data object, of the plurality of component data objects, corresponding to the second component associated with the dependency relationship; detecting a change in the dependency relationship; and automatically updating the dependency data object, based on the change in the dependency relationship.
“11. The computing device of claim 10, wherein: the change in the dependency relationship is a date change, and the dependency data object is automatically updated to adjust a date indicated by the dependency data object based on the date change.
“12. The computing device of claim 10, wherein: the change in the dependency relationship is a state change associated with a current state of the dependency relationship, and the dependency data object is automatically updated to adjust a state indicator that identifies, from among a plurality of states associated with a lifetime of the dependency relationship, the current state of the dependency relationship based on the state change.
“13. The computing device of claim 10, wherein the operations further comprise: determining a type of the change; and sending, to an entity identified in the dependency data object, a notification indicative of the type of the change.
“14. The computing device of claim 10, wherein: the change in the dependency relationship is a division of the second component into multiple components, and the dependency data object is automatically updated to indicate that the dependency relationship is between the first component and at least one of the multiple components.
“15. The computing device of claim 10, wherein the operations further comprise displaying information associated with the dependency relationship in a user interface of the software project management system, based on the dependency data object.
“16. One or more non-transitory computer-readable media storing computer-executable instructions associated with a software project management system that, when executed by one or more processors, cause the one or more processors to perform operations comprising: maintaining a plurality of component data objects associated with a software development project, wherein individual component data objects represent corresponding components of the software development project; creating a plurality of dependency data objects representing dependency relationships associated with the software development project, wherein an individual dependency data object represents a dependency relationship between: two or more components of the software development project, or the dependency relationship and at least one additional dependency relationship; detecting changes to the dependency relationships; and automatically updating the plurality of dependency data objects, based on the changes to the dependency relationships.
“17. The one or more non-transitory computer-readable media of claim 16, wherein the operations further comprise displaying, in a user interface of the software project management system, at least one of: current states of the dependency relationships, based on state indicators of the plurality of dependency data objects, or timelines associated with the dependency relationships, based on date information indicated by the plurality of dependency data objects.
“18. The one or more non-transitory computer-readable media of claim 17, wherein the operations further comprise: determining, based on the date information, that the dependency relationship is behind schedule; and displaying, in the user interface, a warning that the dependency relationship is behind schedule.
“19. The one or more non-transitory computer-readable media of claim 16, wherein the changes to the dependency relationships are associated with at least one of: date changes associated with the dependency relationships, state changes associated with current states of the dependency relationships, within lifetimes of the dependency relationships, or divisions of individual components, of the components of the software development project that are associated with the dependency relationships, into multiple components.
“20. The one or more non-transitory computer-readable media of claim 16, wherein the changes comprise a first change in association with a first dependency data object, and the operations further comprise: determining a type of the first change; and sending, to an entity identified in the first dependency data object, a notification indicative of the type of the first change.”
For more information, see this patent: Shepherd, Nate. Dependency management in software development.
(Our reports deliver fact-based news of research and discoveries from around the world.)
Patent Issued for Accident re-creation using augmented reality (USPTO 11922548): Allstate Insurance Company
“System And Method For Achieving Goals” in Patent Application Approval Process (USPTO 20240078238): Data Health Partners Inc.
Advisor News
Annuity News
Health/Employee Benefits News
Life Insurance News