Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I guess you could call me a "MicroISV" because it's basically just me doing the work to create a product to be sold commercially. I'm sure there are many out there like me, so here's my question:

Besides the programming/coding aspect to get your code out the door, do you DIY or vendor-out everything else? For example, web site creation, internet marketing, accounting/taxes, company minutes, customer support, setting up ecommerce/banking, server management, procurement, etc.

All of those activities seem to be out of the realm of what I'm good at or have the patience/time for, but I don't know if the alternative is too untrustworthy or too expensive to make it worthwhile to try to farm out these tasks to someone else (like a local company, vendors on oDesk, etc.).

I can certainly understand wanting to keep all these tasks "in-house" (i.e. me) to protect strategy, plans, code, private things like bank account numbers, but is it really that much of a risk to outsource these tasks? What is your experience?

share|improve this question

closed as off topic by Yannis Feb 24 '12 at 6:24

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Not quite an answer, but a really good blog on the MicroISV life is here: – glenatron Oct 28 '10 at 13:27
@glenatron: That's a really, really good link, especially the page. That's exactly the kind of advice I was looking for - from someone who has had to deal with this before. Go ahead and post it as an answer and it will at least get an upvote from me. – Todd Main Oct 30 '10 at 19:31
up vote 7 down vote accepted

I think that rather sooner that later you are going to need an organization to back your product, because an important part of a software's value comes from the ability to support your users and evolve the software from your user's requirements.

At some point you are not going to have enough time do this all by yourself.

You can outsource most of the administrative tasks but upgrading your software and supporting your users (the core of your business) are key to success, so you are going to need a team (could be just two or three people).

Building a team usually takes some time, so my suggestion is to start finding people that work with you in the technical aspects of your product, so eventually you can let them handle those and you start MANAGING the team.

It looks like you are the technical kind of guy, so you need to a) start developing you management skills or b) get someone you know and trust, that has those skills, to become your business partner.

Developing a product by yourself is a completely different game from having a team work together towards that goal, management is key for the latter.

Running a business is a team work beacause it's impossible (IMHO) that one single person can efficiently handle all aspects, specially those regarding strategy, marketing, product development and user support.


  1. Develop a team for working out strategy, marketing, product development and user support, and
  2. Outsource everything else
share|improve this answer
good insight and advice. much appreciated. – Todd Main Oct 25 '10 at 4:37

We have a simple rule in our company, as we are a small software house.

  1. Can we do it as well as a third party
  2. Will we save more money by doing the work internally or would it be more cost effective to work on another project
  3. Do we really have time for the additional work
  4. Is there any other elements that internal staff may not be aware of such as legislation etc.

The answers to simple questions like this should help you make an informed choice.

I hope this helps a little.

share|improve this answer
Point 1 of @Reallyethical's answer is really my litmus test. I have outsourced things like the accounts, storefront/licensing, web site, and graphics of my software because I just couldn't do a good job. There are other areas where I rely on having friends or contacts I can get input from - UX and marketing - because I feel I need help but can do the work myself once I've found out what needs to be done. – user4051 Oct 24 '10 at 17:58
+1 very pramatic rules – user2567 Oct 24 '10 at 18:00

A friend of mine was very successful as a software consultant, right up until his accountant skipped town, taking all of my friend's records with him. This left my friend with no clue about how to do his taxes. He had no other choice but to go out of business.

It happens all the time that accounts cook the books to their benefit and the detriment of their clients. I guess my friend's accountant thought that he was just about to get caught.

Newbie consultants and software publishers are always advised to get the advice of good lawyers and accountants, but I have not found to be worth the money I paid them. I ended up doing much better for myself by learning to do my own accounting, and by learning about the parts of the law that effect my business.

Now that's no substitute for asking for expert advice when appropriate. But there are a lot of things about the law and about accounting that one can readily learn about just by reading about them. This enables one to resort to the experts only when one has a really arcane questions.

If you do outsource your accounting, insist that you be provided with regular backups of your books, and study your books, bank statements and online banking regularly to be certain that you are not being embezzled.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.