Diving into HackyStat
What is HackyStat?
- Hacky – Something definitely related to Software.
- Stat – Statistics. Software Statistics. Software Telemetry.
HackyStat is a framework for advanced software telemetry. When you can monitor many chronological aspects of the software, you can have a fine grained view about where the project is proceeding! The idea is to, non intrusively, collect as much data as possible about various matrices in software development.
How old is the project?
It has been under development since 2001. But just went a major re-write. Presently at Generation 8.
What does it do.
Here is a simple explanation.
- Many Tools collect various data.
- Your code coverage report.
- Unit testing report.
- Code Churn
- Sensors collect this data from client installation. send over to sensor base at a server.
- There are other servers, that talk through RESTful APIs to this sensor base.
- You can create/design your own web/service to have further insight into the collected data.
The Architecture
- This is not a basic client server technology.
- This is a RESTful architecture.
- Many servers. Many Clients.
- Everything doing just “a small plain simple job” but together many things.
What can it do for you?
(Copied directly from http://code.google.com/p/hackystat/ )
Hackystat is an open source framework for collection, analysis, visualization, interpretation, annotation, and dissemination of software development process and product data. The Hackystat Framework supports three software development communities:
- Researchers. Hackystat can be used to support empirical software engineering experimentation, metrics validation, and more long range research initiatives such as collective intelligence.
- Practitioners. Hackystat can be used as infrastructure to support professional development, either proprietary or open source, by facilitating the collection and analysis of information useful for quality assurance, project planning, and resource management.
- Educators. Hackystat is actively used in software engineering courses at the undergraduate and graduate levels to introduce students to software measurement and empirically guided software project management.
