Live data from Hacker News

"Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

tompeters.com

11–19 of 19 posts

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#11
I like to take this kind of thinking a step further...

Planning to code: good.

Coding in a garage: better

Developing in a living breathing organization: best

No matter how much time I spend on my startup, I always keep an active consulting gig on the side. Routine situations come up every single day that I would have never conjured up in my "ivory tower". The value of fresh ideas and feedback from live users far outweighs the income.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#12
post #9

Earlier quoted context omitted.

Actually, I would bet that brain surgery is difficult, rather than particularly complex. Indeed, your scope for action is probably pretty limited compared with writing a huge program. And... brain surgeons probably practice (start doing) on animals or something else before trying it on people. At least I hope they do.

I've always heard the brain was the most complex thing that we know about. And I've always heard that brain surgeons spend a considerable amount of time planning some operations due to the complexity involved (although I am sure not all operations).

The brain being incredibly complex is probably right, but my guess is that our ability to slice and dice it in beneficial ways is probably much more limited.

Still though, yes, in some activities you must do your utmost to get it right the first time.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#13
post #12

Earlier quoted context omitted.

I've always heard the brain was the most complex thing that we know about. And I've always heard that brain surgeons spend a considerable amount of time planning some operations due to the complexity involved (although I am sure not all operations).

The brain being incredibly complex is probably right, but my guess is that our ability to slice and dice it in beneficial ways is probably much more limited. Still though, yes, in some activities you must do your utmost to get it right the first time.

It's also not an either-or choice. Sometimes you can plan to do two weeks of work, then observe, then do it again.

I think it's a mistake to view the spectrum as only having two spots, total planning and completely inductive. Learning how to mix and match is probably a better skill than blindly following either extreme, imo.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#14
In the context of software development, the ideas expressed really fall into alignment with incremental, Agile development. While I have been fortunate enough to spend most of my career so far in an Agile environment, I have had some time in a more traditional waterfall environment as well. In comparing the two, it seems like a key benefit of an Agile environment is that momentum much more quickly builds upon itself. It's much easier to work with something tangible, tweak it and improve it, than it is to abstractly imagine what it needs to be like, and get it right the first time.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#15

Wow. I like this article a lot. I think it captures the essence of what we're all talking about. Having said that, it's not a one-size-fits-all kind of deal. I certainly wouldn't want my brain surgeon saying "Hey. Let's just cut this schmuck's head open and see what we get, okay? Where's that can opener?" A startup looking for user desires and aligning them with economics is a simple system. Act more and plan less to…

It is a one size fits all kind of deal. You just have to try putting it on the right appendage. The difference here is that surgery is a service and software is a product. I think that basically they're the same. You "develop" a service the same way you would develop a product. You practice. In effect, practice is the iterative design of a service, just like rapid prototyping is the iterative design of a product.

Now, the surgeon can't just crack open your head and see what happens, but before he ever does that he's going to have practiced cracking open heads and mucking about with them somewhere (probably on a cadaver). He's probably going to have made some mistakes doing it too, and learned from them the right way to go about cutting up people's brains.

Likewise, you don't just ship the first piece of software you scribble out and see what happens either. Now, certainly with a web 2.0 AJAX calendar-organizer-automated-fish-feeder there's a greater margin for error than brain surgery, but it's a difference in degree, not in kind. If you launch a site that just returns "Internal Server Error" when someone surfs to it, you're going to be about as successful as a brain surgeon who never learned how to handle a scalpel.

So the surgeon cutting up a cadaver seems to me to be the same as a programmer blasting out a broken version 1.0 of his software. They're both trying something out in a situation where they can fix mistakes and reincorporate them to product. The surgeon makes a cut, looks to see if it's in the right place and is the right size, if not he keeps trying until he gets it right. When he can make the right cut every time without thinking about it, his service of cutting people is finished being developed. Likewise, the programmer writes some code, and checks if it produces the right output. If not, he tweaks the code until it does. Same thing. You can't compare a finished version of one product (performing brain surgery) to the development process of another product (writing software).

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#16
I'm really glad to see that people are coming around to this school of thought. It seems very closely related to the decline of waterfall and the rise of iterative development.

It's really important that we (the people who believe in prototyping and iterative development) emphasize that this is not a chaotic way to approach a problem. We absolutely do plan - however, we plan by coding and prototyping, rather than writing detailed specs. Specs are good - but they emerge from the code and the prototype. We absolutely do consider design issues - however, we discover and implement these things through refactoring. And in the end, we may very well throw out our first approach and rewrite, if it appears to be necessary.

But I think this is leaving the realm of opinion and entering the realm of reality. The people who try to do the pure waterfall where an architect designs and writes specs, a coder writes code, a tester does testing - they seem to be losing badly in the race to get excellent software to market. From what I've read (successful startups, Google) the free market appears to be rewarding the better approach.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#17
The problem with planning is that it oversimplifies your lived experience. Very few people live from step to step, they live by their desire, therefore the statement, "the best performers seesaw between "ideas" and "actions" is more of linear effect. You have an idea, you want it to become real, so you try, if some actions to get you to the idea, the key is knowing what actions best produce the idea. An now we are back to planning, which people do more subconsciously than consciously, and let's face it, sometimes you just need to cogitate on an idea for a few months and then it strikes you what to do to make it real. I think the more important question is how do you not loose sight of the ideas you want to make real?

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#18
post #16

I'm really glad to see that people are coming around to this school of thought. It seems very closely related to the decline of waterfall and the rise of iterative development. It's really important that we (the people who believe in prototyping and iterative development) emphasize that this is not a chaotic way to approach a problem. We absolutely do plan - however, we plan by coding and prototyping, rather than wri…

I've been learning about this transition in my software design class, and the funny thing is the waterfall method should never have been in the first place. The method is actually based on a misinterpretation of Dr. Winston Royce's paper, where he advocates a system like rational unified process, but a bit more nuanced.

Re: "Planning" is highly overrated. The best performers seesaw between "ideas" and "actions."

#19

Wow. I like this article a lot. I think it captures the essence of what we're all talking about. Having said that, it's not a one-size-fits-all kind of deal. I certainly wouldn't want my brain surgeon saying "Hey. Let's just cut this schmuck's head open and see what we get, okay? Where's that can opener?" A startup looking for user desires and aligning them with economics is a simple system. Act more and plan less to…

Oh yeah, his won't work for all fields. Iterative development is excellent in software because the cost of construction (ie., running the code) is nearly zero. You can let constant feedback from application guide where you are going.

This is why interviewers like to ask about languages that aren't in the corporate playbook. If someone says "Ruby? Python? Lisp? No, I haven't had the opportunity to use any of those yet," you know you can pass. Not because all good programmers use ruby, python, and lisp, but because all good programmers know that you don't need to "have the opportunity", you just need to install the language and write some code.

It would be unconscionable to learn brain surgery this way, so if someone says "I haven't had the opportunity to operate on a brain yet," that's a reasonable statement.

I actually suspect that writing software is one of the most complicated things a person can do. If we didn't have the advantage of iterative development with cheap compile cycles (or run cycles, if you don't compile), then no system of any real complexity could be built.

Post reply on HN