Don’t take me wrong, but I’m convinced that software engineering is not about fixing bugs. Well, you have to fix bugs sometimes, but you do not have to that always. If you have product with no bugs, you do not have to fix them. All you have to do is build a product in a right way from the very beginning. From the time you’ve got the “Aha!” idea for a new piece of software. Think it’s impossible? Have you ever seen civil engineers fix skyscraper after they’ve built it?
I’m really surprised to see a press-release from INTSPEI entitled “Fix Bugs Early with INTSPEI P-Modeling Framework“. If we are doomed to have defects in our software, then, of course, it is better to fix them early. But if we are not?
August 13, 2007 at 7:05 pm
In real world, we don’t use super-developers for every project: we use a cost-effective approaches.
Second, software is different from construction. It’s hundreds times more flexible then building blocks, hundreds times more diverse, and thus – can become thousands times more complex. Of course, unless you’re taking only projects that are toy simple for you
Third, a bug is not necessary a mistake in doing you’re told to: it might be misunderstanding or understatement or unclarity or not your bug, or tens of things.
August 13, 2007 at 9:01 pm
Well, you know that super-developers developers are more productive than average developers by order of magnitude, you know. But they are not ten times more expensive! So cost-effectiveness on mediocrity is ve-e-ery questionable.
Software is much less different from construction than you might think. Each building is built by its own unique project that takes into account hundred of things from winds and landscape to possible power outages and earthquakes. Skyscrapers are built by imperfect people from imperfect bricks or building blocks. And to my mind civil engineering is different from software engineering only by maturity of approaches and techniques and predictable quality of results.
August 14, 2007 at 7:06 pm
1. There are not enough even “plain” developers.
And even for bugless guys, sometimes they are tens times more productive, and sometimes the job is very much like digging holes: you can’t make more then one meter in an hour.
2. Every analogy is true only to certain degree, and construction to programming is far beyond it.
Builders are not architects, their operations are all the same. You don’t invent a way to set every brick or block – there is only one way to do it.
August 14, 2007 at 10:01 pm
Victor, your words certainly make sense for present moment, but I believe that we should be changing that for future.
I’d rather be an advocate of perfection than justifier of faultiness.