What are you optimizing?

A cartoon showing a person in the water, a person on the shore, and an ice cream stand with lines between them optimized for various factors.

After 2800+ comics, Randall Monroe still manages to find new ways to be relevant. When I saw XKCD #2821, I immediately thought of how it applies to program management.

Part of the program manager’s role is to be process specialist. Even when you’re not an expert on the particular subject for the process, you’re an expert on the process of processes. When your community wants to improve a process, you’re the person they go to.

Sometimes what they want to do is optimize the process. Sounds straightforward enough, but what does that mean? The XKCD cartoon gives a great example. Each of the paths are optimized, but for different things. If you start optimizing for a process and then discover you’re optimizing for the wrong thing, you’ve wasted time.

I learned early in my sysadmin career that “why?” and “what do you want to accomplish?” are powerful questions. This has served me well in every role since. Find out early on what you’re optimizing for and you’ll be a lot more successful.

What should I optimize for?

When you want to optimize a process but don’t know what you should optimize for, default to “contributor effort”. As I say repeatedly in Program Management for Open Source Projects, your contributors’ time is your community’s most valuable resource. Contributors donate their effort to you, and you should be judicious with how you spend it.

There’s a temptation to make code run faster because that’s what we do in tech communities. That’s a fine goal, but can you make other changes that reduce effort instead? After all, computers don’t get bored. They don’t have hopes and dreams and families and other hobbies.

This post’s featured image is XKCD #2821 by Randall Munroe. Used under the CC BY-NC 2.5 license.

Ben formerly led open source messaging at Docker and was the Fedora Program Manager. He is the author of Program Management for Open Source Projects. Ben is an Open Organization Ambassador and frequent conference speaker. His personal website is Funnel Fiasco.

Share

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.