Tim Barcz

Sponsors

The Lounge

Wicked Cool Jobs

Groups and Affiliations

Syndication

News

Ship Software With Value

The blogosphere has gone a bit crazy the last few days with posts responding to Joel Spolsky’s latest article about "The Duct Tape Programmer". Bloggers everywhere are tossing their two cents in and saying what parts of Joel's post was good and what wasn't good. Once noticeable trend is that many have jumped on the "just ship it" bandwagon.

There’s a quote mentioned by Jamie Zawinski in the article:

“Yeah,” he says, “At the end of the day, ship the f---ing thing! It’s great to rewrite your code and make it cleaner and by the third time it’ll actually be pretty. But that’s not the point—you’re not here to write code; you’re here to ship products.”

I don't know Jamie and I imagine the context that the comment was made in was based around some pre-existing level of candor with the person he was speaking. We really don’t know what “…ship the f---ing thing” means in the context of that conversation and what level of quality is expected in that scenario. I would agree with Joel/Jamie that shipping products is important and that often developers (myself included) run the risk of becoming too entrenched in a design or beauty and all too easily miss the point of developing software...which is to ship a product that adds value.  However...”shipping” is only part of the picture. As someone responsible for the value of the product my team ships, I’m keenly aware of what affects shipping early can do (both the positive and negative).

I'm reading a lot where people say "just ship it" but I've been part of teams where shipping too soon costs more money in the long run (and sometimes not even “the long run” but a few days/weeks down the road). These pro “ship it” bloggers surely must be talking about non-critical business systems when we say "just ship it"; would you want to ride on a plane where the flight control systems were sent out with bugs? Even a measly 1% failure rate of airplane system is unacceptable and is enormously expensive both in dollars and reputation for an airline.

The point is that shipping is the point but not the whole point, it's only one aspect of a well delivered software product. Shipping software with value is the point.  Ship too soon with bugs and the value gained by shipping is potentially lost.  Conversely shipping late provides no value at all.  Neither lobbing a piece of crap over the wall at your customers early, nor refactoring your code till it shines is the point, neither should be considered a success. There’s a sweet spot that you need to find.  Keep in close contact with your customer, if you pay attention they’ll let you know when you’ve crossed into either extreme.


Posted 09-29-2009 1:49 PM by Tim Barcz
Filed under: , , ,

[Advertisement]

Comments

Isa Goksu wrote re: Ship Software With Value
on 09-29-2009 3:51 PM

I think you're right. The only thing I'd add to this post would be the definition of the value. That changes the dynamics I believe. As you know for some customers, the value would be just a running software whereas for others it might be a maintainable, performanced, scalable etc software.

Anyways, there are lots of comments going on in this agile world about almost everything. And I believe before building any solid thoughts, we still need some maturity to really build these solid thoughts on it. Anything built before the maturity will be just a funny comment in next 5-10 years :)

All these duct tape programmers, pragmatic developers, tdd, bdd, ddd thoughts totally depend on the circumstances :) Putting all votes to one party will not solve our issues :P

Anyways, nice post! Keep continue..

Mike Murray wrote re: Ship Software With Value
on 09-29-2009 4:31 PM

I mean this with utmost respect to all involved in the discussion....

But I think this debate has gone way overboard.  People are reading one line in someone else's blog post that irks them the wrong way, and then proceed to write an overzealous blog post only arguing the opposing side.  It has gone ridiculously overboard on both sides.

Every competent professional in this field should know that you can't just slap something together as quick as possible and not pay for it in the long run.  And every competent professional in this field should also know that there are some tried and true mentalities and patterns that help make efficient, maintainable, proven code that you can give as a gift to all mankind (let alone your company and coworkers).

You really do need both.  The trick is to learn how to deliver on both.  And I think that requires honing your skills in producing quality software (likely when off the clock), so that you can become proficient enough with said skills to still deliver within business time constraints.  I've started following Lee Brandt's blog and I really do think he said it best, addressing both sides of the issue:  codebucket.org/.../the-backyard-mechanic.aspx

I think many of us are actually saying the same thing with little variations.  But some are getting way too worked up over small discrepancies and turning this into an unnecessary flame war.  Let's just all agree to be as practical and theoretical as it takes to write quality software efficiently.

dilandinga wrote re: Ship Software With Value
on 10-05-2009 3:28 AM

GX2Chc I bookmarked this link. Thank you for good job!

Eoworid wrote re: Ship Software With Value
on 10-12-2009 3:04 AM

Great. Now i can say thank you!,

Doctorset wrote re: Ship Software With Value
on 11-20-2009 5:45 PM

This is the welcome page for the dentaldoctor.us Association web site.

Add a Comment

(required)  
(optional)
(required)  
Remember Me?

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)

CodeBetter.Com