in reply to Re: Good programming practices and changes in requirements: how to maintain good code
in thread Good programming practices and changes in requirements: how to maintain good code
(Cautiously sticking my head out a little bit [farther ...?] here), I actually don’t agree with that “rule.” No, not at all.
I want to look at the revision logs in the version control system and see that every commit is clearly tagged to an open-and- approved-for-action ticket in the issue tracking system. Then, I want to see that every revision corresponds only, and very exactly, with the specific issue that was described authorized in the approved ticket. I never want to see a change being made that is not directly related to the ticket, no matter how badly someone felt that the “legacy” code smelled.
If you want to “clean up your campsite,” then ... open a ticket which describes exactly how you intend to do that and exactly what the business impact of the change will be. If that change is approved, then you may proceed, as you would with any other software change and with an equal amount of probity. Otherwise, and until then, the answer is “no.” Even though you might be supremely confident that your “new and improved” code will be exactly equivalent to the code that it replaces, not to mention “–er,” you’re still making changes to source-code that is working now. Even though you were not asked to do it, nor authorized to do it. You’ve subjected the enterprise to the unplanned-for and unrecognized risk that you might screw-up, and you did it unannounced and on your own (non-)authority. So what if you’re good; so what if the change is small. That’s not the point.
“Change,” to software source-code, “is risky.” There must be no exceptions to that rule. Even if a carpenter thinks that a wall sux where it is, and would be so much –er if it had a nice window in it ... that does not authorize the carpenter to take it upon himself to install one.
Yeah, I know that this notion or this position won’t “sit well” with a lot of folks ... but I’ll stick to it, nonetheless. This sort of discipline would be de rigueur in any other form of engineering undertaking, and I submit that Software Engineering should be no exception. I didn’t start out with that point-of-view. I came to it by decades of cleaning-up after the consequences of it not being done.
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Good programming practices and changes in requirements: how to maintain good code
by marinersk (Priest) on Feb 19, 2015 at 22:40 UTC |