We have an old database which is used to hold supporting information about the financial system. Most of the actual code in are in Views which consolidate the supporting data with the financial data (held in a different system) into a single table. Some of this View code is very large.
Due to a change in the way financial outcomes are reported, a change is needed to the largest of these views. It is not immediately apparent where this change can be made. However, it is very likely that it's actually quite a small alteration in the actual code.
I have been tasked with "estimating" this work. But this presents me with a problem. To estimate it, I need to work out what needs to be done. This is time consuming as there is no obvious fix - some of the sub-queries need to be split up and investigated to artifice one. Actually making the fix once one is found will probably take no more than a few minutes.
I sometimes call this sort of work "string" work because when asked how long it'll take, the answer is "how long is a piece of string". Almost all the work is in the planning and investigation and it's not clear how much effort that entails.
I find myself in this situation relatively frequently when it comes to bugs and point changes. This poses problems when your manager wants to resource your time or abide by a timeboxed methodology such as Agile. How can you estimate/plan for these sorts of tasks? And if no estimate is possible, is there any value in arguing to management that this kind of work cannot be effectively scheduled?