Settings

Theme

STFUDD

chriscontinanza.com

69 points by nkabbara 15 years ago · 19 comments

Reader

rarestblog 15 years ago

I fail to understand these two parts:

"In STFUDD ... you don't write anything at first. " "STFU Driven Development ... its How quickly can we Shut the Fuck Up and write something?"

So, which is it - don't write or write quickly?

I also fail to understand this part:

"we're all full of shit. And that's why you test. That's why you write a README."

How exactly "tests" and "README" connected to "we're all full of shit"?

  • nimai 15 years ago

    I think the point is, stop arguing about these things and get coding.

    • bdfh42 15 years ago

      Not quite IMO - Yes it means stop. But then I think it means - find the simplest thing that could possible work - and then get on with it. Works for me.

motocycle 15 years ago

Sure, there are some productivity benefits of the "STFU and start writing something" part, but this post itself has a few contradicting points. If everything is wrong in some context, why should i care about writing README and tests first at all times? Say when starting a project using a new language, I don't bother writing tests because I know I'll probably revisit for a rewrite soon enough, and by then my tests will be better. It worked better for me this way. How did I know that? Hmm sometimes I stopped and asked myself what approach to take so I just STFU & take the same approach later. Oops that violated STFUDD in the first place :)

VladRussian 15 years ago

It is late night, and i'm trying to practice the SRHNDD ("Stop Reading HN and write something") so STFU and post something interesting.

endtime 15 years ago

Nitpicking, but is this any sort of conventional syntax for defining a predicate? I've never seen it before, and I don't find it particularly intuitive...

> ∃ {C(x) : x is a context}

  • msg 15 years ago

    It looks straight out of my college course on logic. The backwards E is the existential operator. C is a verb. The sentence means "a context exists".

    • cgs1019 15 years ago

      That's clearly the intended meaning, but what it really says is that there exists a set whose elements are of the form C(x) where "x is a context" and C is left undefined. This, of course, is meaningless. Understanding is left as an exercise for the reader?

      • msg 15 years ago

        The notation (C(x): x is a context) actually means "C(x) is shorthand for the following sentence: 'x is a context'". C is not undefined, it is the template "___ is a context".

        I guess the way the brackets are used may not be standard and could be confusing.

    • endtime 15 years ago

      I know what the existential operator is, and C is a predicate, not a verb. But I've always seen predicates defined using lambda calculus (or just English)...this notation makes no sense to me.

DanielBMarkham 15 years ago

How do I say this nicely? This seems like something written by a 20-year-old, somebody who has worked in academia, volunteer projects, or a startup. Or put another way, somebody from an environment where endless talk prevents work from happening.

In timebox-driven development, every so often you have to produce something of value. So while I've never said STFU to a team, everybody knows that discussion has to start and stop based on the reality of doing something (which the author seems to be big on) Or better yet, the discussion continues all along; the topics and depth of discussion changes as the team moves forward.

Here's a little tidbit: in a corporate situation, once a team starts working at any degree of efficiency at all, the real problem is getting the rest of the business to understand and agree on what the team is supposed to be getting paid for. Lots of work can go into "business alignment" -- getting people on the same page. Technology teams become business decision-support teams. It makes sense if you think about it. Most of the time the real reason something isn't fixed is because people never could agree on exactly what the problem is or how to fix it. To the unaware and impatient, this can certainly seem like "endless talking". In fact it can become "endless talking" -- or not -- depending on the people skills of the team members.

So yes, if I were working on a volunteer team in a startup situation -- a place where there is no immediate customer and both the problem and solution are unknown -- I'd say we have to start putting some code down and getting more of a basis to talk. But I'd never say STFU. I don't know if the author thinks he's being cute or not, but that's just asinine. He's writing an article that applies to 30% of all X, generalizing to the rest of the group, and making sweeping profanity-laced statements in an attempt to drive his point home.

Unfortunately, no matter how many times you say "fuck", how much predicate calculus you use, or how confident you are, you can still screw the pooch by not knowing wtf you're talking about.

I'm not going to get into the whole "context is king" part of this because there's too much to straighten out in this brief format. He's on to something, just draws the wrong conclusion.

This article would have worked better as an "sometimes I get really upset and want to say STFU and start coding!" instead of a "This is reality, get used to it".

If the author is reading, keep the good work coming! Just be careful with generalizations: you can get away with them when you're right for 85-95% of the cases, but in this case it doesn't work.

  • generalk 15 years ago

    in a corporate situation, once a team starts working at any degree of efficiency at all, the real problem is getting the rest of the business to understand and agree on what the team is supposed to be getting paid for.

    This happens in the consulting agency I work for, and we're only five or six programmers strong! There's far more situations, for us, that would be solved with more communication and not less.

onan_barbarian 15 years ago

Akin to 'grow a pair' programming.

anatoly 15 years ago

See also the "shut up and calculate" interpretation of quantum mechanics.

harshpotatoes 15 years ago

Please.... No more acronyms... I can't take any more...

wyclif 15 years ago

"Conscious."

jpwagner 15 years ago

Zed Shaw imitation fail

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection