On Planning

I've been at OpenDNS (and now Cisco) for almost a year and a half now. It's been really wonderful to be there; I still feel like I really stumbled into something good. But after so very, very long as a standalone sysadmin, there are some things I have to work hard to pick up. And one of the biggest is planning.

I should start by saying this is a weak point for me anyhow. In previous jobs I knew what needed to be done, and I could prioritize that list -- but mostly it would centre around firefighting or bootstrapping, because that had been my experience. I've come into a lot of jobs where there was no monitoring system, no backups in place, no idea when we'd be running out of space on the fileserver and no configuration management. In a case like that, prioritizing is simple and you chew through those tasks as quick as you can.

But what about when you're done? What comes next week, next month, next year? It's not that I've ignored those questions...but between limited resources (ie, me) and natural inclination, it's always been something that's easy to put off. There were enough day-to-day jobs to keep me busy, and usually one big project sitting on the horizon to work toward. Budgeting was the sole concession to long-term planning.

Now, though, it's different. I have teammates, as I never get tired of delighting in. I have a manager who's technical, and a director above her who's technical, and I'm in an organization with other technical teams, and we have a CEO (and now new owners) who are used to thinking out five years. Put it together and you have the resources and inclination to plan. What's it like?

It's a lot of paperwork and meetings, is what it's like.

There's a standup meeting every day -- fine, it's good to hear what everyone's doing. Then there are planning meetings for the week. And for the month, and for the half, and retros at the end of the quarter to figure out how you're doing. There are tickets and Trello boards and user stories and playbooks and wiki rewrites. There are town halls and round tables (two versions!) that eat up an hour each. And there's the inevitable lossage to interrupts, being on-call, potholes and blockers, outages and their retros, catching up with the other teams now that you've both grown enough you don't sit together anymore, and occasional fiery meteors crossing the sky ("We're being acquired!"). Put it all together, and it feels like you've got about 15 minutes in every week to do actual work.

That was my impression. But I'm starting to realize I'm wrong.

Surprise, it's the contrast with how I worked that's making this stand out in my head. That's obvious, of course, once I lay out the differences, but it has taken a while to fully believe that. The other thing, though, is the value of detailed planning has not always been apparent to me.

It's easy to look at something and say "I can see what needs to be done." We're setting up a Foreman server; we need to have a Foreman server when we're done. Case closed! But...what's done? When you can install one machine in a janky way that you can improve next week? When you can install any OS on any machine in one DC? What about the rest of your DCs? And shouldn't it be tied to LDAP? Last thing we want is one more bag of passwords...And privileges would be good. And how are we going to get $CFGMGT on the thing?

If you're doing detailed planning, then you think about these things. If you have a team, you can rope in help. If you are thinking out further than a week, you can decide what needs to be done now and what can come in the next iteration. And if you are thinking in iterations -- a regular cadence of work, with a working thing at the end of each period (for some value of working) -- then you can see the steps that, in four weeks (say), will get you to Foreman with LDAP and multiple OSs and privileges...and that multiple DCs will have to wait 'til next month.

Are there still problems? Of course there are. If JIRA burned in a fire tomorrow I would dance on the ashes. Meeting creep is always a problem, particularly when people are working remotely. Things still pop up and hit you in the face, whether they're fiery meteors or sudden changes in direction. But I'm realizing, slowly, the nature of the resources we have at our disposal (not just people but time), and the value of using them.