Saturday, October 3, 2009

Pair Programming in an Office Cubicle

I'm really impressed with development teams that pair program, it alleviates a lot of development pressures. Companies like Hashrocket are leaders in pairing practices, In his post Obie describes what's "required" to equip your pair programming environment.

Yeah, all that extra equipment is nice, but what if your team is locked into a typical office cube setup?

  • Is it possible to comfortably pair in cubicles?
  • What if you can't afford wide desks and a bunch of huge monitors?
  • Must pairs be co-located?
  • Can a typical office setup accommodate pair programming?

Check out this photo of my most excellent team-mates arranged in typical office cube fashion.

I like these cubes, the low walls make it easy for us to communicate.

Yup, even cubes can be can be conducive to communication. Meet my cube neighbor Rach. See how easy it is for us to converse? So, let's do some pair programming in the cube!

Oh, I hear ya... "how can you share a monitor across a cube?" MS Team Viewer to the rescue! Team Viewer is Microsoft's screen sharing app, it's easy to use, free to try, secure and IP based. Team Viewer faithfully reproduces your screen on your pair's monitor, plus it allows your pair to drive from where they sit with their mouse and keyboard.

Now, you're both viewing the same image and you're conversing face to face, what else do you need?

Ok, I hear ya..."how can my pair see me pointing at their egregious coding error on the screen?" ZoomIt. This is a free utility from TechNet that turns your cursor into a pen, so you can draw on your screen, mark-up and highlight any area on your screen and wipe it clean when you're done

Pairing on two machines is way better than one. Suppose you need to IM a quick question to your stakeholder or check on the progress of the build; your pair can keep stubbing out the new class while you Google up the crazy syntax on that overloaded method. This setup creates the best of both worlds.

Speaking of the world; add a headset, webcam, skype and now you're pairing anywhere...with anyone! So, still think you need a 42" plasma and dual keyboards, forget 'em. Now, go forth and pair.

Friday, April 10, 2009

Value - in a nut shell

A constant flow of new ideas is vital to any growing business.

But what makes an idea great? Which ideas get the most attention? All great ideas take into account the following 3 important factors

  1. Resources: What resources (time, money, people) are needed to implement this idea?

  2. Risk: What could potentially be lost? What areas of the business become vulnerable? How is the business exposed?

  3. Reward: What is gained by implementing this idea? How does the business benefit?

The perfect idea maximizes Reward while minimizing Risk and Resources. Everybody has some good ideas and ideas can come in every shape and size, but the real key to success is to capitalize on Reward while limiting Resources and Risk.

Especially during these lean times low Resource and high Reward ideas are more valuable than ever.