The data associated with a given process is highly process-specific. As an example from PSP, you can notice that PSP0 defines no size metric, PSP0.1 defines estimated and actual N&C LOC, and PSP1.1 defines a host of metrics associated with Object LOC and linear regression calculations. Similarly, PSP0 contains only actual defect counts per phase, but PSP2.1 contains advanced metrics like defect removal leverage, cost of quality, etc.
The dashboard is mostly process-agnostic. As such, it provides a framework for the definition, collection, calculation, and persistence of metrics data. But it's up to each process to define the actual data elements that are associated with that process.
These data elements are defined in at least two ways. First, the dashboard contains a handful of default metrics that will be auto-generated based on the defined structure of the process at hand. These include values such as time in phase, defects injected and removed by phase, etc. To see the definitions of these default data elements, look at the ".txt" files in CVS in the <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/src/net/sourceforge/processdash/process/> directory. These default data elements are sufficient to define all the metrics used by an out-of-the-box custom process.
Of course, advanced process definitions have their own custom metrics needs. The author of a process definition declares these metrics needs with a custom data file. To see various examples, look for files in CVS named "dataFile.txt" under the <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/Templates/> directory. One example is <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/Templates/psp0.1/dataFile.txt>.
Data elements are associated with nodes in the dashboard hierarchy. If a project is called "/Project/Foo", it might have a data element called "/Project/Foo/Planning/Time" to indicate the amount of actual time spent in the Planning phase. The data element definitions described above allocate data elements to the various nodes within a given process.
Data elements within the dashboard are managed by the DataRepository. This java class is designed to handle the nonhomogenous, hierarchically arranged data described above. It is capable of reading the custom data definitions provided by process authors, defining appropriate hierarchically arranged data elements, and recalculating equations dynamically when dependent values change. The DataRepository is like a customized hybrid of a spreadsheet and a b-tree database.
One item of significant interest has always been to store dashboard data in a relational database. I've always been particularly interested in doing this, but the nonhomogenous nature of process data tends to drive extremely generalized database schemas that would be very difficult to produce reports from. I haven't yet discovered an all-around good solution that would simultaneously allow easy reporting and generic process flexibility. But I'm always open to suggestions!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I appreciate your interest & time (2005-04-14 22:04). We are using dashboard since nov 2004 and now we begin to try to store dashboard data in a relational database to get more value from data.
Probably if we define a same specific process for the team, then we can define a database schema for these process. Of course is not a general solution.
Thanks again, and if we have some valuable results I'll notify you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So is there any example for defining a custom chart or analysis graph. Consider if I need to do some regression analysis on a subset of my own data. How can I do that?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The PROBE tool (C > Tools > PROBE) allows you to perform arbitrary regression analyses of any subset of your data. You can even select any pair of metrics to explore.
You also might want to spend some time exploring the charts and reports that are present in the dashboard. Many of those charts offer customization capabilities, and virtually all of them provide "Export to Excel" hyperlinks that you can use if you want to analyze or chart the data in a different way.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It gave me 'not enough data' error although I have been using dashboard for months and I'm sure there are tons of data available.
The only difference is that I have a custom process that is slightly different from PSP2.1 process. However, I used available typed-tasks in the tool to build my process.
Do you think this is a the limiting factor? Or am I doing something wrong
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When you say you have a custom process, do you mean
(a) a custom personal process, created by writing a "template.xml" file
(b) a custom team process, created by using the Metrics Collection Framework Editor at http://www.tuma-solutions.com
If the answer is (a), please note that the PROBE tool, by default, only includes completed projects in the regression analysis. This is by design, because when you have a project in progress or one that was abandoned before completion, you don't want those data points to be included in the calculation. So if you have not been marking your projects complete, they will be filtered out of the PROBE calculation and you'll get the "not enough data' error.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is a very old thread, but significant changes have been introduced since the question was originally asked. Accordingly, I am posting with an update for others who may read this old thread.
Beginning with Process Dashboard 2.0, a relational database is now available that contains team and personal metrics data. Individuals can read about that database by visiting http://www.processdash.com/tpdw
Beginning with Process Dashboard 2.1, it is now possible to define Workflows (in a team project) that contain a PROBE planning element. Those workflows support the automatic use of the PROBE Wizard, including linear regression analysis, against components that are built using a particular workflow.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi. I am looking for the Dash data model, but I can't find it.
Any help?.
Tahks in advance.
Jos Santos Reyes
jsreyes@ambar.com.mx
Great question!
The data associated with a given process is highly process-specific. As an example from PSP, you can notice that PSP0 defines no size metric, PSP0.1 defines estimated and actual N&C LOC, and PSP1.1 defines a host of metrics associated with Object LOC and linear regression calculations. Similarly, PSP0 contains only actual defect counts per phase, but PSP2.1 contains advanced metrics like defect removal leverage, cost of quality, etc.
The dashboard is mostly process-agnostic. As such, it provides a framework for the definition, collection, calculation, and persistence of metrics data. But it's up to each process to define the actual data elements that are associated with that process.
These data elements are defined in at least two ways. First, the dashboard contains a handful of default metrics that will be auto-generated based on the defined structure of the process at hand. These include values such as time in phase, defects injected and removed by phase, etc. To see the definitions of these default data elements, look at the ".txt" files in CVS in the <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/src/net/sourceforge/processdash/process/> directory. These default data elements are sufficient to define all the metrics used by an out-of-the-box custom process.
Of course, advanced process definitions have their own custom metrics needs. The author of a process definition declares these metrics needs with a custom data file. To see various examples, look for files in CVS named "dataFile.txt" under the <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/Templates/> directory. One example is <http://cvs.sourceforge.net/viewcvs.py/processdash/processdash/Templates/psp0.1/dataFile.txt>.
Data elements are associated with nodes in the dashboard hierarchy. If a project is called "/Project/Foo", it might have a data element called "/Project/Foo/Planning/Time" to indicate the amount of actual time spent in the Planning phase. The data element definitions described above allocate data elements to the various nodes within a given process.
Data elements within the dashboard are managed by the DataRepository. This java class is designed to handle the nonhomogenous, hierarchically arranged data described above. It is capable of reading the custom data definitions provided by process authors, defining appropriate hierarchically arranged data elements, and recalculating equations dynamically when dependent values change. The DataRepository is like a customized hybrid of a spreadsheet and a b-tree database.
One item of significant interest has always been to store dashboard data in a relational database. I've always been particularly interested in doing this, but the nonhomogenous nature of process data tends to drive extremely generalized database schemas that would be very difficult to produce reports from. I haven't yet discovered an all-around good solution that would simultaneously allow easy reporting and generic process flexibility. But I'm always open to suggestions!
Thanks you very much!!
I appreciate your interest & time (2005-04-14 22:04). We are using dashboard since nov 2004 and now we begin to try to store dashboard data in a relational database to get more value from data.
Probably if we define a same specific process for the team, then we can define a database schema for these process. Of course is not a general solution.
Thanks again, and if we have some valuable results I'll notify you.
Thanks for the info Tuma!
So is there any example for defining a custom chart or analysis graph. Consider if I need to do some regression analysis on a subset of my own data. How can I do that?
The PROBE tool (C > Tools > PROBE) allows you to perform arbitrary regression analyses of any subset of your data. You can even select any pair of metrics to explore.
You also might want to spend some time exploring the charts and reports that are present in the dashboard. Many of those charts offer customization capabilities, and virtually all of them provide "Export to Excel" hyperlinks that you can use if you want to analyze or chart the data in a different way.
Yeah I tired that,
It gave me 'not enough data' error although I have been using dashboard for months and I'm sure there are tons of data available.
The only difference is that I have a custom process that is slightly different from PSP2.1 process. However, I used available typed-tasks in the tool to build my process.
Do you think this is a the limiting factor? Or am I doing something wrong
When you say you have a custom process, do you mean
(a) a custom personal process, created by writing a "template.xml" file
(b) a custom team process, created by using the Metrics Collection Framework Editor at http://www.tuma-solutions.com
If the answer is (a), please note that the PROBE tool, by default, only includes completed projects in the regression analysis. This is by design, because when you have a project in progress or one that was abandoned before completion, you don't want those data points to be included in the calculation. So if you have not been marking your projects complete, they will be filtered out of the PROBE calculation and you'll get the "not enough data' error.
Thanks Tume,
The answer is (b), I built it using Metrics Collection Framework Editor
This is a very old thread, but significant changes have been introduced since the question was originally asked. Accordingly, I am posting with an update for others who may read this old thread.
Beginning with Process Dashboard 2.0, a relational database is now available that contains team and personal metrics data. Individuals can read about that database by visiting http://www.processdash.com/tpdw
Beginning with Process Dashboard 2.1, it is now possible to define Workflows (in a team project) that contain a PROBE planning element. Those workflows support the automatic use of the PROBE Wizard, including linear regression analysis, against components that are built using a particular workflow.