3 ms·
If only my clients and recent bosses would consider refactoring a valid billing line item... I can only imagine sending an invoice today to my three top client
by cubano 12y ago
If only my clients and recent bosses would consider refactoring a valid billing line item...
I can only imagine sending an invoice today to my three top clients with "5 Hours Refactoring Bad Code That is Working But Could Be Better Looking....$400".
There is just no way I would get paid.
Unfortunately, I have interests outside of working on code that mostly preclude me from sitting for hours happily breaking-and-then-refixing code that is currently working ok and that I cannot bill on.
Hell, just keeping up to date with the unreal pace of change that is occurring in software right now is almost a full-time job in itself, much less fixing old stuff that is going to go away soon anyway.
- gknoy 12y agoWould it work to say, "Added test coverage, refactored code to increase future maintainability"?
- therealwill 12y agoClient: "Send us some screen shots of the new features." You: "Err..."
- aidenn0 12y agoSolution A is obviously to educate them: $400 as time spent to make adding the next 10 features cheaper. Solution B is to refactor some fraction of the code you interface with when adding a new feature. So it's "X+2 hours adding new feature" when you spent 2 hours refactoring code that feature X needed to deal with. As far as the ethics of Solution B, then if your refactoring is actually improving your net productivity, then you truely are doing necessary work towards adding the feature (just as you would bill tests or build scripts needed for the feature along with it). If it isn't improving your net productivity, then why are you doing it?
- Cthulhu_ 12y agoHow about "I did my job, and if you ask me to specify how much time I spent on testing and refactoring, you're a micromanager and you're redundant because you obviously have nothing better to do"? As a developer, you need to take your own responsibility for the code and product you create, and be proud of it. Besides, it's a fallacy that time not spent on code quality would lead to more features / a better product.