💾 Archived View for dioskouroi.xyz › thread › 29412316 captured on 2021-12-04 at 18:04:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

🚧 View Differences

-=-=-=-=-=-=-

What Is Hammock Driven Development?

Author: yogthos

Score: 48

Comments: 30

Date: 2021-12-02 03:43:19

Web Link

________________________________________________________________________________

nivertech wrote at 2021-12-04 17:50:21:

IMO this talk is about n intersection of two things:

1. Waterfall (The Good Parts)
  2. Focused vs Diffuse thinking as described in Barbara Oakley's Learning How To Learn course [1]

What I missed from the Waterfall[2] days, is taking the time to think on a problem and proper software architecture/design. Depending on the complexity it was one to several weeks of thinking, while writing the SDD[3] document. And then having a proper design review meeting.

Under Agile/Scrum everything was rushed, and you had to plan a sprint of work in a day or two, and each feature under a hour in a synchronous meeting. Obviously it's impossible to arrive to a good design decisions that way, and you just grab the first available seemingly working solution.

--

1.

https://www.coursera.org/learn/learning-how-to-learn

2. What I though was Waterfall, was actually RUP (Rational Unified Process)

https://en.wikipedia.org/wiki/Rational_Unified_Process

3. Software Design Document

ehnto wrote at 2021-12-02 07:00:53:

Be discerning, be critical. Not everything is awesome, and it doesn't have to be

Having worked as an outsider with Americans and of course the heavy American influence on the tech scene in general, this one piques my interest because it can lead to some product blindness even in small teams.

I'm obviously generalizing in order to discuss the stereotype, but I find there is a habit of Americans to overstate how awesome everything is and how great it is that you did it, and then one day you find out it's not great and it never was. This affects your ability to make good decisions and deliver good results, because feedback is your touchstone with reality and client needs. If someone tells me it's awesome, job done, I stop working on it. If someone tells me it's no good, I fix it. If it's not perfect and you tell me it's awesome, I still stop working on it, because I figure it meets your needs and the job is done.

I had this in Japan too, everything was great and nothing was bad, food was always considered the best thing ever. I do enjoy the endless optimism and positivity for general living, but it can cause issues when you're trying to deliver a great product.

theshrike79 wrote at 2021-12-02 09:08:35:

When working with Americans the rest of the world has to recalibrate their sensors :)

When an American says something is "awesome" or "revolutionary", it's usually just another day in the office.

bestouff wrote at 2021-12-02 11:14:03:

