1. A method for providing best practices data relating to a software development lifecycle for multiple subscriber companies with multiple users wherein at least one of the multiple subscribers is a first subscriber with at least one user participating in the software development lifecycle, the multiple users employing at least one tool for code development for the software development lifecycle, the method comprising the steps of: a. continuously collecting a multiplicity of sets of data relating to the use of the at least one tool for code development from the multiple users in the multiple subscriber companies, wherein the data relates to at least one software development lifecycle and includes subscriber company attributes, including company size, location, specialization and revenue, and wherein the data further includes project attributes, including project type, phase, tasks, number of people required, completion time, programming language, and environment; b. storing and periodically updating the multiple sets of data along with at least one second set of data continuously collected from at least one second subscriber company to form an aggregated set of data, the at least one second set of data relating to at least one software development lifecycle for the at least one second subscriber company, and periodically comparing updated data sets; c. periodically deriving multi-company best practices from the aggregated set of data; d. alerting the user when deviating from best practices; e. displaying the best practices along with a comparison of the best practices with the first set of data, wherein the displayed best practices include the total time it should take to complete the project, the time it should take to complete a portion of the project, and the timeline of a project and the important tasks and phases; and f. estimating the current status of the project and a completion date for the project.