Ask HN: Does a perfect plan increase the chances of success or a partial plan?

3 points by shahzaibmushtaq ↗ HN
I have a few dozen things saved in drafts with perfect plans, and partially planned things are out there looking for success.

In my honest opinion, a partially planned thing helps you course-correct for survival or growth faster rather than a perfect planned thing where you spent so much time on so many things, and in the end you find out that this whole thing didn't work as planned.

In my experience, start up with a partial plan and make it perfect along the process.

16 comments

[ 4.5 ms ] story [ 48.2 ms ] thread
Yeah, most people are going to agree. It also is one of the core points of the agile manifesto -- https://agilemanifesto.org/ -- "Responding to change over following a plan"
Most people don't even really know about the agile manifesto, but it is definitely a good manifesto and I second it.
Perfect is an all-or-nothing kind of word. You can only know if a plan was perfect in retrospect if it went exactly like you thought.

But yes, you need a plan in whatever level of detail is appropriate. For some projects you just need a general direction to go in (say "Figure how the colors got screwed up in this print and how not to have it happen again" -- that kind of research project is super hard to estmate), but if you were building a building and expecting to get permits, funding from a bank, rent a big-ass crane, you will need a very detailed plan.

Even if you have a detailed plan there is a lot of expectation that something could go wrong.

A task lisk and

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

is the minimal project management system for small projects.

https://www.pmi.org/standards/pmbok

describes just about everything you need to handle for the most complex projects, smaller projects need some subset of those practices depending on the project.

So, you are saying make your plan as complete as possible and start with it because no matter how detailed or perfect your plan is, it's still an incomplete plan and you may need to change it somewhere along the process.

And how beautifully you have summed it up that perfection is an all-or-nothing kind of mindset.

I think every project needs some kind of plan but how elaborate of a plan depends on the project.

I had a setback in my career because of a project that failed because there wasn’t any project management. I joined the Project Management Institute and was thinking of getting a certification so I studied that PMBOK which lists just about everything that might have to be managed to manage a project including hiring people, communicating with the public, etc.

I think the most common problem people have with side projects is that they get a huge number of ideas and do a little work on a lot of them and make no real progress. That is where the Kanban thing comes in. The idea is that you limit the number of things you have in progress. You will see this principle at a cafe where they will only take your order when they have made sufficient progress on other People’s orders (e.g. they will process more than one order at a time because they have to wait for the oven to finish)

Most of the time I have three side projects I am committed to, usually I am making real progress on two of them and the other is aspirational and I am not really making progress on it. Maybe sometimes it moves to the fore or I give up one and start another. It is not perfect but I do complete projects so I am happy with this.

What you need to do is have just enough structure to deal with the problems in front of you…. If in the other hand you really want to learn project management it is a worthy subject with a lot of resources like the PMI.

Yes, deal with the problems that are in front of you, and when you have free time then deal with the problems that you can sense.
Your first plan cannot be "perfect" but that should not be an excuse for not making it "complete"---as complete as you can. If you know you'll have to hire at least 2 engineers, for example, the plan should contain an entry for that.

Think about Donald Rumsfeld's advice: your first plan should contain all of the known knowns, good estimates for known unknowns, and wiggle room for the unknown unknowns.

And keep it as complete as possible. If your board, or your investors ask you where things stand, you must be able to give them as complete of an answer as is humanly possible.

Thanks for sharing this advice.

Yes, complete understanding of where things stand at any given time improves our odds of success even when it seems difficult.

No plan survives contact with the enemy.
Is it no plan or no-plan?

you are confusing others like me.

> In my honest opinion, a partially planned thing helps you course-correct for survival or growth faster rather than a perfect planned thing where you spent so much time on so many things, and in the end you find out that this whole thing didn't work as planned.

Then it wasn't a perfect plan, because it would have worked out perfectly, right?

