in reply to Re^9: regexp class (no bugs) in thread re: regexp class
Failing to implement required features makes the code incomplete. It doesn't mean the code contains any bugs.
That's an utterly weird definition of not having bugs.
Pray tell me, how do you define a bug? I guess if the requirement is to multiply two numbers $x, and $y, $x + $y isn't a bug, it's merely incomplete (it just doesn't do the right thing yet for inputs other than (0, 0) or (2, 2)).
Re^11: regexp class (no bugs)
by BrowserUk (Patriarch) on Sep 04, 2011 at 01:45 UTC
|
I guess if the requirement is to multiply two numbers $x, and $y, $x + $y isn't a bug, it's merely incomplete
No. And you know it. That's another "silly extremes" example. It's just an attempt to try and "win an argument", rather than further a technical discussion.
A photo editor that has a red-eye feature that turns all eyes red, has a bug.
But if it doesn't have a sepia filter, it doesn't have a bug, it just doesn't support that feature.
The difference is clear and easily understood.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
A reply falls below the community's threshold of quality. You may see it by logging in. |
Re^11: regexp class (no bugs)
by armstd (Friar) on Sep 06, 2011 at 18:16 UTC
|
Failing to implement required features makes the code incomplete. It doesn't mean the code contains any bugs.
That's an utterly weird definition of not having bugs.
Ah, bug religion. Good stuff. I also come from the school of "required features are enhancements, not bugs." Each feature is an enhancement of "nothing."
Each product release will incorporate required new features, existing feature enhancements, and existing feature bugfixes. If the required features and enhancements are not done, the release is not complete.
An important issue here is that a product can be released, whether its "dev complete" or not. Now whether those unimplemented features become "bugs" or not really depends on the documentation and marketing. It's a bug for a customer if the docs say a feature exists when it doesn't. Whether its treated as a functional bug or a documentation bug though... well that's a business decision.
| [reply] |
|
$ git clone ssh://perl5.git.perl.org/gitroot/perl
$ git rm pod/*
$ echo "Perl is bugfree" > README
$ git commit -m "Removed all bugs from Perl" -a
$ git push origin blead
Quick, put in a grant proposal for the perl5 maintenance fund before Nick and Dave do it the hard way! | [reply] [d/l] |
|
A hammer is not a screwdriver. Is a hammer buggy or incomplete if it can't drive screws? No. Does it satisfy the requirement for a screwdriver? No. Is it a problem if you call a hammer a screwdriver and expect it to drive screws? Yes, for you. Not so much for the customer that had a bunch of nails and called them screws though.
It happens. It has happened. It will continue to happen. Customers will be delighted by the products they never asked for, customers will be disappointed by the products they asked for and never got. Whatever. That's business, and I'm an engineer. Whether that's good for business... meh.
Seriously, have you seen the Stanley FatMax Xtreme Fubar? I surely never specified that, but I still ended up with it in my toolbox. Sweeeet.
http://www.stanleytools.com/catalog_images/mid_res/55-099_mid_res.jpg
| [reply] |
Re^11: regexp class (no bugs)
by jdporter (Chancellor) on Sep 19, 2011 at 15:46 UTC
|
I'm with JavaFan on this one. If a product is alleged to have feature X and it doesn't, that's a bug. But I think there is some grey area, due to the vagueness of "alleged". On one hand, if the feature set was defined up front, based on specifications from a "customer", and the delivered product doesn't implement one of those features, that's a bug. OTOH, if it's some kind of commercial product, where feature sets are really driven by internal processes, then a "not implemented yet" feature isn't much of a bug. Of course, the term "bug" itself is vague; every stakeholder has a different idea of what "bug" means. To the coder, a bug might only mean code which contains a flaw. To project management, a bug is a certain kind of record in the tracking system. To a customer, a bug is any variance between the spec and the delivered implementation. And so on. Whose opinion matters most?
Also, under test-driven development, missing features are usually actual bugs, by just about any definition. This is particularly true if the "not done yet" feature is depended upon by other parts of the system.
I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies .
| [reply] |
|
If a product is alleged to have feature X
Alleged? By whom? When? On what basis? And whom alleges that someone alleged that the product had this feature?
The problem with not intelligently differentiating between missing features and bugs, is that it makes it impossible to prioritise properly.
A bug is (should be) a higher priority than a missing feature. It is something that prevents an implemented feature from being useful until it is fixed.
A missing feature is lower priority because if the bugs in the implemented code are fixed, a less featured product may still be useful and shippable.
And that pretty much addresses your "dependant feature" argument. If an implemented feature doesn't work without an unimplemented feature, then both are miss-categorised. The dependent isn't complete, so is not yet an implemented feature. And the dependency is not a feature, but an unimplemented subset of the dependant feature's functionality.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
|
Alleged? By whom? When? [etc.]
Exactly right. Hence, there is some grey area, due to the vagueness of "alleged". At least we agree on that point.
The problem with not intelligently differentiating between missing features and bugs, is that it makes it impossible to prioritise properly.
A bug is (should be) a higher priority...
A missing feature is lower priority...
That's not particularly controversial, but it presumes that "bug" and "missing feature" can always, necessarily, be differentiated. I.e. it's premised upon you being right when you say "a missing feature is not a bug."
And that pretty much addresses your "dependant [sic] feature" argument.
It wasn't an argument, it was a mere observation.
I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies .
| [reply] |
|
|