mardi 27 janvier 2015

Software release question: do you refactor pre or post-release?


tl;dr: if your management never looks at code, do you prioritize clean code or release working solutions and leave cleanup as a to-do item for others?


This is a basic software project management question, but I haven't had to deal with it in the past. I'm not a software engineer, but I work in finance and we have some calculators that I support. I can come up with programming solutions, but I don't have a lot of software design experience.


I was recently asked to approve coworker's code. Typically entry-level employees do the coding, and even though programming skills are emphasized, in practice that typically means one introductory college course, so I'll leave it to your imagination. The enhancement was fairly simple: read some input files and run arithmetic. When I went to review, I realized they came up with their own method to process input files. We have generic methods that could already be confusing for new math majors coming in with no working programming experience, and I don't want to make onboarding any more difficult by adding specific code that's not very well designed. The release is due this week, but it's not high priority.


Should I tell my coworker to refactor the code to use our generic methods prior to the release, or should we release and make it a to-do task? I'm concerned that since we're not a software shop, my managers won't prioritize refactoring once the problem has a working solution. Nobody will want to spend a couple of days and have nothing to show for it to their manager. How hard should I push to keep our code clean?


Typically when I'm asked to make an enhancement, I keep my solution to the company standards, so I've never had to deal with this issue before. But I also know our department doesn't refactor, and there isn't really any incentive to clean up the code as we typically rotate out of the position within a couple of years. Thanks!





Aucun commentaire:

Enregistrer un commentaire