Exactly. At first I thought it was just a thing in the U.S. movies, but when I had to work with american people (I'm european) that was a shock: they're like in the TV series, grandiloquent and enthusiast and ready to applaud at each boss's speech.

Personally I enjoy it, it adds fun in the workplace, but you have to not take it seriously otherwise it messes your expectations, just as you said.

It's been the same when working with other cultures, like indian or asian people; you have to adjust and not take everything at face value.

cafard wrote at 2021-12-02 15:43:58:

Some years ago I was checking into a hotel somewhere in the US. The clerk's standard reply seemed to be "awesome", no matter whether I had just given my address or stated the number of nights we'd be saying. It took some work to keep a straight face.

ehnto wrote at 2021-12-03 06:08:37:

Some words have definitely lost their weight. Or maybe your address was truly awe inspiring.

ryandvm wrote at 2021-12-02 15:05:23:

I think this is a product of the dominant echelon-based corporate culture. People get promoted from above, which typically means they get promoted by making their boss look good. Regardless of how good a job a manager is actually doing, if you can pretend like everything under their purview is an act of brilliance, they'll make sure you stick around.

This is why you end up in meetings with half the comments being about how "awesome" it is that somebody added a search box to a results page...

tomc1985 wrote at 2021-12-02 05:38:44:

So basically, "more idle time" equals better problem-solving

...which I agree with wholeheartedly. Never underestimate the value of sleeping on, gaming to, or hammock-ing a problem in order to solve it.

314 wrote at 2021-12-02 06:43:48:

More idle time when in a primed state.

thunderbong wrote at 2021-12-02 06:49:07:

This, I think, is very key. You take the problem, mull over it for quite some time, think of different approaches to solving it, realize that none of them might work. And then you walk away. Take a nap, cook, work out, whatever.

The brain then does this background processing and connects the threads.

Time spent on trying different solutions (and especially, experience) is critical.

Quoting Mark Twain -

Good decisions come from experience. Experience comes from making bad decisions.

gonzus wrote at 2021-12-02 07:56:54:

I wanted to chime in and say that this is _exactly_ how I approach difficult problems. It has worked for me over and over again, and I have trained myself to go against my natural instincts and just drop something after a while, knowing that when I come back to it, I will likely have a fresh perspective. Also, love the Mark Twain quote.

fhd2 wrote at 2021-12-02 07:10:10:

Reminds me of how I solved some of the hardest problems I've ever worked on (all in side projects) while being on parental leave, pushing around strollers. During that time I had something of 1-2 hours at the keyboard each day, but endless hours to think. It was quite the enlightening experience, I was literally shocked how much I got done as opposed to exploring problems while writing code.

But I've never managed to find that kind of focus at work, neither as developer nor CTO, neither remote nor on site. I feel I've always spent a large chunk of my time trying to get people to explain the problem they're trying to solve, to stop rushing, or to reduce scope. Tragic, really.

roca wrote at 2021-12-02 04:53:48:

Personally when I'm thinking about a hard problem I have to pace around, not lie down.

nielsbot wrote at 2021-12-02 05:24:10:

I'm a shower driven problem solver myself.

roca wrote at 2021-12-02 07:06:29:

That works too but there's only so long one can spend in the shower.

nielsbot wrote at 2021-12-02 18:35:51:

Especially in a drought. (Northern CA here)

Sinidir wrote at 2021-12-02 05:06:24:

Yeah. More like hike driven development.

PKop wrote at 2021-12-02 05:11:28:

“All truly great thoughts are conceived while walking.”

-Nietzsche

cweagans wrote at 2021-12-02 15:07:39:

There was an interesting article about this recently.

https://lithub.com/on-the-link-between-great-thinking-and-ob...

quickthrower2 wrote at 2021-12-02 05:36:24:

Working for someone else makes it hard to do this often: there are processes in place to avoid developers doing anything other than finishing the ticket (for example timing the ticket and checking they did exactly what it said within the last estimate)

Which is fine with me because I can save deep thinking for side projects :-)

tlarkworthy wrote at 2021-12-02 05:21:58:

you should try to talk to existing experts too. Sometimes they can utter a few words that gives you a helpful mind model that saves days of original thought.

fjfaase wrote at 2021-12-02 05:49:54:

I found that just explaining the problem to someone else, also works in great ways. I knew a guy, who thought that I was much smarter than himself, and often he would come up to me to ask me for advice and started to state the problem, which usually I didn't get, but halfway, he would suddenly see the solution, and thank me for helping him.

Cyphase wrote at 2021-12-02 07:39:36:

Take a look at rubber duck debugging:

https://en.wikipedia.org/wiki/Rubber_duck_debugging

revskill wrote at 2021-12-02 05:36:32:

As i see, this is about:

- Using a while true loop instead of deploying a worker to Kubernetes

- Using a setInterval instead of deploying a cron job to Kubernetes

throwaway85858 wrote at 2021-12-02 06:34:34:

Reading this I am reminded of Obolomov.

tmaly wrote at 2021-12-02 18:22:58:

I have to wonder if Rich Hickey every read Polya's How to Solve It ?

kjt wrote at 2021-12-03 14:26:57:

Yes, he directly credits the book in the talk.

thrower123 wrote at 2021-12-02 05:17:19:

Ah, yes. I'd probably call it insomnia-driven development though.

ChrisArchitect wrote at 2021-12-02 06:33:16:

A summary of a talk from 8 years ago?

ChrisArchitect wrote at 2021-12-02 06:36:36:

Sorry ~11 years ago

Some previous discussion:

https://news.ycombinator.com/item?id=1962051