We talk about “software products” and “product teams.” What does this even mean, “product?” It is not the definition I learned in school. Economics 101: the output of the economy is “goods and services.” Goods, also called “products,” are physical items that you can buy, take home, and have. Like, if you buy a rug, … Read moreWhat is this “product” you speak of?
As a programmer, especially a strong-typing functional programmer, I love abstraction. Defining what the program does and expressing that cleanly in code. The code should express little else. Now I’m studying secure code, and it is the opposite. It’s all about what can happen, not what should. So many nitty-gritty details of network protocols, memory … Read moreWhat functional programming and secure code have in common
They ask us for quality. What is “quality”? “Well, free of defects.” (Oh it’s a lot more than that.) What is a “defect”? “Well, when it doesn’t work like we expect it to. Like we agreed it should.” Trust me, you didn’t specify how it works. That’s my job, as a developer. To organize all … Read moreOne Secret to Quality Software
When outcomes are hard to measure, we can measure activity toward those outcomes which gets us more activity which is a negative, really, for any given outcome. We’d like to have the same outcome for less effort. but when you measure and reward effort, instead we get maximum effort. What’s the alternative? If we want … Read moreMeasuring effort gets you effort
How important is correctness? This is a raging debate in our industry today. I think the answer depends strongly on the kind of problem a developer is trying to solve: is the problem contracting or expanding? A contracting problem is well-defined, or has the potential to be well-defined with enough rigorous thought. An expanding problem … Read moreCorrectness
“Quality software.” It means something different to everyone who hears it. You know quality when you see it, right? Or maybe when you smell it. Like a good perfume. Perfume preferences are different for everyone, and quality means something different for every application. In perfume, we can discover and describe our preferences using the Fragrance … Read moreThe Quality Wheel