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.
DEFAULT (WARM-UP)
"A switch
must always have a default
clause."
An empty default
clause is often missing something.
Use the default
clause to capture the impossible, never occurring cases.
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.
In organizations with suboptimal code inspections, you are expected to use only your common sense in checking. Without any explicit guidelines, you have to resort to your own experiences and your sense of what constitutes a defect. You might even come to think that that's the best and only way to check. Implicit (secret, unshared) guidelines in general are an obvious symptom of second-rate inspections.
Voltaire once wrote that "common sense is not so common." Everybody has common sense, but the problem with common sense as a checking target is that every checker has a slightly different target. No two people are alike, nor do their senses of correctness and validity match exactly. The differences can be a strength sometimes in avoiding unnecessary overlapping in checking but more often the differences cause friction in the feedback phase. Problems in feedback are the subject in Suboptimal Feedback.
The author can't solve the challenge of common sense. Should he follow his own common sense or should he try to distill the common sense from the checkers' findings? Should the author try and combine his own common sense with the common sense of the checkers'? How should he behave when there is disagreement in an item between the checkers and him? Whose common sense is the ruling one? As long as there isn't one dominating set of explicit guidelines, the differing (implicit) guidelines will clash.
Thinking that common sense is enough as a guideline is one of the symptoms that point out suboptimal inspection practices. The results from such checks will be worse than they could be if explicit rules are used. In Chapter 2 "Symptoms", these kinds of signs are in the foreground. They are there for everybody to see, and they point to inefficiencies in the software quality control. Noticing a symptom can help in finding a reasonable process improvement.