This is one of the big sticking point between BDUF and non-BDUF approaches. Spending inordinate amounts of time creating a plan that won't survive is not valuable, it's wasteful. Spend enough time to create enough of a plan, then execute and refine. How much is enough? Hire me and I'll tell you. More seriously, gain experience in executing and you'll figure out when it's time to just start and stop sitting on your ass in meetings all day. The context of your effort, your team's level of experience with the domain, and a few other factors are what help to determine the switchover point from planning to executing.

A perfect plan on paper theoretically guarantees a seamless process during the execution phase until you practically hit a brick wall, that's what I was trying to say.

"Hire me and I'll tell you" is certainly a good point for figuring out what's enough, but what about others who want to find it out on their own?

http://www.poppendieck.com/reference.htm - a lot of good books, don't bother reading them all. It's listed in reverse chronological order, I'd read some of the older ones first. I'd add Deming to the list, Out of the Crisis is a tragicomic read because you'll realize that we haven't learned anything as an industry since he wrote it (published in 1982).

OK, so I have a lot to write on this topic but I'm going to distill it to just a few points.

1. Don't create longterm plans, period. If you do, they should be no more detailed than a sketch past the 3-12 month mark (where in that period depends on your context). And it should never be treated as a commitment, because there are too many unknowns. Even if you fall for the idiocy of BDUF for a large effort, your design will almost certainly be wrong unless you've done the work before (in which case why are you designing anything, you have a design already; no, wait, why are you building anything you have a working system).

2. If you don't know how to judge whether a plan is good or not, then create the opportunities for yourself to learn. Either read about successful and failed projects, or go participate in many projects, or go observe them. If you're in a corporate environment you should have the ability to do all three of those.

3. If you have one big project you need or really want to do, and don't have the time to broaden your experience across many other projects, then be smart. The only smart way to run a large, complex, longterm, novel (to you or industry) project is iteratively. Iterations create learning opportunities because they offer you a feedback loop. Learn from each iteration and revise your planning practices and plans as you go along. 12 month iterations mean slow feedback, so use smaller iteration cycles (1-3 months, maybe 6). You don't have to deliver a deployable product each iteration, you need to deliver something that can be learned from though. Even prototypes to solicit feedback from customers or a proof-of-concept that can determine the next steps (possibly even ruling out the approach taken in the POC) are fine.

4. Avoid large batch sizes. Don't turn in a complete rewrite of a system after 24 months of work and hope it works. Find a way to incrementally deploy or deliver the changes. One of the worst projects I worked on required 3 successive generations of the system to be running at the same time because each generation was a big-batch, BDUF project. By the time they were finished they didn't deliver features that had been added to the older systems. Oops (not oops, it was obvious it was going to happen to anyone who thought about it). Delivering smaller batches or transforming the existing system is the most reliable way to succeed on a large effort.

5. Learn the difference between "big step" and "little step" work and how to judge when each is appropriate. This can be approximated with iteration lengths. If you have a lot of unknowns, you want shorter iterations in general. This gives you more feedback earlier to guide the next steps. When you reach a point where you know the next steps, you can increase your iteration sizes and scopes. Accept the risk, though, that goes along with that. A 12-month iteration that fails means you have to potentially rollback 12 months of work. A 1-month iteration that fails, you lose 1 month of work. When is frustrating, the other is catastrophic and potentially destroying your business.

In case it's not obvious, the common theme is iterate, learn, and adapt. You have to iterate to reliably succeed in novel large scale systems development. Complete plans spanning large periods of time become binding obligations because if you spend $1-10 million creating a plan, you or your paying customers will want (sunk cost fallacy coming into play) to see the plan through even when it becomes obv...

"Even things that can't go wrong, do" - Troubleshooting Analog Circuits, Robert Allen Pease.

Your perfect plans are drawn around a set of hypotheses and premises, chained unfortunately, some of which I'm not uncertain would be proven wrong the moment you'd try and execute.

I am reminded of this: https://www.youtube.com/watch?v=uDJEjT2kKqY . Trey Parker and Matt Stone, of South Park, on story structure. This is what mostly happens.

I'm also reminded of that scene from the Collateral movie, where the Jamie Foxx character talks about his business plan, the one he's been refining for ten years.

Don't sell the pelt before shooting the bear.