What can driving a cab teach us about developing software?
Quite a bit when you can analogize like Jonathan Stark!
Jonathan is the inspiration for my daily writing habit (fast approaching two years now without missing a day!). He's also a former FilePro developer turned pricing consultant whose mission is to rid the world of hourly billing.
A common theme in his writing is that, as developers, we should be thinking more in terms of business outcomes rather than developer inputs. One of his best analogies for illustrating this point is The Cab Ride.
In the story, three different versions of taxi driver Bob provide varying levels of satisfaction to his passenger Alice (minds out of the gutter, folks). Rather than give away any more of the story, you should just take three minutes and go read it.
If you enjoy Jonathan's writing, I also highly recommend his daily email list.