Thursday, November 6, 2008

SoftwareI ICU: Monitor your application's health

Introduction
The teams continue their engineering of DueDates with the introduction of Hackystat a new software engineering tool that monitors a project's vital statistics. With Hackystat Team Purple will be able to monitor key vital signs during its implementation of version 1.2.

Software ICU
Being able to track the progression of a project is a great benefit to a development team. Seeing the vitals of a system as it is being developed, will in the end, be robust, fully functional, and written in an efficient manner.
For DueDates, the development teams will have their projects monitored by Hackystat. The Hackystat system, developed by Professor Johnson, keeps track of a project's development by attaching sensors to Eclipse, Ant, and Hudson. The sensors, embedded into the user's system keeps track of the programmer's implementation of the application and sends a signal to Hackystat. With a web browser the development team can see the healthiness or unhealthiness of a project as its being developed.

Issues with Hackystat
The problems I was having with Hackystat was not with the system itself but with setting up the environment variables. Because some of the dependencies were quite long it was easy to miss a typo. When trying perform a build command with Ant I was getting an error saying the class could not be located which was due to a bad enviroment variable that was mislabeled. A troubleshooting page would be a nice addition to the Hackystat website. A lot of time would be saved from trying to track down a problem.

The Patient's condition
Team Purple's condition as of this writing is in satisfactory condition. Our coverage is in the yellow which is borderline the team can improve this area by writing more unit tests which should increase our coverage to the green. However, it will be difficult to get full coverage because of the private methods. It is nice to see that our code is not overly complex and the coupling is good. My enthusiasm over the project's current state is tempered by the fact that we have not started our modifications to the code for version 1.2. For now I will appreciate none of the vitals are red and we are close to %90> coverage.

Conclusion
The class is fortunate to be able to get hands on experience with Professor Johnson's Hackystat system. I can see how Hackystat is both an effective tool and detriment to the team. Because seeing a red number can be a killer to a team's confidence. The strength of Hackystat is being able to see the code is fully functioning, it is not too complex, and each class is not overly dependent on each other, as well as other aspects of the project. Tracking the vitals of a system will prove to be beneficial with the end result of the application.