US20140372417A1 - Method and System for Auditing Processes and Projects for Process Improvement - Google Patents

Method and System for Auditing Processes and Projects for Process Improvement Download PDF

Info

Publication number
US20140372417A1
US20140372417A1 US14/472,527 US201414472527A US2014372417A1 US 20140372417 A1 US20140372417 A1 US 20140372417A1 US 201414472527 A US201414472527 A US 201414472527A US 2014372417 A1 US2014372417 A1 US 2014372417A1
Authority
US
United States
Prior art keywords
company
project
dataset
best practices
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/472,527
Inventor
Todd Adam Olson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rally Software Development Corp
Original Assignee
Rally Software Development Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rally Software Development Corp filed Critical Rally Software Development Corp
Priority to US14/472,527 priority Critical patent/US20140372417A1/en
Publication of US20140372417A1 publication Critical patent/US20140372417A1/en
Assigned to 6TH SENSE ANALYTICS, INC. reassignment 6TH SENSE ANALYTICS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OLSON, TODD
Assigned to RALLY SOFTWARE reassignment RALLY SOFTWARE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: 6TH SENSE ANALYTICS, INC.
Assigned to RALLY SOFTWARE DEVELOPMENT CORP. reassignment RALLY SOFTWARE DEVELOPMENT CORP. CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 034965 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: 6TH SENSE ANALYTICS, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30424
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • G06F17/30554
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates generally to analytics for software development. Further, the present invention relates to gathering data and comparing it with best practices to establish status of a project and corrective actions.
  • the software development lifecycle is complex. It comprises multiple phases that are carried out sequentially or in parallel. These phases require teams of individuals that are often located in different physical locations to co-ordinate with each other in an efficient manner to complete all the activities in a given time. Estimating the time required for the software development phases is a harrowing task that all project managers have difficulty coping with.
  • Project managers estimate time spent on a project by requesting the team members to fill out weekly or daily timesheets.
  • the team members fill these time sheets from memory, and hence these do not provide an accurate estimate of the time spent on the various activities of a project. This in turn leads to an inaccurate picture about the current status of a project. Without a clear picture about the current status of a project, it becomes even more difficult to predict the completion date for a project and adhere to it.
  • the prior art tried to address the problem of estimating project completion and project status accurately, it fails to address the need for a system that compares project status information with best practices in the industry. Further, the prior art does not describe a way in which project completion information from various companies' offices can be stored to generate best practices without compromising the security of the data. Additionally, the prior art does not describe a way in which data is collected from various software development tools and using that data to estimate project completion and real time status. Collecting data from software development tools provides insights into the software development process and one can compare the time a person spends on various tools for completing a given task. This provides insight into a deeper level that the prior art, in general, does not provide.
  • a first aspect of the present invention is to provide best practices data relating to a software development lifecycle for a first subscriber, the first subscriber having at least one user participating in the software development lifecycle, the at least one user employing at least one tool for the software development lifecycle, the method including the steps of collecting data from the at least one tool, storing the data along with data collected from at least one second subscriber, the data relating to at least one software development lifecycle for the at least one second subscriber, deriving best practices from stored data, and displaying the best practices along with a comparison of the best practices with the data collected from the first subscriber.
  • a second aspect of the present invention is to provide best practices data relating to a software development lifecycle for a first subscriber, the first subscriber having at least one user participating in the software development lifecycle, the at least one user employing at least one tool for the software development lifecycle, the system including at least one client computer having at least one monitor module, the monitor module collecting data from the at least one tool used by the at least one user for the software development lifecycle, the data collected relating to the usage of the at least one tool, at least one aggregator module for collecting data from the at least one monitor module, at least one server for storing data, the server collecting data from the at least one aggregator module, and a data presentation module for deriving best practices data from the stored data and for presenting the best practices data to at least one subscriber.
  • a third aspect of the present invention is to provide best practices data relating to a knowledge based project for a first subscriber, the first subscriber having at least one user participating in the knowledge based project, the at least one user employing at least one tool for the knowledge based project, the method including the steps of collecting data from the at least one tool, storing the data along with data collected from at least one second subscriber, the data relating to at least one knowledge based project for the at least one second subscriber, deriving best practices from stored data, and displaying the best practices along with a comparison of the best practices with the data collected from the first subscriber.
  • FIG. 1 is a schematic of the overall system, in accordance with an embodiment of the present invention.
  • FIG. 2 is a schematic of a system depicting data collection, in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic of a system depicting data presentation, in accordance with an embodiment of the present invention.
  • the present invention provides for tracking time spent on various activities in a software development project by one or more users working on the project.
  • the present invention also stores this data to derive metrics and best practices.
  • the metrics and best practices are compared with project data to analyze the current status of the project and to estimate the completion timeframe for the current project.
  • data is collected from multiple applications or tools that are used in the software development lifecycle. This data is then transferred to a database at a central location. Data is collected from multiple users in multiple organizations and stored in the database. This data can then be aggregated to form best practices. These best practices can be overall, based on organization size, location, specialization, or any other attribute related to organizations, and/or based on project phase, project tasks, or any other project related attribute. The best practices indicate the total time it should take to complete a project and/or the time it should take to complete a portion or a step of a project. These best practices show the timeline of a project and the important tasks and phases that should be completed. Based on the best practices and phases or tasks completed, a user can estimate the current status of the project and a completion data for the project.
  • FIG. 1 is a schematic of the overall system, in accordance with an embodiment of the present invention.
  • the system comprises server 102 .
  • Server 102 comprises database 104 .
  • the system also comprises subscribers 106 and 108 .
  • Subscribers 106 and 108 are organizations that have access to connect to server 102 .
  • subscribers 106 and 108 are individuals, software development communities, organizations, companies, divisions or departments of entities, etc.
  • Subscriber 106 comprises client 110 and client 112 .
  • subscriber 108 comprises client 114 and client 116 .
  • Clients 110 , 112 , 114 and 116 are personal computers, laptops, PDA's, mobile devices, tablet PC's or any other device with computational ability. Client 110 and 112 belong to subscriber 106 or are operated by users who are affiliated with subscriber 106 . Similarly, client 114 and 116 belong to subscriber 108 or are operated by users who are affiliated with subscriber 108 . In other embodiments, a large number of subscribers can be present in the system. Similarly, in other embodiments, the number of clients per subscriber can vary in number. Clients 110 , 112 , 114 , and 116 are connected to server 102 via network 118 . An example of network 118 is the internet.
  • network 118 can be a local area network, wide area network, wireless network, or other means of communication between a server and a client known in the art.
  • database 104 is separate from server 102 and is connected to server 102 via a network or other means known in the art.
  • FIG. 2 is a schematic of a system depicting data collection, in accordance with an embodiment of the present invention.
  • Client 110 comprises application 202 , application 204 , monitor module 206 and aggregator module 208 .
  • Applications 202 and 204 are software applications that can be executed on client 110 and are used in the software development lifecycle. Examples of applications 202 and 204 are software development languages and environments such as MS Visual Studio, Borland JBuilder, Eclipse, GNU Emacs, VIM, Idea IntelliJ and others.
  • Applications 202 and 204 can also include software testing tools such as Mercury QuickTestPro, Mercury Winrunner and Segue SILK, bug tracking tools such as Bugzilla, Atlassian Jira, IBM/Rational Clearquest, code repositories such as CVS and MS SourceSafe and any other software product that is used for the software development lifecycle.
  • Monitor Module 206 monitors the activity of client 110 and records time spent using applications 202 and 204 . This information is passed on to aggregator module 208 by monitor module 206 .
  • monitor module constantly monitors the activity of applications 202 and 204 and any other software, service, process, web server, database server that may be running on client 110 .
  • Aggregator module 208 collects data sent by monitor module 206 and transmits the data to server 102 .
  • aggregator module 208 communicates the data at predetermined intervals. In another embodiment, aggregator module 208 communicates the data at a predefined time of the day, week or month. In another embodiment, aggregator module 208 communicates data when connection between itself and server 102 is made available. In an embodiment, aggregator module 208 does not reside on client 110 , but at a central location such that aggregator module 208 can communicate with monitor module 206 for multiple clients.
  • Aggregator module 208 sends data collected from monitor module 206 to server 102 via network 118 .
  • aggregator module also sends information that can uniquely identify client 110 , subscriber 106 to which client 110 belongs, or combinations thereof.
  • the data contains information such as application name, time spent, username, date time and information about activities such as edit file, open file, save file, build started, build ended, debug and design edit. Please note that this list is meant to serve as an example and other type of data can be collected by monitor module 206 .
  • Server 102 receives the data along with fields that identify the client, the subscriber, or combinations thereof sending the data and stores it in database 104 .
  • Monitor module 206 are based on the Hackystat open-source project sponsored by the University of Hawaii. Monitor modules 206 use architecture common to the Hackystat sensor architecture to collect usage information from applications 202 and 204 on client computer 110 . More information on Hackystat is available on their project website, http://www.hackystat.org. Monitor module 206 interacts with applications 202 and 204 at the API level to capture events that are user-initiated. These events correspond to one of many predefined activity types that can be collected by aggregator module 208 . The aggregator module collects and sends this data
  • FIG. 3 is a schematic of a system depicting data and best practices presentation, in accordance with an embodiment of the present invention.
  • Server 102 comprises web server 302 and data presentation module 304 .
  • Client 114 sends a request to web server 302 via network 118 to view best practice data.
  • Web server 302 forwards the request along with data identifying the subscriber to which client 114 belong to data presentation module 304 .
  • Data presentation module retrieves project data stored in database 104 and generates best practices from the data. In one embodiment, best practices are generated by aggregating data that is stored in database 104 .
  • data presentation module 304 selects data on the basis of the request sent by client 114 .
  • client 114 may request to view best practices of subscribers that are similar to the subscriber 108 , on the basis of size, number of people, type of product developed, revenue or other parameters.
  • client 114 requests to view best practices on the basis of type of project, number of people required for project, completion time of project, programming language or environment of the project, or any other attribute of the project.
  • Data presentation module 304 retrieves data from database 104 on the basis of the type of request from client 114 .
  • Data presentation module also retrieves data stored in database 104 for subscriber 108 , client 114 or combinations thereof. This data is presented along with the best practices to client 114 for comparison purposes.
  • the data representing the best practices does not provide information relating to where the data is collected from to client 114 . This protects privacy of subscribers of the system, such that other subscribers cannot identify data from other subscribers, but are only presented with aggregated data from multiple subscribers.
  • client 114 is provided with an alert module that constantly compares the progress of the current project with best practices and alerts a user if there is a deviation or if the deviation is more than a predetermined value.
  • the system provides for tracking time spent on various activities in a knowledge based activity or project by one or more users working on the project.
  • the present invention also stores this data to derive metrics and best practices.
  • the metrics and best practices are compared with project data to analyze the current status of the project and to estimate the completion timeframe for the current project.
  • Examples of knowledge based activities or projects include research projects, business consulting projects, and other project types that require users to work on software tools on a computer.
  • monitor module 206 tracks time spent on the various tools and reports this data to aggregator module 206 . Best practices are generated from the stored data based on the project type, knowledge based activity, project sector or other parameters.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention provides for tracking time spent on various activities in a software development project by one or more users working on the project. The present invention also stores this data to derive metrics and best practices. The metrics and best practices are compared with project data to analyze the current status of the project and to estimate the completion timeframe for the current project.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 11/634,579 filed Dec. 6, 2006, which is incorporated herein by reference in its entirety.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to analytics for software development. Further, the present invention relates to gathering data and comparing it with best practices to establish status of a project and corrective actions.
  • 2. Description of the Prior Art
  • The software development lifecycle is complex. It comprises multiple phases that are carried out sequentially or in parallel. These phases require teams of individuals that are often located in different physical locations to co-ordinate with each other in an efficient manner to complete all the activities in a given time. Estimating the time required for the software development phases is a harrowing task that all project managers have difficulty coping with.
  • It is even more difficult is to estimate the amount of time spent on a particular task in a particular phase of a software development project. This is because team members often work on multiple software development projects simultaneously. It is important to have an accurate estimate of the time spent on a project by all team members in order to accurately estimate the time remaining and the completion date of the project. It also helps in providing managers with knowledge about the current status of the project, and if the project is proceeding as planned.
  • Project managers estimate time spent on a project by requesting the team members to fill out weekly or daily timesheets. The team members fill these time sheets from memory, and hence these do not provide an accurate estimate of the time spent on the various activities of a project. This in turn leads to an inaccurate picture about the current status of a project. Without a clear picture about the current status of a project, it becomes even more difficult to predict the completion date for a project and adhere to it.
  • It is also difficult to estimate the performance of teams with such inaccurate data. One measure of performance is comparison of the team's performance with industry wide best practices. Since the best practices are computed by collecting performance data, which is inaccurate to begin with, from multiple sources, the comparison will also not yield an accurate picture of the state of the current processes.
  • There are numerous solutions in the prior art addressed towards this problem. One such example is U.S. Pat. No. 6,519,763 titled “Time Management and Task Completion and Management Software” assigned to Compuware Corporation. This patent describes an apparatus for ascertaining project completion and managing a project with high efficiency and accuracy. It comprises of data collectors that automatically gather data that is generated by various tools, such as scheduling, defect tracking, and other software management and quality tools. The data is analyzed to generate statistical measures relating to the status of the project. The data collectors collect data from project management software, defect reports and testing reports and other sources that provide information about the project status.
  • Another such solution is described in U.S. Patent Application Pub. No. 20050289503 titled “System for Identifying Project Status and Velocity through Predictive Measures” by Clifford, Gregory. This patent application describes a method for providing visibility into the real time progress and status of software development projects by collecting measures from software development tools about the progress of the project, examining data sources created during the progress of the project and evaluating the collected data by using expert reasoning system based on causal modeling to arrive at project velocity views. The system collects data from sources such as configuration management systems, defect management systems, project management system and source code.
  • Although the prior art tried to address the problem of estimating project completion and project status accurately, it fails to address the need for a system that compares project status information with best practices in the industry. Further, the prior art does not describe a way in which project completion information from various companies' offices can be stored to generate best practices without compromising the security of the data. Additionally, the prior art does not describe a way in which data is collected from various software development tools and using that data to estimate project completion and real time status. Collecting data from software development tools provides insights into the software development process and one can compare the time a person spends on various tools for completing a given task. This provides insight into a deeper level that the prior art, in general, does not provide.
  • From the above discussion, it is clear that there is a need for a system that will collect data from tools used for software development, but will also collect data across organizations and store the data in such a way that privacy of the organizations is not compromised. Further, the system should be able to generate best practices from the collected data and to provide comparisons about current trends of a software project with the industry best practices.
  • SUMMARY OF THE INVENTION
  • A first aspect of the present invention is to provide best practices data relating to a software development lifecycle for a first subscriber, the first subscriber having at least one user participating in the software development lifecycle, the at least one user employing at least one tool for the software development lifecycle, the method including the steps of collecting data from the at least one tool, storing the data along with data collected from at least one second subscriber, the data relating to at least one software development lifecycle for the at least one second subscriber, deriving best practices from stored data, and displaying the best practices along with a comparison of the best practices with the data collected from the first subscriber.
  • A second aspect of the present invention is to provide best practices data relating to a software development lifecycle for a first subscriber, the first subscriber having at least one user participating in the software development lifecycle, the at least one user employing at least one tool for the software development lifecycle, the system including at least one client computer having at least one monitor module, the monitor module collecting data from the at least one tool used by the at least one user for the software development lifecycle, the data collected relating to the usage of the at least one tool, at least one aggregator module for collecting data from the at least one monitor module, at least one server for storing data, the server collecting data from the at least one aggregator module, and a data presentation module for deriving best practices data from the stored data and for presenting the best practices data to at least one subscriber.
  • A third aspect of the present invention is to provide best practices data relating to a knowledge based project for a first subscriber, the first subscriber having at least one user participating in the knowledge based project, the at least one user employing at least one tool for the knowledge based project, the method including the steps of collecting data from the at least one tool, storing the data along with data collected from at least one second subscriber, the data relating to at least one knowledge based project for the at least one second subscriber, deriving best practices from stored data, and displaying the best practices along with a comparison of the best practices with the data collected from the first subscriber.
  • These and other aspects of the present invention will become apparent to those skilled in the art after a reading of the following description of the preferred embodiment when considered with the drawings, as they support the claimed invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic of the overall system, in accordance with an embodiment of the present invention.
  • FIG. 2 is a schematic of a system depicting data collection, in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic of a system depicting data presentation, in accordance with an embodiment of the present invention.
  • DETAILED DESCRIPTION
  • In the following description, like reference characters designate like or corresponding parts throughout the several views. Also in the following description, it is to be understood that such terms as “forward,” “rearward,” “front,” “back,” “right,” “left,” “upwardly,” “downwardly,” and the like are words of convenience and are not to be construed as limiting terms.
  • The present invention provides for tracking time spent on various activities in a software development project by one or more users working on the project. The present invention also stores this data to derive metrics and best practices. The metrics and best practices are compared with project data to analyze the current status of the project and to estimate the completion timeframe for the current project.
  • In an embodiment, data is collected from multiple applications or tools that are used in the software development lifecycle. This data is then transferred to a database at a central location. Data is collected from multiple users in multiple organizations and stored in the database. This data can then be aggregated to form best practices. These best practices can be overall, based on organization size, location, specialization, or any other attribute related to organizations, and/or based on project phase, project tasks, or any other project related attribute. The best practices indicate the total time it should take to complete a project and/or the time it should take to complete a portion or a step of a project. These best practices show the timeline of a project and the important tasks and phases that should be completed. Based on the best practices and phases or tasks completed, a user can estimate the current status of the project and a completion data for the project.
  • Referring now to the drawings in general, the illustrations are for the purpose of describing a preferred embodiment of the invention and are not intended to limit the invention thereto. FIG. 1 is a schematic of the overall system, in accordance with an embodiment of the present invention. The system comprises server 102. Server 102 comprises database 104. The system also comprises subscribers 106 and 108. Subscribers 106 and 108 are organizations that have access to connect to server 102. In an embodiment, subscribers 106 and 108 are individuals, software development communities, organizations, companies, divisions or departments of entities, etc. Subscriber 106 comprises client 110 and client 112. Similarly, subscriber 108 comprises client 114 and client 116. Clients 110, 112, 114 and 116 are personal computers, laptops, PDA's, mobile devices, tablet PC's or any other device with computational ability. Client 110 and 112 belong to subscriber 106 or are operated by users who are affiliated with subscriber 106. Similarly, client 114 and 116 belong to subscriber 108 or are operated by users who are affiliated with subscriber 108. In other embodiments, a large number of subscribers can be present in the system. Similarly, in other embodiments, the number of clients per subscriber can vary in number. Clients 110, 112, 114, and 116 are connected to server 102 via network 118. An example of network 118 is the internet. In other embodiments, network 118 can be a local area network, wide area network, wireless network, or other means of communication between a server and a client known in the art. In an embodiment, database 104 is separate from server 102 and is connected to server 102 via a network or other means known in the art.
  • FIG. 2 is a schematic of a system depicting data collection, in accordance with an embodiment of the present invention. Client 110 comprises application 202, application 204, monitor module 206 and aggregator module 208. Applications 202 and 204 are software applications that can be executed on client 110 and are used in the software development lifecycle. Examples of applications 202 and 204 are software development languages and environments such as MS Visual Studio, Borland JBuilder, Eclipse, GNU Emacs, VIM, Idea IntelliJ and others. Applications 202 and 204 can also include software testing tools such as Mercury QuickTestPro, Mercury Winrunner and Segue SILK, bug tracking tools such as Bugzilla, Atlassian Jira, IBM/Rational Clearquest, code repositories such as CVS and MS SourceSafe and any other software product that is used for the software development lifecycle. Monitor Module 206 monitors the activity of client 110 and records time spent using applications 202 and 204. This information is passed on to aggregator module 208 by monitor module 206. In an embodiment, monitor module constantly monitors the activity of applications 202 and 204 and any other software, service, process, web server, database server that may be running on client 110. Aggregator module 208 collects data sent by monitor module 206 and transmits the data to server 102. In an embodiment, aggregator module 208 communicates the data at predetermined intervals. In another embodiment, aggregator module 208 communicates the data at a predefined time of the day, week or month. In another embodiment, aggregator module 208 communicates data when connection between itself and server 102 is made available. In an embodiment, aggregator module 208 does not reside on client 110, but at a central location such that aggregator module 208 can communicate with monitor module 206 for multiple clients.
  • Aggregator module 208 sends data collected from monitor module 206 to server 102 via network 118. In addition to sending the data, aggregator module also sends information that can uniquely identify client 110, subscriber 106 to which client 110 belongs, or combinations thereof. The data contains information such as application name, time spent, username, date time and information about activities such as edit file, open file, save file, build started, build ended, debug and design edit. Please note that this list is meant to serve as an example and other type of data can be collected by monitor module 206. Server 102 receives the data along with fields that identify the client, the subscriber, or combinations thereof sending the data and stores it in database 104.
  • Monitor module 206 are based on the Hackystat open-source project sponsored by the University of Hawaii. Monitor modules 206 use architecture common to the Hackystat sensor architecture to collect usage information from applications 202 and 204 on client computer 110. More information on Hackystat is available on their project website, http://www.hackystat.org. Monitor module 206 interacts with applications 202 and 204 at the API level to capture events that are user-initiated. These events correspond to one of many predefined activity types that can be collected by aggregator module 208. The aggregator module collects and sends this data
  • FIG. 3 is a schematic of a system depicting data and best practices presentation, in accordance with an embodiment of the present invention. Server 102 comprises web server 302 and data presentation module 304. Client 114 sends a request to web server 302 via network 118 to view best practice data. Web server 302 forwards the request along with data identifying the subscriber to which client 114 belong to data presentation module 304. Data presentation module retrieves project data stored in database 104 and generates best practices from the data. In one embodiment, best practices are generated by aggregating data that is stored in database 104.
  • In generating the best practices, data presentation module 304 selects data on the basis of the request sent by client 114. In an embodiment, client 114 may request to view best practices of subscribers that are similar to the subscriber 108, on the basis of size, number of people, type of product developed, revenue or other parameters. In another embodiment, client 114 requests to view best practices on the basis of type of project, number of people required for project, completion time of project, programming language or environment of the project, or any other attribute of the project. Data presentation module 304 retrieves data from database 104 on the basis of the type of request from client 114. Data presentation module also retrieves data stored in database 104 for subscriber 108, client 114 or combinations thereof. This data is presented along with the best practices to client 114 for comparison purposes. The data representing the best practices does not provide information relating to where the data is collected from to client 114. This protects privacy of subscribers of the system, such that other subscribers cannot identify data from other subscribers, but are only presented with aggregated data from multiple subscribers.
  • In an embodiment of the present invention, client 114 is provided with an alert module that constantly compares the progress of the current project with best practices and alerts a user if there is a deviation or if the deviation is more than a predetermined value.
  • In one embodiment, the system provides for tracking time spent on various activities in a knowledge based activity or project by one or more users working on the project. The present invention also stores this data to derive metrics and best practices. The metrics and best practices are compared with project data to analyze the current status of the project and to estimate the completion timeframe for the current project. Examples of knowledge based activities or projects include research projects, business consulting projects, and other project types that require users to work on software tools on a computer. In this embodiment, monitor module 206 tracks time spent on the various tools and reports this data to aggregator module 206. Best practices are generated from the stored data based on the project type, knowledge based activity, project sector or other parameters.
  • Certain modifications and improvements will occur to those skilled in the art upon a reading of the foregoing description. By way of example, the scope of the present invention is not limited to the software tools mentioned as examples in this text. Also, other types of projects can be tracked by this system. Additionally, the present invention can function with only one organization as a subscriber. In this case, departments or divisions of that single entity can function as multiple subscribers. Data from these divisions can be aggregated to form community based data. All modifications and improvements have been deleted herein for the sake of conciseness and readability but are properly within the scope of the following claims. The above mentioned examples are provided to serve a purpose of clarifying the aspects of the invention and it will be apparent to one skilled in the art that they do not serve to limit the scope of the invention.

