Friday, April 29, 2005

Empirical vs Deductive

When you are programming, there are two different mechanisms I've seen developers use on Agile projects. One is deductive and the other is empirical.

In deductive programming developers first examine the model, design the piece they need to build, and then program it.

In empirical programming developers dive into the code, build something and then refine it until it looks reasonable, eventually settling when the code is good enough for them.

I've seen both ridiculed - on as over design and the other as hacking.

Which is better? The best people I've seen have been able to combine these methods. Through a combination of empirical and deductive programming they arrive at the best answer. Discussion leads to better experiments, which leads to better understand which leads to better discussion...


Post a Comment

<< Home