FTFY. Research first, and make damn sure there's a viable market there before you sink time into the idea. This is essentially what a business plan is, a documented view of the market and how you're going to make money from it. Without it you're not really building a business…you're building an app.
What you need to do is Observe, Orient, Decide, and Act.
The OODA loop has become an important concept in both business and military strategy. According to Boyd, decision-making occurs in a recurring cycle of observe-orient-decide-act. An entity (whether an individual or an organization) that can process this cycle quickly, observing and reacting to unfolding events more rapidly than an opponent, can thereby "get inside" the opponent's decision cycle and gain the advantage.I'd disagree on a number of points. A business plan is something that gives you an idea of where you've been, where you're headed and what the strategic objectives over the next period (normally a year) are going to be, who's responsible and how that will be executed. For a first year, it's largely a case of documenting what you're going to do and how you're going to do it, feeding in from market analysis and all the other researchy stuff before you start.
The research is a fundamental part of shipping - you can split it out if you want, I don't, mainly for two reasons:
1. You don't actually have a startup until you ship.
2. See 1.
Likewise, writing a business plan without a business isn't quite a fools errand, but isn't the best use of your time because at that point in time you do not have a business, and the minute you do everything will change.
It's great to do the research, in most cases it's essential, the things you're describing (view of the market and how you'll make money out of it) are things that feed into the plan and are actually more important than the plan, not the plan itself.
My 2-10 hour and often single page 'business plans' involve diving head-first into the market and finding out who I'm going to sell to, how many there are of them, what competitors I have, what the ad rates are, etc. With this basic info I can take a grounded and unbiased look into the validity of the concept. You can have the best idea in the world, but if there isn't a market for it, there's not much point in pursuing it if your goals are financially driven. "Build it and they will come" and "Build something you'd want yourself" both aren't good enough reasons alone to sink any amount of time into an idea.
Coding should be done quite late, after validating the market need, that people are willing to pay, etc.
Unless your time is worthless, of course.
But given that, I stand by the above. You are better off having a product you can iterate on based on real world feedback, rather than a theoretical construct that hasn't been tested.
Because you were lucky in this instance does not make that good advice for others to follow. (I'm not saying it's bad advice either, just...)
It's 80% bollocks, if you'll pardon my french. What you need to do is ship, measure and respond. The numbers in a business plan never reflect reality and there's too many things that you wouldn't see coming that'll affect you.
Where business plans come in useful is in getting your idea down and making sure you've done everything to confirm that it's a viable startup. Once you're up and running you should be reviewing what you're doing on a regular basis - you don't need a business plan for that.