Claims (20)

The invention claimed is:
1. A method for providing software development lifecycle best practices comprising steps of:
providing at least one software development tool at each of at least a first and a second company;
at least one server for each company communicating over a network with at least one system server;
the company server collecting and updating at least one dataset for each company, each dataset including company attributes and usage time of each software development tool;
the system server aggregating each of the datasets into an aggregated dataset;
the system server periodically comparing at least two of the datasets to each other and storing comparison data in the aggregated dataset;
the system server periodically deriving best practices from the aggregated dataset;
the company server or the system server providing the best practices to at least one of the companies.
2. The method of claim 1, wherein the company attributes include location, specialization, employee size and/or revenue.
3. The method of claim 1, wherein the best practices including a total time for completion of a project, a time to complete at least one portion of the project, and/or a timeline of important tasks and phases of the project.
4. The method of claim 1, wherein the dataset further includes tool activity data including coding activity, testing activity, and/or bug fixing activity, and wherein the usage time is subdivided by the tool activity data.
5. The method of clam 1, wherein each of the companies is prevented from viewing the dataset of any other company.
6. The method of claim 1, wherein the step of periodically comparing and/or the step of periodically deriving is performed daily, weekly or monthly.
7. The method of claim 1, wherein the step of periodically deriving best practices from the aggregated dataset further comprises a subset of the aggregated dataset relating to:
a design stage, a development stage or an implementation stage;
a coding activity, a testing activity, or a bug fixing activity;
at least one of the company attributes; and/or
at least one project attribute including project type, phase, tasks, number of people required, completion time, programming language, and/or environment.
8. The method of claim 1, wherein the step of collecting and updating is performed either continuously or periodically.
9. The method of claim 1, further comprising:
wherein at least one company further includes at least two projects, and wherein the dataset for the at least one company includes project attributes; and
wherein the project attributes include project type, phase, tasks, number of people required, completion time, programming language, and/or environment.
10. The method of claim 1, further comprising a step estimating a completion time and a real-time status of a project.
11. The method of claim 1, further comprising steps of:
comparing a first dataset of the first company to the best practices to create best comparison data;
providing the best comparison data to at least one user of the first company; and
wherein the best comparison data includes a deviation of the first dataset from the best practices when the deviation exceeds a predetermined value.
12. A method for providing software development lifecycle best practices comprising steps of:
providing at least a first and a second company, each of the companies employing at least one software development tool;
providing at least one monitor module for each company, at least one aggregator module and at least one presentation module;
wherein each module resides on at least one server for each company or at least one system server, each of the server configured to communicate over a network with each other;
each of the monitor modules collecting and updating at least one dataset for each company, each dataset including company attributes and usage time of each software development tool;
the at least one aggregator module aggregating each of the datasets into an aggregated dataset;
the at least one system server storing the aggregated dataset, periodically comparing at least two of the datasets to each other, and storing comparison data in the aggregated dataset;
the at least one data presentation module periodically deriving best practices from the aggregated dataset and presenting the best practices to at least one of the computers.
13. The method of claim 12, further comprising:
wherein the company attributes include location, specialization, employee size and/or revenue;
wherein the best practices including a total time for completion of a project, a time to complete at least one portion of the project, and/or a timeline of important tasks and phases of the project; and
wherein the dataset further includes tool activity data including coding activity, testing activity, and/or bug fixing activity, and wherein the usage time is subdivided by the tool activity data.
14. The method of clam 12, wherein each of the companies is prevented from viewing the dataset of any other company.
15. The method of claim 12, wherein the step of periodically deriving best practices from the aggregated dataset further comprises a subset of the aggregated dataset relating to:
a design stage, a development stage or an implementation stage;
a coding activity, a testing activity, or a bug fixing activity;
at least one of the company attributes; and/or
at least one project attribute including project type, phase, tasks, number of people required, completion time, programming language, and/or environment.
16. The method of claim 12, wherein the step of collecting and updating is performed either continuously or periodically.
17. The method of claim 12, further comprising:
wherein at least one company further includes at least two projects, and wherein the dataset for the at least one company includes project attributes; and
wherein the project attributes include project type, phase, tasks, number of people required, completion time, programming language, and/or environment.
18. The method of claim 12, further comprising a step of estimating a completion time and a real-time status of a project.
19. The method of claim 12, further comprising steps of:
comparing a first dataset of the first company to the best practices to create best comparison data;
providing the best comparison data to at least one user of the first company; and
wherein the best comparison data includes a deviation of the first dataset from the best practices when the deviation exceeds a predetermined value.
20. A system for providing software development lifecycle best practices comprising:
at least a first and a second company, each of the companies including employing at least one software development tool;
at least one monitor module configured to collect and update at least one dataset for each company, each dataset including company attributes and usage time of each software development tool;
at least one aggregator module configured to aggregate each of the datasets into an aggregated dataset;
at least one comparison module configured to periodically compare at least two of the datasets to each other;
at least one system server configured to store the aggregated dataset and the comparison data in the aggregated dataset;
at least one data presentation module configured to periodically derive best practices from the aggregated dataset and present the best practices to at least one of the computers;
wherein each of the modules resides on at least one server for each company or the at least one system server;
wherein each of the servers is configured to communicate over a network with each other.
US14/472,527 2006-12-06 2014-08-29 Method and System for Auditing Processes and Projects for Process Improvement Abandoned US20140372417A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/472,527 US20140372417A1 (en) 2006-12-06 2014-08-29 Method and System for Auditing Processes and Projects for Process Improvement

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/634,579 US8832639B2 (en) 2006-12-06 2006-12-06 Method and system for comparative community based analytics
US14/472,527 US20140372417A1 (en) 2006-12-06 2014-08-29 Method and System for Auditing Processes and Projects for Process Improvement

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/634,579 Continuation US8832639B2 (en) 2006-12-06 2006-12-06 Method and system for comparative community based analytics

