Monday, October 1, 2012

Avoiding the Workflow Wall

One of my favorites activities is running. It clears my head, I can burn calories and have a great excuse to pig out on food later. Presently I'm training for the Chicago Marathon. While adhering to my training plan has been less than stellar, my goal is to cross the finish line and avoid the so called wall. In my training, I haven't come close to the wall, but a secret fear is that on race day my body is just going to shut down and say "No mas!"

For almost as long as I've been training for the marathon, I've been almost exclusively developing workflows. Call it a coincidence, but I see a lot of parallels between running and workflow development: You plan out a course via whiteboard/Visio, do some warm-ups with some proof of concept workflows, and then you hit the pavement with some heads down developing. However, no matter how well you planned the course and how warmed up your hamstrings are, chances are you're bound to run into the workflow wall. It's the point where you've exhausted all your resources and are stopped in your tracks. Trust me it's not a nice place to be and the feeling can make the most seasoned developer feel like a weakling.

Runners have the luxury of reaching for a gel, a banana, or a sports drink to help them get across the finish line. What do workflow developers have to replenish their workflow tank?

While you can reach for Google and message boards for assistance, they don't offer the same performance boost as conversing with a person. I believe every workflow developer needs what I'm calling a workflow buddy. What is a workflow buddy? It's a person external to the minutia of the workflow who you can call on and pick their brain about your workflow. They don't have to be a workflow jedi or even a workflow padawan - they are just a trusted advisor you can consult to help you get over the workflow wall. From a runner's perspective, it's that person on the side of the course giving high-fives and shouting encouraging slogans or it's an aid station full of gels and sports drink.

In my experience, a workflow buddy has proven to be an invaluable asset. I've hit the workflow wall more times than I'd like to admit. Suffering alone and spinning your wheels isn't going to do you any good. I've been guilty of spinning my wheels and it's not fun. It'd be like running with heel spurs, a bum knee, and plantar faciitis at the same time and not stopping. Instead of hurting your project and your self-esteem, reach out to your workflow buddy. Ask them something along the lines of, "Hey I'm working on this. It's doing everything I want except now I need to do this."

A good workflow buddy can map out the workflow or take copious notes; but what a workflow buddy needs to do best is listen. In conversations among runners, there's always a tendency to share current pain points in regards to running. While your peers may provide more advice than you ever wanted, there may be one nugget in their advice to help you get through and persevere. Workflow buddies function the same way.

In my experience, my workflow buddies have helped me much like the how I'd use a gel or a sports drink while running: consume when you need a spike in energy (workflow buddies are a good source of maltodextrin!), then keep a steady pace, and finish strong.

Whether you run or not, I'd encourage workflow developers to start thinking of their workflows not as projects, but as runs. We should listen to our workflows like we would our bodies on a run; when we get tired or are suffering workflow cramps, take five, stretch, and reach out to your workflow buddy. They'll give you the stamina to conquer the course and avoid the workflow wall.

PS - This is a shameless plug: Me, some fellow Rightpointers, and 45,000 other awesome people will be running the Chicago Marathon on Sunday, October 7. If you're in the area, come on down to the course and cheer us on. It's an amazing experience for spectators and participants alike.