First Time Software Creators

A friend of mine, who has a day job, wants to create a software product and he asked me two questions:

I'm not a programmer and I'm wondering if it Is it too risky to hire programmers to do it?
What if my product isn't as good as I think it is and some customers might not want it?

After some thought I explained my assumptions, or core beliefs, about software development:

  1. A unit of one produces a unit of one.
  2. Adding more units produces more, but on a declining basis. 3 units doesn't produce 3 units. Something less.
  3. In software what can be learned (self taught), produced and distributed is incredible. One unit can accomplish so much if smart!
  4. Software today isn't so much about original works as it is the assembly of services, open source code and other libraries.
  5. Build software in baby steps. Create, release, learn, improve, release, repeat.
  6. Success is based upon what you won't do, rather than what you will do. Focus is key.

My response:

  1. Teach yourself to program in your spare time while making a living elsewhere. Give up evenings and weekends for 1 year.
  2. Deliver an early release of your software on your own utilizing integrated app services, API's, etc. etc., make as little software as possible.
  3. Learn from your release, but stay focussed on your goal. Do not let non-target, early adopter customers drag you into a non-focussed product. Say NO more than yes.