Au contraire! Almost all the time you spend doing the thing is actually doing the things required before the final completion of the thing. I've taken to calling this "the work before the work" and it's at least 90% of the work.
Example: I get asked at the start of a project to provide ModbusTCP comms mapping for a new control panel, so that the client can start integrating it into their SCADA system. It's just a spreadsheet, maybe 100 rows, how hard could it be? They need it right now, why am I telling them it'll take 6 months?
Typing the addresses and descriptions into the spreadsheet is 'the work', and it only takes an afternoon, but it can't start until we do the work before the work:
- To document the ModbusTCP mapping I need to the PLC program
- To finish the PLC program I need the electrical drawings
- To finish the electrical drawings, the electrical engineer needs the device list, datasheets for all the devices, and the functional spec
- To finish the device list and functional spec, we need to agree with the client exactly what we're building and what it's meant to do
None of these things are 'the work' but all of them are 'the work before the work' and usually nobody wants to do, to wait for, or pay for this work.
Yes in all the environments I've been in this is nearly the entire job. But I work in embedded...
Need to verify feature X - okay, let me just -
- Find the list of CPs needed
- Get a recent source tree
- Acquire a board
- Flash board
- Get CPs
- Manually assign IP and bring up SSHD to the device so I'm not working over serial
- Build and SCP the rebuilt thing to the device
- Find whatever byzantine command you need to run it to verify it
- Of course it doesn't work, ask your coworker
- Oh did you remember to flub the flabnabber? echo "1" > /dev/i2c5 then restart the flabnabber-daemon
- Run the fking thing and it works
- 3 hours has passed
Wow is working in embedded great. But I think that this is basically everything. The time isn't building the shelf, it's figuring out exactly which hinges are right for what I want it to do, it's measuring and measuring and sanding, it's multiple runs to home depot.
ALL of this _is_ "doing the thing". They are all prerequisites and as such are part of the task.
Example: I get asked at the start of a project to provide ModbusTCP comms mapping for a new control panel, so that the client can start integrating it into their SCADA system. It's just a spreadsheet, maybe 100 rows, how hard could it be? They need it right now, why am I telling them it'll take 6 months?
Typing the addresses and descriptions into the spreadsheet is 'the work', and it only takes an afternoon, but it can't start until we do the work before the work:
- To document the ModbusTCP mapping I need to the PLC program
- To finish the PLC program I need the electrical drawings
- To finish the electrical drawings, the electrical engineer needs the device list, datasheets for all the devices, and the functional spec
- To finish the device list and functional spec, we need to agree with the client exactly what we're building and what it's meant to do
None of these things are 'the work' but all of them are 'the work before the work' and usually nobody wants to do, to wait for, or pay for this work.