Chapter 1. A guided tour of Hackystat

Table of Contents

1.1. Introduction
1.2. Hackystat's Architecture
1.3. Sensors
1.4. Sensor Data Types
1.5. A Basic Usage Scenario
1.6. Registering with a Hackystat server
1.7. Downloading and installing Hackystat sensors
1.8. Using sensors to collect software product data
1.9. Using sensors to collect software process data
1.10. Defining Hackystat Workspaces for multi-user, multi-platform development
1.11. Defining Hackystat Projects to organize your data
1.12. Using Hackystat Alerts to send you email regarding your data
1.13. Using "Active Time" in the Daily Diary to understand your Day
1.14. Drilling down into your day with Event Streams
1.15. Understanding a group project using the Daily Project Details "Summary"
1.16. Drilling down into the Project data using Daily Project Details
1.17. Using Software Project Telemetry to understand development trends
1.18. Revealing co-variances in telemetry data
1.19. Drilling down to observe per-member variations in telemetry data
1.20. Hackystat in the Real World
1.21. Is Hackystat for you?
1.22. Where to go from here?

1.1. Introduction

The purpose of this chapter is to provide a short, illustrated view of Hackystat.

Hackystat is a framework for the automated collection and analysis of software engineering product and process data. It differs from other approaches to software metrics technologies in one or more of the following ways:

  • Hackystat uses sensors to unobtrusively collect data from development environment tools; there is no chronic overhead on developers to collect product and process data.

  • Hackystat is tool, environment, process, and application agnostic. The architecture does not suppose a specific operating system platform, a specific integrated development environment, a specific software process, or specific application area. A Hackystat system is configured from a set of modules that determine what tools are supported, what data is collected, and what analyses are run on this data.

  • Hackystat is intended to provide in-process project management support. Many traditional software metrics approaches are based upon the "project repository" method, in which data from prior completed projects are used to make predictions about or support control of a current project. In contrast, Hackystat is designed to collect data from a current, ongoing project, and use that data as feedback into the current project.

  • Hackystat provides infrastructure for empirical experimentation. For those wishing to compare alternative approaches to development, or for those wishing to do longitudinal studies over time, Hackystat can provide a low-cost approach to gathering certain forms of project data.

  • Hackystat is open source and is made available for no charge.