Publications (1)

Publication Number Publication Date
US20140372417A1 true US20140372417A1 (en) 2014-12-18

Family

ID=39492551

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/634,579 Active 2030-08-15 US8832639B2 (en) 2006-12-06 2006-12-06 Method and system for comparative community based analytics
US14/472,527 Abandoned US20140372417A1 (en) 2006-12-06 2014-08-29 Method and System for Auditing Processes and Projects for Process Improvement

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/634,579 Active 2030-08-15 US8832639B2 (en) 2006-12-06 2006-12-06 Method and system for comparative community based analytics

Country Status (2)

Country Link
US (2) US8832639B2 (en)
WO (1) WO2008070108A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180165284A1 (en) * 2016-12-09 2018-06-14 Microsoft Technology Licensing, Llc Managing information about document-related activities
US11030259B2 (en) 2016-04-13 2021-06-08 Microsoft Technology Licensing, Llc Document searching visualized within a document
CN114817028A (en) * 2022-04-22 2022-07-29 智汇(中山)信息技术有限公司 Multi-target cross debugging system based on software development platform

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225270B2 (en) * 2007-06-12 2012-07-17 Intuit Inc. Technique for managing the process of developing software
US8381169B2 (en) * 2007-10-30 2013-02-19 International Business Machines Corporation Extending unified process and method content to include dynamic and collaborative content
US8336028B2 (en) * 2007-11-26 2012-12-18 International Business Machines Corporation Evaluating software sustainability based on organizational information
US20100269087A1 (en) * 2009-04-20 2010-10-21 Vidya Abhijit Kabra Software tools usage framework based on tools effective usage index
KR101113690B1 (en) 2009-09-15 2012-02-14 한국과학기술원 Apparatus and method for anslyzing activity information
US20120102450A1 (en) * 2010-10-22 2012-04-26 Infosys Technologies Limited Method and system for determining performance parameters of software project based on software-engineering tools usage
US9251484B2 (en) 2012-06-01 2016-02-02 International Business Machines Corporation Predicting likelihood of on-time product delivery, diagnosing issues that threaten delivery, and exploration of likely outcome of different solutions
US11321081B2 (en) * 2012-11-20 2022-05-03 International Business Machines Corporation Affinity recommendation in software lifecycle management
US20140350994A1 (en) * 2013-05-23 2014-11-27 International Business Machines Corporation Providing best practice workflow to aid user in completing project that is constantly updated based on user feedback
US9646269B1 (en) 2013-12-04 2017-05-09 Amdocs Software Systems Limited System, method, and computer program for centralized guided testing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015823A1 (en) * 2001-04-19 2004-01-22 Nolan Darla K. Computer system and method with adaptive N-level structures for automated generation of program solutions based on rules input by subject matter experts
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US20040093584A1 (en) * 2002-10-31 2004-05-13 Bearingpoint, Inc., A Delaware Corporation Facilitating software engineering and management in connection with a software development project according to a process that is compliant with a qualitatively measurable standard
US20060123389A1 (en) * 2004-11-18 2006-06-08 Kolawa Adam K System and method for global group reporting
US7954090B1 (en) * 2004-12-21 2011-05-31 Zenprise, Inc. Systems and methods for detecting behavioral features of software application deployments for automated deployment management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930798A (en) * 1996-08-15 1999-07-27 Predicate Logic, Inc. Universal data measurement, analysis and control system
JPH1115646A (en) * 1997-06-25 1999-01-22 Fujitsu Ltd Technique information managing system
US6519763B1 (en) * 1998-03-30 2003-02-11 Compuware Corporation Time management and task completion and prediction software
US6873961B1 (en) * 1998-09-09 2005-03-29 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for identifying and tracking project trends
US6748582B1 (en) * 1999-03-05 2004-06-08 Microsoft Corporation Task list window for use in an integrated development environment
US6965800B2 (en) * 2001-06-29 2005-11-15 National Instruments Corporation System of measurements experts and method for generating high-performance measurements software drivers
US7305392B1 (en) * 2001-11-02 2007-12-04 Apex Innovations, Inc. Multi-organizational project management system
KR20030056232A (en) * 2001-12-27 2003-07-04 엘지전자 주식회사 Software Process Appraising Method
US20040068490A1 (en) * 2002-10-07 2004-04-08 Alan Guibord System and method for providing advisory services
US7774349B2 (en) * 2003-12-11 2010-08-10 Microsoft Corporation Statistical models and methods to support the personalization of applications and services via consideration of preference encodings of a community of users
US7647579B2 (en) * 2004-03-31 2010-01-12 International Business Machines Corporation Method, system and program product for detecting deviation from software development best practice resource in a code sharing system
US20050289503A1 (en) * 2004-06-29 2005-12-29 Gregory Clifford System for identifying project status and velocity through predictive metrics
US7698248B2 (en) * 2007-01-24 2010-04-13 Rally Software Method and system for auditing processes and projects for process improvement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US20040015823A1 (en) * 2001-04-19 2004-01-22 Nolan Darla K. Computer system and method with adaptive N-level structures for automated generation of program solutions based on rules input by subject matter experts
US20040093584A1 (en) * 2002-10-31 2004-05-13 Bearingpoint, Inc., A Delaware Corporation Facilitating software engineering and management in connection with a software development project according to a process that is compliant with a qualitatively measurable standard
US20060123389A1 (en) * 2004-11-18 2006-06-08 Kolawa Adam K System and method for global group reporting
US7954090B1 (en) * 2004-12-21 2011-05-31 Zenprise, Inc. Systems and methods for detecting behavioral features of software application deployments for automated deployment management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030259B2 (en) 2016-04-13 2021-06-08 Microsoft Technology Licensing, Llc Document searching visualized within a document
US20180165284A1 (en) * 2016-12-09 2018-06-14 Microsoft Technology Licensing, Llc Managing information about document-related activities
US10740407B2 (en) * 2016-12-09 2020-08-11 Microsoft Technology Licensing, Llc Managing information about document-related activities
CN114817028A (en) * 2022-04-22 2022-07-29 智汇(中山)信息技术有限公司 Multi-target cross debugging system based on software development platform

