Slashdot Mirror


Software Prototypes into Finished Products?

blastedtokyo asks: "With all the talk of offshoring and outsourcing, it seems that taking an entrepreneurial route is a great way to take your life out of the hands of overpaid goons and put it squarely in the hands of an underpaid one. Without an organized team of coders, testers, and designers it seems very tough for a single person to get started in anything other than consulting, or selling stuff on eBay. With my background in product design, and my knowledge that my coding skills aren't the greatest, I'd like to find a vendor or team to help develop some software ideas that I've been stewing over for a while. In other words, I've got the business plan, some credit-cards ready to be maxed out, the bitmap-demo and the specs for a few possible projects, but would like to get a team to code up a working prototype suitable to get some initial customer evaluations. Does anyone have experience sourcing such a vendor? How would you interview a firm to know that their staff is easy to work with and competent? Is it possible to do something like this without delays, excessive mis-communications and cost overruns, or is it better to just start hiring contractors, one at a time?"

15 of 55 comments (clear)

  1. RentaCoder by Anonymous Coward · · Score: 3, Informative

    Go to Rentacoder.com and the similar sites. Prepare for some interesting experiences.

    You will loose your shirt, by the way. The guys who do independent software projects, the kind that are sold shareware or download-register, all write the stuff themselves to start out. And some of them have worse coding skills than you, believe me.

  2. Get some legal advice first. by damu · · Score: 4, Insightful

    Before you ask for help, I think you will be spending some wise money by consulting a lawyer first, then a lawyer after you find someone to help you, then a lawyer once the project is done. Your idea can be extremely valueable with someone with more money ane assests.

    --


    Useless sig.
  3. Don't pay now by El · · Score: 3, Interesting

    Find some people that are out of work and willing to work for a share of the eventual profits. Have them develop the code, then when it's working, file chapter 11, and sell the assets off to another company (also owned by you) at firesale prices. Bingo, you get your software development done cheap! Think it's funny? You'd be suprised how many times this has actually been done!

    --

    "Freedom means freedom for everybody" -- Dick Cheney

    1. Re:Don't pay now by GCP · · Score: 3, Informative

      The exact law depends on the state, but the term "piercing the corporate veil" is the legal term for the approach used to defeat this scam in court. Anyone who transfers ownership of an asset from himself to himself via the game you cite risks having the court declare the corporations to be merely "veils" and the real party to the dispute to be the party behind the veils. Once that ruling has been made, the plaintiffs can sue the owner of the corporation directly.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  4. RentaCoder.com by JMandingo · · Score: 3, Interesting

    This is easy. Sign up at rentacoder.com and put your job out there. Dozens of software teams from South America, Russia, Romania, India, etc. will bid competitively for your work, offering to do it for a pennies on the dollar. rentacoder holds your money in escrow until the job is done according to your spec. rentacoder manages any arbitration should things go wrong. I've been very happy with rentacoder and the talent I've found out there, and no I dont work for them.

    --
    Vonnegut was right: Of all the words of mice and men, the saddest are, "It might have been."
  5. First Find A Great Project Manager by occamboy · · Score: 4, Insightful

    Consulting outfits are in business to take your money; completing your project comes second to billing.

    The only way to handle consultants is to have your own very knowledgeable and forceful project manager to drive the consultants. This person needs to know enough about coding so that they cannot be BSed, or needs to have a trusted resource that will keep an eye on things.

    I've yet to hear of even a single offshore success story; all of the ones I've heard end with "we were already way past the deadline, and we had to start rewriting from scratch!". Managing a project in your own office is very difficult. Managing one half-way around the globe staffed by people with different language and culture... forget it.

    Good luck!

  6. Contact us. by abulafia · · Score: 4, Interesting
    Seriously, if you mean to pay.

    That, of course, is the issue, and what elevates this post (in my mind, at least) above an ad. You don't seem to want someone who can build you a particular widget, you seem to want a partner that will assume some of the risk of launching a venture. And that is a very, very different thing. Craig's List is full of crap from people who have a great idea... "all we need is all of that other stuff, and a website, and we'll be rich. Wanna do the website?"

    My advice: "unask the question". You really seem to want a partner. You're concerned with managing timing, cost-overruns, etc., and clearly don't have the finances to build a company to keep that in house. So, you need to sell your idea to someone who does have the resources and ability to share the risk. Think of this as low-end VC. How does one get (low end) VC? Go sell it to people.

    Like I said, if you want code in exchange for money, sure, we'll give you whatever you want, it will be priced fairly, delivered on time, and be generally well done. You can get this from a lot of places (although I must say we provide nice perks for using us, and we write *excellent* code.). If this is your angle, lots of people can give you what you want, and analysing who is best to provide it is a business decision. Weigh cost vs. expected outcome, based on the history of the vendor. Ask for references. When you pick someone, stay on top of the process while it is going on, and don't be afraid of calling bullshit when you see it. Also, don't call bullshit when something isn't. Make sure that changes don't derail the project.

    Simple, right?

    There's the problem.

    --
    I forget what 8 was for.
  7. Why are you looking for a firm? by Samrobb · · Score: 5, Insightful

    Why would you want to (essentially) outsource development of your idea? You may not be the greatest coder in the world, but you should be able to put together something by yourself. If it's a large enough project that it might take 2-3 additional people plus you a number of months to complete, then start your company, find those people, sell them on the idea, and get them to come work for you in a startup capacity - reduced or no salary, stock or option grants, etc. in return for shared responsibility in creating the company.

    Face it - a consultant or contractor is only obligated to give you what you've contracted for, and is probably going to be more than happy to eat up your cash reserves by working extra hours to fix bugs, meet demo deadlines, etc. His/her reward is relatively small, and effort is commensurate. Someone sharing responsibility with you for putting out the product will be a lot more motivated (by a greater reward, and a greater risk) to provide whatever effort is needed to get the product out and get money rolling in ASAP - presumably your desire as well.

    --
    "Great men are not always wise: neither do the aged understand judgement." Job 32:9
  8. XP by splattertrousers · · Score: 3, Interesting

    Here's what I would do:

    Hire a couple people who have experience with extreme programming (XP). They'll deliver exactly what you want, without bugs*, with a release every week.

    You tell them the most important things to do, and they'll do them in order of your priority (not some made-up technical priority). They won't do other things that they think are nice, just the parts that you ask them for. Hopefully, you'll ask them for only what is needed for your demos.

    The weekly releases are key; you can see exactly what's happening. You don't have to wait 6 months to find out that the program doesn't really work, or doesn't do what you want it to do. You'll also quickly get a usable program that does the few things that you need to demo. If at that point you realize that your product idea wasn't so hot after all, you've just saved a lot of money over what you would have spent if you hired a team that wanted to spend all kinds of time creating a flowery design and building infrastructure.

    As far as hiring XP types, try to find a local XP person who is well-respected and ask him or her for some leads. Maybe get a technical friend to help interview the programmers. But be sure to hire people who have experience working this way. You don't want to pay them to learn how do release software incrementally.

    (*By "without bugs", I mean "without known bugs". Lots of people write software and leave a lot of bugs in until the end. That hurts demos. XP people will fix buggy code as soon as they see it. And they'll write automated tests to make sure that bug never shows up again.)

    1. Re:XP by caseydk · · Score: 3, Funny



      NO. STAY AWAY FROM XP.

      That damn autoupdate pisses me off.

    2. Re:XP by KyleCordes · · Score: 3, Insightful

      I'm fairly pleased with XP myself.

      But....

      As a customer, I wouldn't hire a firm/team based on their methodology talk, whether they're talking XP or RUP or whatever. I'd hire them based on their demonstrated ability to get useful software out the door, then hope they keep doing whatever they'be been doing.

      That said, as a customer I'd want frequent delivery of working code, regardless of the specific process the team will be using to delivery it.

  9. Advice from a firm like you want to hire. by barries · · Score: 5, Informative

    Hi. First a bit about me and my firm (not a plug--we're too busy to take on random work and we're probably not in your region), then the free advice. I own an 8 person (and growing :) software engineering consultancy that does project planning and software development for new products in the embedded and distributed application spaces.

    We specialize in a few different types of work for small firms and billion dollar companies. Man/machine interfaces. Medium scale (5 to 500 end points) distributed soft real time data gathering and collaborative apps. Hard real time embedded consumer and diagnostic devices. To give you some idea, over the last 10 years we've worked with x86, PIC, 8051, etc. using VxWorks, Win*, SCO, FreeBSD, Linux, PalmOS. Oracle, PostgreSQL, SQL Server dbs, C, C++, Java, Perl, etc. A wide variety.

    The advice: don't try to farm the project out. Find a firm that has experience using the tools you need to have used doing the kind of work you need to have done. Make sure that their management team and engineering staff are the same ones that worked on prior, sucessful projects like yours will be, and check with their past clients to make sure they did an acceptable job.

    Get a project plan from them with a detailed task breakdown (be reasonable about how detailed: don't expect them to make up tasks for things you can't yet spec clearly). Have them identify risks up front and get those tasks moved to the front of the schedule. Make sure you see clear descriptions of architecture--vague descriptions and diagrams are a good sign that they don't get it yet. Make sure you or somebody you trust technically reviews their work.

    Once hired, visit them frequently throughout the process. Assuming you don't have an airtight spec, you'll want to work on site as much as you can or have them work on your site--rent space in an incubator or industrial park or even a house, but get you and them and everyone you can to work in the same physical space for a good part of each week if not full time.

    You can try to get them to take equity, but sucessful firms generally avoid doing that unless you or your advisors have a really good track record, a solid bplan, etc., etc. If they're eager to take equity, then they may be starving. If they're good, that's ok, but it's often a sign of desparados.

    Good luck--you've chosen a hard path, but it's a lot of fun and hopefully you'll do well at it.

    - Barrie

  10. Re: Drink the Seat of the pants Kool-Aid by jhoger · · Score: 3, Flamebait

    Here's what I would do:

    Hire a couple people who have experience with seat of the pants (SOtP). They'll deliver exactly what you want, without bugs*, with a release every week.

    You tell them the most important things to do, and they'll do them in order of your priority (not some made-up technical priority). They won't do other things that they think are nice, just the parts that you ask them for. Hopefully, you'll ask them for only what is needed for your demos.

    The weekly releases are key; you can see exactly what's happening. You don't have to wait 6 months to find out that the program doesn't really work, or doesn't do what you want it to do. You'll also quickly get a usable program that does the few things that you need to demo. If at that point you realize that your product idea wasn't so hot after all, you've just saved a lot of money over what you would have spent if you hired a team that wanted to spend all kinds of time creating a flowery design and building infrastructure.

    As far as hiring seat of the pants types, try to find a local seat of the pants person who is well-respected and ask him or her for some leads. Maybe get a technical friend to help interview the programmers. But be sure to hire people who have experience working this way. You don't want to pay them to learn how do release software incrementally.

    (*By "without bugs", I mean "without known bugs". Lots of people write software and leave a lot of bugs in until the end. That hurts demos. Seat of the pants people will fix buggy code as soon as they see it. And they'll write automated tests to make sure that bug never shows up again.)

  11. Re:a different business model? by Rick+the+Red · · Score: 3, Insightful

    He's asking how to build a team before there's a product to ship. I think you'll find that most projects on Sourceforge are one-man-bands, at least until they ship useful code. Generally, an open source project doesn't get volunteers until someone's using the code and offers to help in order to add some feature they want (or just adds it and shares the patch with the original developer/s).

    --
    If all this should have a reason, we would be the last to know.
  12. Thanks and a few notes... by blastedtokyo · · Score: 3, Informative
    A big thank you to everyone who replied. The information here's been truly helpful.

    To clarify a few points, here's a little more background. First, I'm definately planning on hanging on to the project management/specs and not farming that out. I'm looking to outsource the coding because 1) I suck at it and 2) it's not what gets me excited. At my old day jobs, I worked side by side with great coders and while I know I probably couldn't afford any of them on a full time basis, I'd be doing a huge disservice to string together crud that I wrote. For me the thrill is putting a useful product in people's hands, growing a business, creating a great place to work and finding ways to do it on a shoestring.

    Second, as my handle indicates, I'm physically located in Tokyo. As a person of mediocre Japanese skills and western upbringing, finding local help at a rate that I can afford is tough. Working with someone remotely is possibly easier than working with someone locally. I'm expecting to relocate somewhere else in the world as this project grows but to get started initially I just wanted something that could be use to gauge (business) customer interest. At this point, showing off my Flash demos draws a lot of friendly "well that looks great, come back when you have something real" remarks. I'm looking to have something that people could quickly try it out on their systems for a few days and either call me a complete moron or tell me they might be able to work with me, partner up, etc. In other words, I'm looking for the proverbial proof of concept.

    Third, I'm curious about people who have suggested giving up equity in an early stage like this. I've always heard that one of the biggest mistakes of small businesses is giving up equity too early and too generously. While I realize I have little else (cash) to give, I figure it's not something to be casually thrown about, especially if someone that I ultimately have trouble working with ends up with a significant equity stake and demands to have his share bought out.

    Fourth, as far as an open source business model goes, I'd like to go that route in finding lots of grassroots help but I worry that would eliminate any advantage I had in building a business. For example, let's say I put the idea out in the public domain and managed to get 15 people interested in working (part time of course) on a GPLed version of it. If/when the project became usable by customers, there's nothing to prevent a better funded firm (like IBM) from bundling it into part of their solution offering and becoming the de facto commerical support vendor for the product.

    Finally, for those of you who wish me failure and call me gutless for not writing it myself, I have no doubt that this is no sure thing. It's exactly the reason I'm looking for contractors or oursourcing firms. It'd be downright irresponsible for me to start interviewing full time employees, hire a handful of them but know that I'd only be able to pay them for a few months before running out of cash if there were significant delays, negative customer response, etc.