Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A couple of friends at work an me are going to set up a little startup / create our own software, probably moonlighting at first, since we cant yet afford to quit our day jobs.

Neither of us has have this experience, we've all worked for other companies before, where a set of guidelines are set, and I think this is the time to establish good practices to follow (like avoiding meeting-itis).

For people that have gone this way, what piece(s) of advice would you give us?

I'm looking more for the technical side of things, things such as:

  • Is it worth to have some kind of build server or is that going to far ahead?

  • Would you do extensive TDD or do you think it would be too much overhead for a small team that is not too experienced with it?

But wouldn't mind to listen to the management side of things.


The project is a web application done in ASP.NET MVC, I'm thinking of using Mercurial and BitBucket or Kiln + FogBugz or some other online project tracking tool, since we are going to be working remotely.

share|improve this question

closed as too broad by gnat, MichaelT, Dan Pichelman, Kilian Foth, jmo21 Oct 1 '13 at 10:52

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

    
I've taken the liberty of editing your question to remove the 3 part of it - it's not useful/constructive to place an arbitrary limit of how many things people should suggest (and probably most people would ignore that anyway). –  Peter Boughton Nov 4 '10 at 0:28
    
Try not to fail teddziuba.com/archives.html You usually learn how to do that the third time around. –  Job Mar 11 '12 at 5:39

2 Answers 2

up vote 14 down vote accepted
  1. Release as fast as possible. Chances are 90% of the code you start with will not make it past the first 6 months. So there's no point in engineering it like crazy. Code as quickly as possible to get to market, then let your users decide how to develop it further. If TDD is how you code quickest, use TDD. Otherwise, just hack it. Early-adopter users are pretty forgiving of a few bugs when your product is in beta.

  2. Don't waste your time being sys admins. You've got the right idea with hosted platforms for bug-tracking (e.g. FogBugz) and source control. Use an online document repository such as Google Docs. If you do store anything locally, use an online cloud backup service such as Carbonite. On your live environment, rent a fully managed hosting solution if you can afford it. Try to tend away from having to maintain your own servers.

  3. Concentrate on what makes you unique. If you find yourself writing code that seems like it must've been done before, use what's already there. Become experts at solving your business problem and don't get distracted by problems outside your domain.

share|improve this answer

if the team is more than just you, standards matter. They don't have to be complicated ("use meaningful variable names, CamelCase, and don't break the build"). TDD rocks because it works, use it. The tests you come up with also make a great foundation for demos at the drop of a hat. A build server may be overboard, it may not; start without one and see how it goes. Tracking tools likewise; can add later as needed.

Assuming this product is to be sold, do some market research now, to make sure you're building something that people actually want. Outline a business plan to go from zero to market, divide responsibilities and equity, and hold each other accountable.

Good luck!

share|improve this answer
    
Yes, it would be a subscription based web app. How would you go over making a business plan with no Business studies? –  Francisco Noriega Nov 4 '10 at 1:19
    
@Francisco short answer: learn. long answer: you don't need an MBA business plan, but you do need a plan to cover the basics: what are you building, who are you building it for, what competitors exist, why is your widget special/different, how are you going to market/promote it, how long will each step take, what resources will you need at what point, what level of sales will you need to break even and/or reach your immediate financial goal. Who are you going to sell it to and why should they care are critical; do that first. –  Steven A. Lowe Nov 4 '10 at 5:34
    
thanks for the solid advice!, I think I already know the answer to many of those, but just in my head, and with a few people i've talked to, its probably a good idea to put it down and support it with more evidence.. thanks again! –  Francisco Noriega Nov 4 '10 at 5:47

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