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.
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.
On the individual level, everything can start innocently enough. You think "I could have coded this much better, but there's no time now. I'll fix it after the weekend. Nobody'll notice." Trying to just get away with something opens the door to the Vicious Circle of Busyness. On Monday, something else comes in between and you eventually forget the fix. Your slightly suboptimal code slips into the release and nobody notices. Next time, going over where the fence is at its lowest is even easier. Before long, shortcutting quality becomes a habit. Everything is fine. You have found a nice and cozy way of working. It doesn't exactly make you proud, but at least you're on schedule. Until one day, when a customer notices a problem.
The customer in this fictional example is an internal one. There were several customer projects, all integrating the newest versions in their code bases. For a long time, the customers had been unhappy with the code. It didn't integrate very well, and it was difficult to configure. Until today there hadn't been a real reason to complain about it. Now there was a clear error in the code. The originator would certainly hear about this. An error report ought to make him change his ways. And while we're at it, let's complain about those other things, too.
The first few error reports surprise you and you try your best to respond as quickly as you can. You are working on some other new features at the time and remembering how you implemented the erroneous code takes a little longer than it should have. You don't really have time to completely finish the error handling of the new feature, but it should be fine. These critical errors are more urgent, anyway. If you don't fix them quickly, your boss might notice and then there would be hell to pay.
But the new feature isn't fine. The customers of the code are disappointed with it too, and come up with several error reports on it. You are trapped in the Vicious Circle of Busyness. You can't find your way out because there is always something, a critical error or some new functionality, that you have to work on.
You don't even notice when your working day turns from nice and cozy to chronic stress. Being constantly under pressure starts to affect your ability to code. You have no time to improve your skills, you can't even keep them at their original level. You aren't proud of your coding. You aren't able to apply your skill like you know only you can. Coding isn't fun with everybody demanding something from you. After a few months of feeling meaningless and inadequate, you suffer a nervous breakdown and have to take medical leave. Your colleagues talk about burn-out but never see you again. You quit the whole software business as no fun.
The story is fictional and over the top, but it should highlight the fact that taking shortcuts in quality to save time usually means to shortchange quality for time. You seem to gain some time now, but when the unfinished business comes back to haunt you, the rework required is much more than you saved. Overall it doesn't pay off to try and cheat in quality. Reality will kick back. The problem is that even if you wanted to do it right, there's no time once you get stuck in the Vicious Circle of Busyness. You suddenly have two problems, the suboptimal quality in the old task and no time to properly finish the new task, either.
The Vicious Circle of Busyness is an important concept in Chapter 3. "Root Causes". In this excerpt, we look at it with from an individual point-of-view. There are also teams and whole oraganizations caught up in the circle. The situation isn't as hopeless as it sounds. If you are held hostage by the Vicious Circle of Busyness, i.e. you have been ignoring quality in order to save time, Tick-the-Code can help you.












