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.

Future Work

Tick-the-Code Inspection: The Book (book, working title)

Since 2006, I'm writing a book on Tick-the-Code to be the most comprehensive written source. I've written first drafts of all chapters, except one. I have received some review comments and acted on them. I have contacted a few publishers and received more comments (no approval yet). O'Reilly editor Andy Oram even mentions us in the Beautiful Code blog. Next, we'll need to get people excited about the concept and the book and then approach the publishers again.

Excerpt from the book

The excerpt changes weekly. Each excerpt is still a draft version and might change before ending in the book.

Too cautious checker

If you are overly cautious as checker, you produce far too many findings for your and the author's own good. You seem allergic to defects. No matter how negligible, if there is a flaw in the code, you mark it. No defect is too trivial for you. For example, typographical errors in comments, cosmetic flaws in the placement of comment boxes, and differences in preferred style will all be marked. You concentrate fully on the Plentiful Principle.

Just the sheer amount of findings dictates that most of the findings will be minor in effect, some of them insignificant or meaningless. When seeing an overwhelming number of findings, the author is discouraged, and once he realizes lack of relevance of the findings, he rejects possibly all of them. Although you honor the Plentiful Principle in trying to play it too safe, you end up breaching the Acceptance Agreement:

The more acceptable findings there are, the better.

The author 'accepts' a finding by fixing it. Sometimes you cannot call improving code 'fixing' it because the code isn't actually broken. In this sense, I prefer to use the word 'change' for whatever the author does to the accepted findings he gets. Sometimes 'changing' the code is very close to refactoring it. Refactoring means to improve the design of the code without changing its functionality. Strictly interpreted, the Acceptance Agreement says that any ignored finding is wasted effort. You shouldn't use it in isolation, though. Combined with the Plentiful Principle, the Acceptance Agreement helps you find the Utopia of code inspection. The Ideal In Inspections is

The more findings the author changes, the better.

Each changed finding is meant to improve the source code, so maximizing the number of changes produces the best value for the effort the checkers and the author spend in a code inspection. This is completely at odds to the thinking of many managers and software developers in denial: "Don't fix it if it ain't broken." I say, "Give quality a chance!"

Sometimes the participants of a code inspection process break it. A part of Chapter 2. "Symptoms" are things that can go wrong with code inspections. Too cautious checkers make it hard for others to take findings seriously, which undermines the whole inspection process.

Itchin' for a Drive?

Get your bearings:

sitemap

Click for the sitemap.

Participants comment:

Actual training feedback

Click for training course details.