I'm working on an R&D project that is quite complex and has a lot of interconnected parts. A lot of my work is changing or substituting hardware, software, libraries, etc.
My boss likes me to keep an up to date timeline of how long each item will take, and when I expect things to be done. The problem is that a lot of the tasks I perform, while appearing quite simple (just substitute in this new hardware, or change some formula in the code) almost never go as expected and often end up taking days or weeks to perform (if they are actually possible within the scope of the project at all).
This puts me in a tough position when specifying how long I expect an item of work to take.
When I first joined the company I (rather naively) just put down the expected time if there are no problems. This, of course, lead to consistently going over estimate.
Next I tried giving a rough average taking into account problems I think might come up. But when I do this, I end up having the same conversation with my boss for every item of work. My boss says, "This should be simple, right? Shouldn't it only take a few hours?" And I reply, "Yeah, in a perfect world I would just X the Y and it would be done. But there are always complications that make it take longer." I've had this conversation more times than I can count.
I would like to just put on my reports "This will take at minimum 1 day, most likely Y days, and if it takes more than Z days we should have a meeting about trying another approach". But this makes it almost impossible to figure out a longer term timeline when chaining multiple items together.
Does anyone have a good system for organising R&D (or similarly unpredictable) work like this?