Always. Be. Shipping

A pundit serves almost like a “fluffer.”

A disgustingly apt simile…

I’ve deployed about 15 incremental releases of our software this year. I guess I rock.

Great Post !! Heard the advice a million times before… but the word “f**king” really DOES add that little impact.

Yes, you pundit :wink:
Blabbering impresses yourself first.

But if I’m so busy programming I won’t have time to read your blog…

Why the asterisks?? Say what you mean!

Fast, cheap, functional. Choose two.
or
You want it right or you want it Tuesday? Choose one.

I read this blog entry and thought “Crap, what am I doing with my life? I don’t want to end up like this guy.”

Then I read David’s comment, and remembered what I am doing with my life…

Ramiro Polla

Some people have bad attitudes, some have can-do attitudes (I can do it if everything lines up for me), while others have what I like to call a WILL-do attitude. They will do whatever it takes - regardless of the obstacles - to be successful, get the job done, yada, yada.

love it

My company loves to swirl endlessly in what Steve McConnel calls the “fuzzy front end” of projects. We do much better when we dive in and deliver, even if the first delivery is off what the users really want. By the second iteration, we’re almost always really, really close.

After months and months of fuzzy front end, we still end up with the first iteration being not even close, and the second quite a bit closer. So what’s the point of all those endless discussions, anyway? Keep BAs employed?

Now I ralize people might see this differently, but for me, “Do it right” simply means one thing: Do not sacrifice maintainability in the name of getting stuff done faster.

Sure, you might get something out of the door in less time that way, but generally, correcting design flaws later on (Especially with people already using your code) will be a major pain in the ass, and in the end, you will end up spending more time on something than if you had just given it a little thought beforehand or if you had just thrown out your codebase and started over. That’s not to encourage Duke-Nukem-Forever style perfectionism, but if you do at some point realize that the way you are doing things is clearly flawed, don’t try to hack around it: Go back and do it right.

Remember: You will spend more time supporting your app than initially writing it. Don’t make your life harder than you have to.

Love these tough talk sequences, but they don’t tell you what or how to do much of anything. :wink: However, it’s good advice to get people moving in the right direction.

A parallel that I’ve carried with me since first working in technology in a production environment:

  1. Make it work.
  2. Make it work right.
  3. Make it work better.

… but first, make it work.

Also, I’m surprised no one has referenced the phrase “do the smallest thing that moves the needle,” which is how I’ve most frequently heard it expressed in and around the Valley.

Mitch Murray said they won’t release the Glengarry leads until we have some sales with the existing leads.

All I’ve got left is Bruce and Harriett Nyborg.

Anyone want to trade?

And now there’s

via http://blog.pmarca.com/2007/10/i-love-this-fil.html

If you don’t like the stars, I use another slogan…

JFDI - Just Focus and Do It.

It came from some training I had and it really helps drive the task home. Now I’m back to my coding. 8^D I had a project I kept “hypothesizing” in my head about the data design, coding, etc. and it dawned on me that it would be stuck there forever, now I’m plunking out the code and the “super features” will come at the appropriate time.

Darn! I’m actually turning into a pundit myself (except I do 3D animation as well as programming)

Its better to make the specification before doing the thing, because that way you at least have some time to think before implementing. Plus you get the specification that lets you see what you were supposed to be doing.

The best way towards “Always Be Shipping” is continuous deployment with a hook in your source repository - automatically ship on every commit / push.

Ahh, you stole my line: