Patent ID: 8219435

Claim:
A method for determining a status of a particular task, the method comprising: retrieving, on a milestone system, project management data comprising a completion deadline for the particular task and project-related files, at least two of the project-related files comprising text describing activity associated with the particular task; retrieving, from a key word data store, a text file comprising a plurality of milestone indicators, each of the plurality of milestone indicators comprising a particular status and a key word associated with the particular status, the key word comprising a word that, when encountered during a search of the text of the at least two of the project-related files, indicates the particular status of the particular task, wherein the text file comprises a plurality of keywords and a plurality of statuses associated with respective key words, and wherein a milestone indicator is defined by a single key word and a single status associated with the single key word; executing, by the milestone system, a search of the text of the project-related files to determine whether a key word associated with at least one of the plurality of milestone indicators appears in the text of at least two of the project-related files; determining, by the milestone system, that the key word associated with the at least one of the milestone indicators appears in the at least two of the project-related files; and in response to determining that the keyword associated with the at least one of the milestone indicators appears in the text of the at least two of the project-related files, analyzing at least a portion of the text surrounding the key word appearing in the text of each of the at least two of the project-related files, determining the status of the particular task based upon a particular status indicated by the milestone indicator and the text surrounding the key word, determining an expected status of the particular task based upon a completion data included in the project management data, comparing the status to the expected status, in response to determining that the status differs from the expected status, automatically generating a notification that the status differs from the expected status, and in response to determining that the status does not differ from the expected status, updating the project management data to reflect the status.