I was doing a bit of mechanicing the other day. As with any practical job I do, the first x amount of time is spent searching for the tools and materials.
On this particular occasion though it was more like x times 5 time spent ratching around looking for stuff.
The job involved mainly 10mm bolts (approx 3/8″?). I had no bother finding a 10mm spanner, in fact I had a couple. But a socket would have been much better for this job. Pictured is an 11mm socket – I found 2 of them, but I could not find the 10mil. In fact I think I have (had) at least 2 of them too, although it looks like I need another.
I spent a fair bit of time wielding the spanner thinking how much easier it would be with the socket. Both when I took it to bits, and again when I rebuilt it.
I find software dev to be similar, whether to go with the known, known to be poor approach, or spend an unknown amount of time and effort searching for a better way.
How might you describe that?
If (time/effort poor way) > (time/effort best way + time/effort to find it) * (1/chance of finding it)) then best way else poor way.
If (time/effort saved best way – time to find it) * chance of finding it > 0 then try the best way.
In my case I reckoned the time taken to find it (if possible) would be way more than the saving so I just did it with the spanner.
I guess there is also a ‘preference’ factor (prefer researching to working badly), and maybe a ‘pressure’ factor too?
Do you have the same though process? how would you describe yours?