That may work okay for some places, particularly if your revenue stream is only loosely coupled to the code in question. Personally, the code I work on has a lot of revenue pushed through it every day, in a very quantitative manner. So, refactoring from what it does do to what it "should" do is fairly risky. What looks best to the developer isn't always best for the business, and even if a change is for the better any unexpected changes in the metrics raise flags.
YMMV, but I think that in a organization of any significant size, it's generally a bad idea for developers to make unilateral decisions about how the product should be changed.
. . . in a organization of any significant size, it's generally a bad idea for developers to make unilateral decisions about how the product should be changed.
Yes, you are absolutely correct. Now, if only Marketing or the business units would get their heads out of the collective asses long enough to actually provide usable direction to us developers, we could all go home and have milk and cookies before naptime.
I have worked at 9 different places in the past 7 years. At 5 of them, developers wrote specifications. At 2 of them, developers co-wrote specifications. So, in less than a quarter of the places I have worked at, developers received usable specs.