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.


"Variables must have access routines."

Access routines (getters and setters) create a level of freedom and hide variable implementation details. Limited direct access to variables is generally a Good Thing. Best is when you only access a variable through its getter and setter. Then the effects of changing the variable are limited only to the access routines and not sprinkled everywhere in the code.

With access routines you can name variables more descriptively. The access routines can perform all kinds of validity checks and really make the code defend itself.

In C#, all member variables should have properties defined.

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 later the phase in a project, the more delays there will be. The complexity of a project cumulates towards the end and difficulties near the end are harder to solve than earlier problems. The complexity brings with it a huge number of interconnectivity. You cannot just change something without seeing how it affects half a dozen other things. Even the changes you have to make, aren't safe from the complexity. Faults you need to remove, bugs you need to fix and errors you need to correct all have their share of connections with the system. The less you take care about keeping the complexity to a minimum all the time, the more time you are going to waste near the end of the project. I'm saying near the end, even though I mean near the planned end of the project. It is highly likely that when you get into trouble with complexity, you're still a long, long way from finishing the project.

You can ignore cumulating complexity up to a point, after which you're in crisis mode and there is nothing else for you to do than to concentrate on the problems caused by the out-of-control complexity.

Delays can be the result of badly done or missing code inspections. There are of course many other possible reasons for why projects tend to be late rather than ready when planned. The situation is probably never as clear-cut as I make it sound above, but if you aren't ticking code now and your projects are consistently delivering late, what do you have to lose? Why not try Tick-the-Code today? This excerpt is from Chapter 2 "Symptoms".

Itchin' for a Drive?

Get your bearings:


Click for the sitemap.

Participants comment:

Actual training feedback

Click for training course details.