labs pair_programming process

Soloing like a Pivot

This is a sequel for my other post Pairing like a Pivot. We value pairing a lot here at pivotal labs, pairing is one of the most important core practices of our work day and we do it as much as we can for as many activities as possible. Sometimes your team is odd for a period of time and you’ll have to solo. When that happens, everything should be ok.

First off I wanna say that this may not reflect all pivot’s way of soloing. Since soloing is something you do alone it’s harder for me to know how everyone do it. This is based on my personal experience and by talking to a few pivot friends of mine.

I wanna talk about soloing on a pairing environment, how do you fit solo work on a project where everyone else is pairing and yourself is also pairing on most days? How can you make soloing as successful as pairing and not compromise the process?

Focus. When you are alone on the computer it is easier to lose focus by checking email or looking at twitter or whatever it is. Don’t do it. As much as possible avoid these distractions, they’ll reduce your productivity drastically. Try and focus on the job at hand and get it done, the day will actually go by pretty fast if you do that.

One thing that most people I inquired about soloing told me is to keep a subconscious pair always active. Specially when making decisions try to think what your pair would say. You can often imagine what would another person opinion be on something, it’s not as good as having the person but it helps avoid making poor decisions.

Take the opportunity to do things you can’t when you have a pair. Use your favorite editor, listen to music, change the keyboard layout to dvorak (please change it back after, please). Use good judgement here, don’t start changing all the code design to your own way because this is not gonna be good for the project overall. Don’t spend hours setting up your favorite editor, if it does require setup you may want to do that on your free time to have it prepared for when you have to solo, specially if you’re the only one on the project who will use it.

If you’re soloing but your team is still around, try to talk to them during the day about what you’re doing, it helps you stick to the process and keep focused on what you should be doing. If you’re really alone and this is not possible try to remember all relevant decisions you make so you can check in with your team as soon as they are back.

Wrapping up, soloing is not a banished activity on a pairing environment such as pivotal labs, it is something that you have to do sometimes and also it is something that we encourage for certain activities like dev-ops tasks or research. I just wanted to enumerate some techniques I use to make my solo time more enjoyable and successful. Thanks for reading.