Carlos, On Monday 05 March 2007 07:32, Carlos E. R. wrote:
The Monday 2007-03-05 at 07:03 -0800, Randall R Schulz wrote:
next suse release... which adds new bugs, so we never are "finished", not even nearly so.
The only software that's finished is software that's dead. No one's job is more interminable than that of the author of successful software.
I know - didn't you notice the '"'?
It sounded like you thought that was a bad thing.
Mixed feelings.
I want no bugs, and I want new features. Therefore, I would prefer bugs being cleared before commencing work on new features... at least, having left only negligible bugs that do not impede working with the affected program.
That is unrealistic. Fixing bugs alone does not add sufficient value (in most circumstances) to justify the effort required. (The don't call economics the dismal science for nothing.) Of course, there are fields where errors are far more costly: Avionics, medical diagnostic and therapeutic devices, spacecraft, etc. In those areas, the requisite effort is devoted to drive errors down to rates acceptable in those applications. But even then, no one expects zero defects. They want zero defects. They strive for zero defects, but they do not wait for zero defects to field the technologies. Nor could they. Many defects are manifest only in actual operational contexts.
IMO, I consider a program to be finished when it has no bugs left. Adding new features is like a new project.
That, too, is an unrealistic view. Incremental development is a cornerstone of sound software engineering. The monolithic approach is unsustainable, as experience has already shown us.
I know programmers never consider a program finished. I programmed for a living, so I know that... but that is not necesarily a good thing. Are houses ever finished? They are, but they are also periodically improved and enhanced and modified.
Whether it's a good thing or not is moot. I consider it a curse, personally, but I love programming and software design, so it's something I live with. And it's something the field continues to devise better ways to cope with.
You know, programming is the only profession where errors are called bugs and accepted as normal. So a bridge collapsing is normal, too?
The simple fact of the matter is that with the programming technologies we have to work with today, bugs fundamentally cannot be eliminated. We cannot even prove that bugs are not there. At best, we can demonstrate that they do exist. Resource-constrained development as well as the intrinsic nature of information processing forces tradeoffs between addressing bugs, improving performance and adding capabilities. And yes, structural failures have always happened and will continue to happen. The fields of civil and mechanical engineering are very mature with professional certification required to practice, and yet failures continue to occur. The only way to eliminate bugs and failures is to cease to increase our ambitions. Then we can just sit around polishing and maintaining what we already have. Take your pick. Randall Schulz --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org