Jared's Weblog

Main Page - Books - Links - Resources - About - Contact Me - RSS


Jared Richardson Most Popular
Help! I've Inherited Legacy Code
Testing Untestable Code
Continuous Integration... Why Bother?
Mock Client Testing
The Art of Work
Technical Idiot Savants
Targetted Skills Aquition vs Free Range Chickens
The Habits of Highly Effective Developers



Blog Archive
2005-December
2005-November
2005-October
2005-September
2005-August
2005-July
2005-June

Thu, 01 Sep 2005

Keeping your back to the wall

One of the magazines I started reading recently is Fast Company. They have a good mix of articles in a wide mix of industries.

Fast Company recently published an article on Chrysler and how the company has traditionally done so well in a crisis and so poorly when times are good. The article is called "Keeping the Crisis in Chrysler".

Chrysler's current management has isolated three key points from the company has instinctively adopted in the tough times. Now they are trying to adopt the same attitudes, even in the boom times, to keep their edge. I think these points map rather well to the software space, so here are the points with my commentary. :)

We are all in this together
No matter how much the guy up the hall annoys you, he is really trying to ship great software too. He's probably not really trying to tank the company, it just feels that way to you sometimes. The disagreement you're having with him is probably really about direction or tactics, but you share a common goal. Once you realize that, it's easier to find common ground and work together.

Every nut and bolt counts-
I love this one. It's a variation on "Quality is Job One" or "the devil's in the details". The work you do every day adds up to create the products we ship. Software, and life, is cumulative. If you can't be bothered to turn out solid work today, don't be surprised if three months down the road, your entire product is shoddy. Don't gloss over that problem or tolerate broken windows. Fix it today.

Remember the driver
Our job is not to code or test software. It's to ship software! Never forget that someone will be using your product, running your code. Is your product running slow enough to bother you? Then remember Chrysler and fix it for your "driver". Is the GUI clunky? Is it only "good enough"? Work on it! Contact a co-worker for a second opinion. Make it great!

There's nothing blindingly new here for most of us, but it's a good reminder.

How would you try to instill each of the three points to your team mates? Or would you? Do you need to keep a sense of urgency alive to do your best work? Is it true that most people perform best with a deadline? Or are these just good principals to remember all the time?

Enjoy!

btw, I'd like to encourage everyone to take a moment and donate some amount to a relief agency of your choice. Hurricane Katrina has pummelled a lot of people, but they'll probably be another problem for the same agencies to deal with too soon. Let's be sure these agencies have what they need to help those in need! Next time it might be one of us!

Jared

posted at: 16:40 | path: | permanent link to this entry