Also Published As

Publication number Publication date
WO2008070108A1 (en) 2008-06-12
US20080141214A1 (en) 2008-06-12
US8832639B2 (en) 2014-09-09
WO2008070108B1 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
US8832639B2 (en) Method and system for comparative community based analytics
US8266072B2 (en) Incident communication interface for the knowledge management system
US8996397B2 (en) Performance dashboard monitoring for the knowledge management system
US20180225601A1 (en) Evaluating business components in an enterprise
US8589196B2 (en) Knowledge management system
US7698248B2 (en) Method and system for auditing processes and projects for process improvement
US8886549B2 (en) Incremental, real-time computation of aggregate expressions
US20160026939A1 (en) Activity-Based Relationship System
US20080208644A1 (en) Apparatus and Method for Measuring Service Performance
US8527328B2 (en) Operational reliability index for the knowledge management system
US20120282576A1 (en) System for managing formal mentoring programs
Talla et al. An implementation of ITIL guidelines for IT support process in a service organization
US8275797B2 (en) Academy for the knowledge management system
US8544726B1 (en) Method and system for providing an automated and integrated R and D tax credit tool
US8595051B2 (en) Metrics capability self assessment
JP2007517329A (en) Use of technical performance metrics for business and usage analysis and cost allocation
WO2020154505A1 (en) Workforce sentiment monitoring and detection systems and methods
Ranisavljević et al. Management information system and decision making process in enterprise
Shameem et al. Impact of requirements volatility and flexible management on GSD project success: A study based on the dimensions of requirements volatility
Valverde et al. ITIL-based IT service support process reengineering
Tosun et al. Implementation of a software quality improvement project in an SME: a before and after comparison
WO2023079394A1 (en) Generating efficiency metrics for knowledge workers
Silva et al. Collaborative risk management in software projects
Valverde et al. DSS based it service support process reengineering using ITIL: A case study
Akpan et al. Use of mobile phone and facility-based server technology in routine immunization and disease surveillance activities in nigeria: strengthening polio surveillance

Legal Events

Date Code Title Description
AS Assignment

Owner name: 6TH SENSE ANALYTICS, INC., NORTH CAROLINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OLSON, TODD;REEL/FRAME:034965/0662

Effective date: 20081222

Owner name: RALLY SOFTWARE, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:6TH SENSE ANALYTICS, INC.;REEL/FRAME:034965/0683

Effective date: 20100222

AS Assignment

Owner name: RALLY SOFTWARE DEVELOPMENT CORP., COLORADO

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 034965 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:6TH SENSE ANALYTICS, INC.;REEL/FRAME:046976/0091

Effective date: 20100222

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION