Published Tick-the-Code Material
Happy Are The Software Engineers.. (article)
My first ever published article is called "Happy Are The Software Engineers.." and it appeared in Better Software magazine in December 2006. The article describes briefly how complete concentration can create the feeling of happiness especially if the task at hand is meaningful. I wanted to highlight that working for software quality is meaningful and with Tick-the-Code you can achieve complete concentration.
Simply put, happiness is Tick-the-Code.
Tick-the-Code Inspection: Theory and Practice (paper)
My first ever scientific paper is called "Tick-the-Code Inspection: Theory and Practice" and it appeared in the peer-reviewed publication of ASQ (American Society for Quality) called Software Quality Professional.
As the name says, the paper reveals all details of Tick-the-Code up to the 24 coding rules. At the moment this paper is the most comprehensive written source for information about Tick-the-Code.
Tick-the-Code Inspection: Empirical Evidence (on Effectiveness) (paper)
My second paper is called Tick-the-Code Inspection: Empirical Evidence (on Effectiveness). It was prepared for, and first presented at, Pacific Northwest Software Quality Conference 2007. The paper presents measurements taken in Tick-the-Code training courses so far (about 50 sessions with over 300 software professionals). The results are revealing. The main point of the paper is that software engineers could keep their software much simpler and avoid making many of the errors software projects are so notorious for.
In the Appendix of the paper, you'll find all the active rules of Tick-the-Code at the time of writing (summer 2007).
Tick-the-Code - traditionally novel technique in the fight against bugs (article)
Pirkanmaan Tietojenkäsittely-yhdistys (Pitky ry) published my article in their member magazine Pitkyn Piiri 1/2008. It is called "Tick-the-Code - uusvanha tekniikka taistelussa bugeja vastaan" and it is only available in Finnish.
An Example Rule Introduced
There are 24 active rules in Tick-the-Code. Each one of them helps to locate either omissions, redundancies, ambiguities, inconsistencies or assumptions in the source code. Individual rule violations might seem minor, but when you let them accumulate long enough, you'll be in trouble.
Marked rule violations are called ticks. Try the following rule on your production-level code and see how many ticks you can find. Then analyze each tick and see if you can't improve the maintainability of your code.
The rule sample changes weekly, so in a mere 24 weeks of diligent visits, you can have yourself the complete set of Tick-the-Code rules. However, there is an easier way and you'll be rewarded with laminated rule cards to top it all up. Get trained! Contact Qualiteers if you want to know more.
DEEP (WARM-UP)
"Avoid deep nesting."
Few people can understand more than 3 levels of nested if
clauses. There are several ways to refactor code to avoid deep nesting: You can convert nested if
statements to a set of if-then-else
's or a case
statement.
You can also use status variables, break
blocks, guard clauses (returning as soon as possible) or exceptions to avoid deep nesting. Or you can factor deeply nested code into its own routine or use a more object-oriented approach.
Future Work
Tick-the-Code Inspection: The Book (book, working title)
Since 2006, there's a book on Tick-the-Code on the works. Currently the book project is on ice, as I study and gather more material and field experiences to include in the book. The book will be the most comprehensive written source on Tick-the-Code.
Excerpt from the book
The excerpt changes weekly. Each excerpt is still a draft version and might change before ending in the book.
The quality managers often see the situation differently. They might work in a longer time perspective and be satisfied with a long-term improvement. Biasing quality over time is just as one-eyed a tactic as the other way around. You must have a short-term improvement, if you want to create a sustainable quality improvement. It's probably possible to drive a long-term improvement through if you have the backing of the executive management. Without it your best bet is to propose only quality activities that provide both a short-term benefit and a long-term improvement. As a comparison, here's what the quality manager knows. His job is to try and improve quality in any way he can. He bases his actions on the Reality Report:
Bad quality equals delays (for real).
Trying to isolate the two intermingled properties of every development project, time and quality, is a lost cause. It is also a root cause for a lot of problems. The fact that organizations the world over employ project managers to deal with schedule-based matters and quality managers to take care of quality matters speaks volumes. Once you see the separation of time and quality as a clear sign that things might be going awry, you realize just how serious the matter really is. An organization biased for time over quality is like a one-eyed man on a high-wire (and not in the land of blind men). Only together with the other eye (quality) will the organization have depth vision, which is a first requisite of a successful balancing act. It's no guarantee, but without it the chances of survival are very slim indeed.
When schedule managers see quality activities as a waste of time, the quality managers have a different point-of-view. This difference can cause conflicts in a project and usually it is the schedule manager who wins the argument. This leaves the quality manager frustrated and he needs to find a better approach next time. Luckily, Tick-the-Code can be that better approach. It provides a win-win for both; it raises quality but doesn't use much time for it. It provides value both in the long term and immediately for the current project, too.
This excerpt is part of Chapter 3. "Root Causes".