Mark Fink, Tabane Limited
When software projects reach a considerable size (multi-person, multi-man-year) they are difficult to maintain, which results in high maintenance efforts, code duplication, bugs and other related problems. The consequences are limited in software life cycles especially in areas where software evolves rapidly. For example, in an industry setting software usually is re-implemented every 3-5 years. This is commonly considered as the only foolproof strategy currently available. I consider this a huge waste of resources and truly a sign of software crisis.
Quality initiatives could make a significant difference, but suffer from tight budgets. Since testing is never finished, it is desired to drive testing efforts to parts of the software product that would benefit the most.
The root cause of the software crisis is that we cannot see or touch the software like we can see or touch the work products of other engineering disciplines, such as construction or mechanics. You can instantly see whether a car is missing the bumper, a door or the windshield. The quality of a software end product is not as obviously apparent.
What if we could make the quality of software visible? This would govern testing initiatives and could help to decide if we are really ready for go life. The talk will provide in-depth insights on how to visualize different aspects of software quality. Reference to valuable literature is given (e.g. University of Maryland, Professor Edward Tufte, etc.).
The talk will feature a demonstration of the software quality visualization (qa-visualizer) using the Mozilla Firefox browser code base as an example. The qa-visualizer’s implementation is based on several open source projects (CouchDb, Python plus some extensions, JavaScript, YUI3). Mark Fink is the maintainer of the open source qa-visualizer.
2010 Technical Paper, Mark Fink, Paper