Unfortunately, this sprint, I spent the majority of it refactoring multiple times, and ended up doing only half of the planned tasks!
Was this wise? As I reflect on this, I'm not sure, this is how I feel about it:
- Refactoring has made the code much more consistent. I was annoyed before by the code duplication and inconsistent behaviour of the
- Refactoring has made the code much easier to test. Because code is consistent, and because now it is easy to instantiate objects, tests can use these objects directly rather than poll the database to check stuff
- I now have a pattern for making ORM-type subclasses, that I can re-use for future
- Didn't achieve the actual tasks I needed to do
- Didn't increase functionality
- There's a chance I've spent time writing code that would yet again be refactored later
I think on the balance, there are more pros than cons that came out of missing all of the sprint objectives, and although missing objectives is bad, for the right reasons they are allowable. The failure therefore in this case wasn't that I missed the objectives, but that I failed to foresee and plan for these tasks. In future I should therefore look out for this and plan accordingly rather than put myself under extra pressure to complete a sprint tasks when there were other things that were of benefit to do.