Simple product management tricks
jacobian.org
jacobian.org
Doing something manually takes less time than you think if you create a good standard sequence that irons out most of the mechanical waste involved. Once the process starts to provide a lot of value (or no value – which is most commonly the case!) you can decide to automate further (or not at all.)
But also at that point you have to be careful. Automate little steps at a time. Automate the easy, happy path first and quickly bail out to the human operator if something goes wrong, then reconsider if the economics are still in favour of further automation. The last percent of automation are invariably the most expensive, by far.
One thing I insisted on was on building and running playbooks, rather than jumping to full automation from merge to production. This phase was temporary: it might only take a few weeks or months before people will get bored with this and find it tedious. When _boredom_ is the biggest problem you have with a process, then it's time to automate.
But in the meantime, going through these motions manually has educational value, and lets you refine your processes easily.
Automating a process tends to ossify it, and concentrate knowledge about it in whoever creates and maintains the automation. Playbooks distribute knowledge to whoever executes them, and make systems amenable to change.
The Toyota quote is clearly skewed towards industrial production, where the word is a little more useful though. But other times, a simple process without human involvement might very well be the cheapest and easiest to start with too.
1. Make the requirements less dumb 2. Try deleting the part or process 3. Simplify and optimize the design 4. Accelerate cycle time 5. Only then: Automate
I think this touches upon the same issues, namely that you shouldn't automate something if you don't have to, and even less if you don't need it in the first place.
Seems like Elon is correctly advising those guys to avoid a lot of pain (while not-so-subtly pointing out to everyone the big mistake being made).
When being hired to automate a business process, I always tried to get/work with the client to explicitly streamline the paper/people version of the process first, and when they did a good job of it, the automation went well. I'd tell them that automating a mess just made a turbocharged mess, and merely guessing at what changes (implemented in automation) would be better was a crapshoot. If anything, I'd recommend making that approach a stronger requirement for taking on jobs.
Original Article: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-...
HN Discussion: https://news.ycombinator.com/item?id=20495739
Let's take the automation point for example. Some workers deliver the "theory" graph from the article, some deliver the second. And it's pretty consistent. A good worker knows when automation will pay off and when it's a waste of time. Let everyone try the first time you work with them and only intervene and adjust when necessary. With time you will learn who knows what the hell they're talking about and who doesn't. Who delivers and who just wastes time playing. You have NO way to know before.
And even if the investment does not clearly pay for itself for that task: a year ago they let me (linux sysadmin) take time to learn Go for a small thing. I could have done it in python in 1 day, it took me 3 weeks to deliver a Go version. Totally not worth it. But since then I've dived into multiple Go tools we use and significantly reduced our servers hardware requirements. I've even submitted some patches upstream.
In many cases having the playbook was worse than no playbook at all because it drove me down some blind alleys ("oh yeah we stopped using that acccount for X months ago..."). You can often not be certain if it's you who did something wrong or a bug in the playbook, especially if some elements are vague.
In other cases I've written a playbook, somebody else has read it and missed step 4 and we've together spent many hours tracking down the issue in a playbook that ought to take 5 minutes to go through if run consistently. And conversely ive done the same thing - we are all. fallible.
I think even for tasks that are run infrequently code automation can be more cost effective because it can avoid the above scenarios by being executed consistently and failing noisily and obviously.
“Documentation just goes out of date so don’t bother argument”
Documentation (which is what a playbook is) isn’t milk, it doesn’t just “go out of date”.
People let it go out of date by not keeping it up to date. Docs going out of date isn’t the problem, the problem lies in the system that causes it to go out of date.
The only reason automation doesn’t go out of date is because it breaks and so you have to fix it, the problem is that each of those little fixes takes time, probably more time that updating the docs.
Automation is great but to approach it as a binary choice is wrong.
In the examples above a 5 minute manual task run once a week, for instance, wasnt just a cost of 5 mins x 1 week.
Automating potentially saved debugging time, time spent analyzing why the playbook went wrong, etc.
Those benefits wouldnt typically be measured but theyre very real.
To give a bit of context, this is for tasks usually done once a week to once a month individually, multiple times a week for the whole team.
And there's lots of other things that have hidden or very difficult to measure impacts. These often revolve around developer happiness and growth. For example, ignoring a complex, bugging and/or aging codebase can affect attrition (among other things), which will quickly get _very_ expensive: as a team starts losing developers, the remaining developers have to carve out more and more time to interview and onboard. Not to mention the direct company costs of turning over employees. And trying to find quality employees who are willing to work with in that codebase.
And maybe this sort of thing should be addressed "out of band" - ancillary to the product management lifecycle. But that's really hard to maintain in most orgs.
> But that's really hard to maintain in most orgs.
For engineering teams with an embedded Product Owner, this is where a good PO can really shine. Show, don't tell, the value of all your maintenance work. Yes, it's hard to show to a nontechnical audience, and yes, it's supposed to be a "safe zone" for engineers to have discretion. But you will lose your maintenance capacity if you don't show nontechnical people the value they're getting out of it.
Business leaders understand productivity trends, feature cost, time to deliver, support ticket counts, and aesthetic improvements. Use this to your advantage to communicate in the language they understand, and keep your maintenance capacity.
E.g.
https://www.intercom.com/blog/the-right-way-to-respond-to-fe...
and many more here: https://www.intercom.com/blog/product-and-design/
You can do it all the way down to Pomodoro-like work chunks counted in minutes, up to long term strategic goals and have things like quarterly OKRs and Scrum-like sprints in the middle.
The best entrepreneurs naturally think and act like this, from Elon Musk to the late IKEA-founder Ingvar Kamprad, who is quoted saying:
“You can do so much in 10 minutes time. Ten minutes, once gone, are gone for good. Divide your life into 10-minute units and sacrifice as few of them as possible in meaningless activity.”
Sounds like hell. I am not a robot. And how am I going to do it. Take an hour before work to plan 48 10 Minute sessions for the day. What if something important comes up? Or take a 1 minute block every 10 minutes to figure out what to do for the next session? God forbid I have to take a call, take a p*ss, or my noodle pot boils over while I wfh.
The point is to use your working time productively. Figure out the most important thing you can be working on, time box it, then reassess.
That process has served me well for the last 10 years.
Not going to do that for the next eight minutes, I'm too busy dividing the rest of my life into annotated 100ms segments so I can get some real work done.
And if they are, there's no reason to assume that their "strategy" will work for others. A lot of CEOs are workaholics. What works for them won't help a healthy human.
Maybe he should have added "... and don't let anyone else steal your time units from you." at the end.