I've got the bad tendency to over-engineering a lot, bad thing is, it just comes naturally...
Building the demo app for our new API releases, I spent an upward of two hours trying to fix an issue of syncing the locale of PHP with MySQL. After spending over two hours, both of them just refuse to agree to exchange date information on the same timezone. Being the developer, I had to be the advocate!
At a point, my colleague, Yaya noticed the repeated sighs and he asked if I had a problem. Upon describing the issue to him, he calmly let me know why I don't even need to collect that particular date data in the first place. Then it felt like a scale fell off my eyes.
Two painful hours have been spent trying to collect data, which wouldn't even make much difference in the life of a user, in the context of my hypothetical demo app. Within this time, I could have sealed the app development and marked my sprint as completed.
Anyway, as it now stand, I'm hypothesising a fix for my stubborn over-engineering problem. At the moment, the best fit is: "Assume a feature/data is useless until it proves itself useful beyond questionable reason".
This should help me save some time and energy, and allow me finish-off project faster.