11 ms·
In this sort of situation, it's always useful to ask what the cost of not automating the task at all is. That will give everyone a better feel for whether the
by kd5bjo 7y ago
In this sort of situation, it's always useful to ask what the cost of not automating the task at all is. That will give everyone a better feel for whether the automation makes sense, and how much developer time should be allocated to the project.
> Let's say I want you to get the fifth word of the fourth paragraph of the third column of the second page of the first edition of the local paper in a town to be determined. It's going to be a color, and we have a little deal with that paper to get our data plugged in every day. You can get the feed from their web site.
For the one-off case, I'd just go open up the paper and look for myself. Surely that'll be faster than trying to write some sort of a script to do it.
> Now I want you to be able to do this reliably every day for the next two years. I need this data on a regular delivery schedule and it can't rely on some human being there to constantly fine-tune things.
Ok. So now we're automating a 5 minute job that can be done by the office assistant, which will be performed 730 times.
That puts the upper bound of time saved at around 120 hours of work. Due to their specialized training, software engineers probably cost the company more than 3x per hour than the assistant, so this automation task only makes sense if it can be completed in less than a week of work for the engineer, including maintenance over the next two years.
That sounds like a reasonable, but tight, time budget for the given task and reliability specifications. It's not an obvious win, which also means the ROI will be small. Also, there's opportunity cost to consider: that week of development time now can't be spent on other projects that may be more urgent.
- andrewflnr 7y ago> ... if reliability matters Your analysis ignores the cost of failure to get the right word, or maybe just assumes the office assistant is infallible. That cost is almost certainly non-zero, and might be much higher than the whole development cost.
- kd5bjo 7y agoThe task as described included an easy for a human but tricky for a computer verification that the correct word will always be a color. Given this, and the need for the system to be tolerant against human error occurring at the paper, I believe a typical untrained human will have a better reliability on this task than almost any automated system. But in the general case you’re absolutely right: any analysis like this should include the costs and probability of faults occurring in each option.
- andrewflnr 7y agoSure, but maybe the assistant gets distracted by other work, or gets sick and don't get a chance to make sure someone else does it, or quits because their boss is a jerk, or any number of other things going wrong. At least a few of these will happen over the course of two years.
- kd5bjo 7y agoNote that I got my analysis above slightly wrong: 730 times 5 minutes is 60.8 hours, not 120. According to the new numbers, the break even is 20 hours of engineering work (or adjust the engineer/assistant multiplier; I picked 3x to make the math work out cleanly)
- brachi 7y ago> So now we're automating a 5 minute job that can be done by the office assistant, which will be performed 730 times. Mandatory xkcd reference: https://xkcd.com/1205/ https://xkcd.com/1205/