1. A method of automatically and continuously updating an urgency rating of a backlog item associated with a technical debt of a software development project, the technical debt representing potential additional work or rework associated with current code, the method comprising: defining a plurality of components that comprise the software development project; associating, with a processor, the technical debt with one or more components of the plurality of components; and updating, with the processor, the urgency rating of the backlog item associated with the technical debt according to a function based on a development event associated with at least one of the one or more components; initializing a state for each of the plurality of components and defining a second function for updating the state based on the development event, wherein the function to update the urgency rating uses the output of the second function.