# DevExpress Newsletter 9: Message from the CTO

26 August 2009

My Message from the CTO for the ninth newsletter:

It seems there's a new word hitting the streets: heuristics. Well, OK, it's been around for quite a while, but I'm noticing more and more that it's being seen outside the hallowed halls of academe.

An algorithm is an exact recipe for doing something, usually computational in nature. A heuristic is like an algorithm but it's less exact. If you get an answer you don't like, you get to tweak some assumptions and parameters and try again.

An example of a heuristic is cutting clothing patterns from cloth. There's a simple algorithm for doing this: just place the pieces one after the other down the cloth. Works every time, but it's very wasteful. So you go back and try again by placing the smaller pieces alongside the larger, and fiddle around.

We're trying this out with quality. There is no real algorithm that we (or you) can follow that would produce 100% bug-free software. If there were, we'd all be using it -- duh! (Actually I lie, there probably is such an algorithm, but it would be unusable in reality, much like solving an NP-complete problem exactly.) So, instead, we're trying out some heuristics, either on their own or in combination with each other, to improve on our already high standards for quality. Like all problems that are solvable with heuristics, though, it takes time and iterations, but the company as a whole is committed to succeed.

If we find some practice that works for us, you can be sure we'll let you know. After all, "practice" means trying something over and over, until perfect. Heuristics!

A cross-pollination between something I've been researching in my spare time (it involves optimization algorithms, another prime area that uses heuristics, a.k.a. WAGs) and our internal discussions about that elusive attribute, quality. It seems that many people view quality as something that's black or white, a step function with a discontinuity: it's either of 100% quality, nothing wrong with it at all, or it's worthless; there is no middle ground. I totally disagree and, since there is no usable algorithm for quality, then it's obvious that achieving higher excellence involves iteration through time and the various shades of grey, from black to white. What the slope of the function looks like though, I have no idea .

## Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.