“Give me chastity and continence, but not yet.”- Saint Augustine (354–430)
Your tech lead comes to you before sprint planning. She wants to spend the whole sprint refactoring a component. Naturally you ask for an assessment of the business value the refactoring will get you: what will your customers have at the end of the sprint that’s new? Her answer — Nothing.
I’m going to argue that maybe you should say yes. But it depends.
Suppose you have a big test tomorrow morning, 10 hours from now. Should you stay up all night studying? The answer really depends on what you’ve been doing for the rest of the semester. If you’ve been following good practices (attending class, taking notes, doing the reading) then of course you should just get a good night’s sleep. But if not, well, then maybe you have a sleepless night in front of you.
A good night’s sleep every night, exercise, downtime, and student best practices practiced consistently will get you the best grades.
Similarly, software best practices practiced consistently will get you the best business value. But if you haven’t been consistently refactoring, using TDD, continuously integrating, and the like, you might be in trouble. If your team has dug itself into a hole, and maybe the customer is angry and wants a delivery on Monday, then all bets are off.
We opened with a tech lead asking to do a concentrated refactoring sprint — so maybe your team has dug itself into a small hole, and one good sprint will help it dig itself out. And, as product owner, you should do a little soul searching: where were you when the team was doing that digging?
So consider saying yes. You could be looking at increased motivation, ease of adding new features, or in other words overall higher velocity. Just don’t do it again.